nucmass_ldrop_shell.h
Go to the documentation of this file.
1 /*
2  -------------------------------------------------------------------
3 
4  Copyright (C) 2006-2017, Andrew W. Steiner
5 
6  This file is part of O2scl.
7 
8  O2scl is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 3 of the License, or
11  (at your option) any later version.
12 
13  O2scl is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with O2scl. If not, see <http://www.gnu.org/licenses/>.
20 
21  -------------------------------------------------------------------
22 */
23 /** \file nucmass_ldrop_shell.h
24  \brief File defining \ref o2scl::nucmass_ldrop_shell
25 */
26 #ifndef LDROP_SHELL_H
27 #define LDROP_SHELL_H
28 
29 #include <cmath>
30 #include <string>
31 #include <map>
32 #include <o2scl/nucleus.h>
33 #include <o2scl/nucmass.h>
34 #include <o2scl/constants.h>
35 #include <o2scl/eos_had_base.h>
36 #include <o2scl/eos_had_apr.h>
37 #include <o2scl/eos_had_rmf.h>
38 #include <o2scl/fermion_eff.h>
39 #include <o2scl/mmin_conp.h>
40 #include <o2scl/mmin_simp2.h>
41 #include <o2scl/nucmass_ldrop.h>
42 #include <o2scl/nucmass_frdm.h>
43 
44 #ifndef DOXYGEN_NO_O2NS
45 namespace o2scl {
46 #endif
47 
48  /** \brief Liquid drop model with shell effects
49  */
51  public nucmass_ibm_shell {
52 
53  public:
54 
56 
57  virtual ~nucmass_ldrop_shell() {}
58 
59  /// If true, include shell effects (default true)
60  bool inc_shell;
61 
62  /** \brief Return the free binding energy of a \nucleus in a many-body
63  environment
64  */
65  virtual double drip_binding_energy_d
66  (double Z, double N, double npout, double nnout,
67  double chi, double T);
68 
69  /// Fix parameters from an array for fitting
70  virtual int fit_fun(size_t nv, const ubvector &x);
71 
72  /// Fill array with guess from present values for fitting
73  virtual int guess_fun(size_t nv, ubvector &x);
74 
75  };
76 
77  /** \brief Mass formula adding simple shell effects to the
78  finite-range liquid droplet model
79  */
81 
82  public:
83 
85 
86  virtual ~nucmass_frdm_shell() {}
87 
88  /// Compute the mass excess
89  double mass_excess_d(double Z, double N);
90 
91  /// Fix parameters from an array for fitting
92  virtual int fit_fun(size_t nv, const ubvector &x);
93 
94  /// Fill array with guess from present values for fitting
95  virtual int guess_fun(size_t nv, ubvector &x);
96 
97  };
98 
99 #ifndef DOXYGEN_NO_O2NS
100 }
101 #endif
102 
103 #endif
Liquid drop model with shell effects.
virtual int guess_fun(size_t nv, ubvector &x)
Fill array with guess from present values for fitting.
Liquid drop model with pairing.
virtual int fit_fun(size_t nv, const ubvector &x)
Fix parameters from an array for fitting.
virtual double drip_binding_energy_d(double Z, double N, double npout, double nnout, double chi, double T)
Return the free binding energy of a nucleus nucleus in a many-body environment.
virtual double mass_excess_d(double Z, double N)
Given Z and N, return the mass excess in MeV.
Mass formula adding simple shell effects to the finite-range liquid droplet model.
bool inc_shell
If true, include shell effects (default true)

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).