eos_had_skyrme.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 eos_had_skyrme.h
24  \brief File defining \ref o2scl::eos_had_skyrme
25 */
26 #ifndef O2SCL_SKYRME_EOS_H
27 #define O2SCL_SKYRME_EOS_H
28 
29 #include <iostream>
30 #include <string>
31 #include <cmath>
32 
33 #include <o2scl/constants.h>
34 #include <o2scl/mroot.h>
35 #include <o2scl/eos_had_base.h>
36 #include <o2scl/part.h>
37 #include <o2scl/fermion_nonrel.h>
38 
39 #ifndef DOXYGEN_NO_O2NS
40 namespace o2scl {
41 #endif
42 
43  /** \brief Skyrme hadronic equation of state
44 
45  Equation of state of nucleonic matter based on
46  the Skryme interaction from \ref Skyrme59 .
47 
48  \hline
49  \b Background:
50 
51  The Hamiltonian is defined (using the notation of
52  \ref Steiner05b ) as
53  \f[
54  {\cal H} =
55  {\cal H}_{k1} +
56  {\cal H}_{k2} +
57  {\cal H}_{k3} +
58  {\cal H}_{p1} +
59  {\cal H}_{p2} +
60  {\cal H}_{p3} +
61  {\cal H}_{g1} +
62  {\cal H}_{g2} \, .
63  \f]
64 
65  The kinetic terms are:
66  \f[
67  {\cal H}_{k1} = \frac{\tau_n}{2 m_n} +
68  \frac{\tau_p}{2 m_p}
69  \f]
70  \f[
71  {\cal H}_{k2} =
72  n \left(\tau_n + \tau_p \right) \left[ \frac{t_1}{4}
73  \left( 1 + \frac{x_1}{2} \right)
74  + \frac{t_2}{4} \left( 1 + \frac{x_2}{2} \right) \right]
75  \f]
76  \f[
77  {\cal H}_{k3} =
78  \left( \tau_n n_n + \tau_p n_p \right) \left[ \frac{t_2}{4}
79  \left( \frac{1}{2} + x_2 \right)
80  - \frac{t_1}{4} \left( \frac{1}{2} + x_1 \right) \right]
81  \f]
82  where \f$ \tau_i \f$ is the Fermi gas energy density
83  of particle \f$ i \f$ .
84 
85  The potential terms are:
86  \f[
87  {\cal H}_{p1} =
88  \frac{t_0}{2}
89  \left[ \left( 1 + \frac{x_0}{2} \right) n^2 -
90  \left( {\textstyle \frac{1}{2}} + x_0 \right)
91  \left( n_n^2 + n_p^2 \right) \right]
92  \f]
93  \f[
94  {\cal H}_{p2} =
95  \frac{a t_3}{6} \left[ \left( 1 + \frac{x_3}{2} \right) n^{\alpha}
96  n_n n_p + 2^{\alpha-2} \left(1 - x_3\right)
97  \left(n_n^{\alpha+2} + n_p^{\alpha+2}\right) \right]
98  \f]
99  \f[
100  {\cal H}_{p3} =
101  \frac{b t_3}{12} \left[ \left(1 + \frac{x_3}{2} \right) n^{\alpha+2} -
102  \left(\frac{1}{2} + x_3 \right) n^{\alpha}
103  \left( n_n^2+n_p^2 \right) \right]
104  \f]
105 
106  The gradient terms are displayed here for completeness even though
107  they are not computed in the code:
108  \f[
109  {\cal H}_{g1} =
110  \frac{3}{32} \left[ t_1 \left(1 - x_1 \right) -
111  t_2 \left(1 + x_2 \right) \right] \left[ \left( \nabla n_n\right)^2 +
112  \left( \nabla n_p \right)^2 \right]
113  \f]
114  \f[
115  {\cal H}_{g2} =
116  \frac{1}{8} \left[ 3 t_1 \left( 1 +
117  \frac{x_1}{2} \right) - t_2 \left(1 + \frac{x_2}{2} \right) \right]
118  \nabla n_n \nabla n_p
119  \f]
120 
121  The values \f$ a=0, b=1 \f$ give the standard definition of the
122  Skyrme Hamiltonian \ref Skyrme59, while \f$a=1, b=0\f$ contains
123  the modifications suggested by \ref Onsi94.
124 
125  The spin-orbit term is (following \ref Steiner05)
126  \f[
127  {\cal H}_{J} = -\frac{W_0}{2} \left( n_n \vec{\nabla} \cdot
128  \vec{J}_n + n_p \vec{\nabla} \cdot \vec{J}_p + n \vec{\nabla}
129  \cdot \vec{J} \right) + \frac{t_1}{16} \left(\vec{J}_n^2 +
130  \vec{J}_p^2 - x_1 \vec{J}^2\right) - \frac{t_2}{16}
131  \left(\vec{J}_n^2 + \vec{J}_p^2 + x_2 \vec{J}^2\right)
132  \f]
133  where sometimes the \f$ \vec{J}^2 \f$ terms are not included.
134  Alternatively, one can separate the isoscalar and isovector
135  parts in the first term
136  \f[
137  {\cal H}_{J} = - b_4 n \vec{\nabla} \cdot \vec{J} -
138  b_4^{\prime} n_n \vec{\nabla} \cdot \vec{J}_n -
139  b_4^{\prime} n_p \vec{\nabla} \cdot \vec{J}_p
140  \f]
141  then the earlier Skyrme interactions have \f$ b_4 =
142  b_4^{\prime} = W_0/2 \f$. For example, for SLy4,
143  \f$ b_4 = b_4^{\prime} = W_0/2 = 61.5~\mathrm{MeV} \f$.
144 
145  Also, couple useful definitions
146  \f[
147  t_3^{\prime} = \left(a + b\right) t_3 \, ,
148  \f]
149  \f[
150  C = \frac{3 }{10 m} \left( \frac{3 \pi^2 }{2} \right)^{2/3} \, ,
151  \f]
152  and
153  \f[
154  \beta = \frac{M}{2} \left[ \frac{1}{4} \left( 3 t_1 + 5 t_2 \right) \, .
155  + t_2 x_2 \right] \\
156  \f]
157 
158  \hline
159  \b Units:
160 
161  Quantities which have units containing powers of energy are
162  divided by \f$\hbar c\f$ to ensure all quantities are in units
163  of \f$ \mathrm{fm} \f$. The \f$x_i\f$ and \f$\alpha\f$ are
164  unitless, while the original units of the \f$t_i\f$ are:
165  - \f$t_0\f$ - \f$\mathrm{MeV}\f$ \f$\mathrm{fm}^3\f$
166  - \f$t_1\f$ - \f$\mathrm{MeV}\f$ \f$\mathrm{fm}^5\f$
167  - \f$t_2\f$ - \f$\mathrm{MeV}\f$ \f$\mathrm{fm}^5\f$
168  - \f$t_3\f$ - \f$\mathrm{MeV}\f$ \f$\mathrm{fm}^{3(1+\alpha)}\f$
169 
170  These are stored internally with units of:
171  - \f$t_0\f$ - \f$\mathrm{fm}^2\f$
172  - \f$t_1\f$ - \f$\mathrm{fm}^4\f$
173  - \f$t_2\f$ - \f$\mathrm{fm}^4\f$
174  - \f$t_3\f$ - \f$\mathrm{fm}^{2+3 \alpha}\f$
175 
176  \hline
177  \b Misc:
178 
179  The functions for the usual saturation properties are based
180  partly on \ref Brack85.
181 
182  Models are taken from the references: \ref Bartel79, \ref
183  Beiner75, \ref Chabanat95, \ref Chabanat97, \ref Danielewicz09,
184  \ref Dobaczewski94, \ref Dutta86, \ref Friedrich86, \ref Onsi94,
185  \ref Reinhard95, and \ref Tondeur84, and \ref VanGiai81 .
186 
187  The variables \f$ \nu_n\f$ and \f$ \nu_p\f$ contain the
188  expressions \f$ (-\mu_n+V_n)/T \f$ and \f$ (-\mu_p+V_p)/T \f$
189  respectively, where \f$ V \f$ is the potential part of the
190  single particle energy for particle i (i.e. the derivative of
191  the Hamiltonian w.r.t. density while energy density held
192  constant). Equivalently, \f$ \nu_n\f$ is just \f$ -k_{F_n}^2/ 2
193  m^{*} \f$.
194 
195  \note The finite temperature code does not include attempt to
196  include antiparticles and uses \ref
197  o2scl::fermion_nonrel::calc_density(). At finite temperature,
198  pure neutron matter implies a zero proton number density which
199  would imply that the proton chemical potential is \f$ - \infty
200  \f$ . This class handles this situation by just setting \f$
201  \nu_p \f$ to zero. The case of pure proton matter is handled
202  similarly.
203 
204  \note Since this EOS uses the effective masses and chemical
205  potentials in the fermion class, the values of
206  <tt>part::non_interacting</tt> for neutrons and protons are set
207  to false in many of the functions.
208 
209  \hline
210 
211  \todo
212  - Convert W0 to b4 and b4p everywhere
213  - Remove use of mnuc in calparfun()?
214  - Document \ref o2scl_hdf::skyrme_load() file format.
215  - Update reference list.
216 
217  \future
218  - There is some code duplication between calc_e() and
219  calc_temp_e() which could be simplified.
220  - This EOS typically converges very well. One exception seems
221  to be using <tt>calc_temp_p()</tt> at very low densities. I have
222  had problems, for example, with <tt>mun=5.0, mup=6.5</tt>
223  at <tt>T=1.0/197.33</tt>.
224 
225  \hline
226 
227  */
229 
230  public:
231 
232  /// \name Basic usage
233  //@{
234  /// Create a blank Skyrme EOS
235  eos_had_skyrme();
236 
237  /// Destructor
238  virtual ~eos_had_skyrme() {};
239 
240  /** \brief Equation of state as a function of densities
241 
242  \note Runs the zero temperature code if \c temper is less
243  than or equal to zero.
244  */
245  virtual int calc_temp_e(fermion &ne, fermion &pr, double temper,
246  thermo &th);
247 
248  /// Equation of state as a function of density.
249  virtual int calc_e(fermion &ne, fermion &pr, thermo &lt);
250  //@}
251 
252  /// \name Basic Skyrme model parameters
253  //@{
254  double t0,t1,t2,t3,x0,x1,x2,x3,alpha,a,b;
255  //@}
256 
257  /** \brief Spin-orbit splitting (in \f$ \mathrm{fm}^{-1} \f$)
258 
259  This is unused, but included for possible future use and
260  present in the internally stored models.
261  */
262  double W0;
263 
264  /// Isoscalar spin-orbit term (in \f$ \mathrm{fm}^{-1} \f$)
265  double b4;
266 
267  /// Isovector spin-orbit term (in \f$ \mathrm{fm}^{-1} \f$)
268  double b4p;
269 
270  /// Bibliographic reference
271  std::string reference;
272 
273  /** \name Saturation properties
274 
275  These calculate the various saturation properties exactly from
276  the parameters at any density. These routines often assume that
277  the neutron and proton masses are equal.
278  */
279  //@{
280 
281  /** \brief Calculate binding energy
282 
283  \f[
284  \frac{E}{A} = C n_B^{2/3} \left( 1 + \beta n_B \right) +
285  \frac{3 t_0}{8} n_B + \frac{t_3^{\prime}}{16} n_B^{\alpha+1}
286  \f]
287  */
288  virtual double feoa(double nb);
289 
290  /** \brief Calculate effective mass
291 
292  \f[
293  M^{*}/M = \left(1+ \beta n_B \right)^{-1} \\
294  \f]
295  */
296  virtual double fmsom(double nb);
297 
298  /** \brief Calculate compressibility
299 
300  \f[
301  K = 10 C n_B^{2/3} + \frac{27}{4} t_0 n_B + 40 C \beta n_B^{5/3} +
302  \frac{9 t_3^{\prime}}{16}
303  \alpha \left( \alpha+1 \right) n_B^{1 + \alpha} +
304  \frac{9 t_3^{\prime}}{8} \left( \alpha+1 \right) n_B^{1 + \alpha}
305  \f]
306  */
307  virtual double fcomp(double nb);
308 
309  /** \brief Calculate symmetry energy
310 
311  If pf=0.5, then the exact expression below is used.
312  Otherwise, the method from class eos_had_base is used.
313 
314  \f[
315  E_{sym} = \frac{5}{9} C n^{2/3} + \frac{10 C m}{3}
316  \left[ \frac{t_2}{6} \left(1 + \frac{5}{4} x_2 \right) -
317  \frac{1}{8} t_1 x_1 \right] n^{5/3}
318  - \frac{t_3^{\prime}}{24}
319  \left({\textstyle \frac{1}{2}} + x_3 \right) n^{1+\alpha} -
320  \frac{t_0}{4} \left( {\textstyle \frac{1}{2}} + x_0 \right) n
321  \f]
322  */
323  virtual double fesym(double nb, double alpha=0.0);
324 
325  /** \brief skewness
326 
327  \f[
328  2 C n_B^{2/3} \left(9-5/M^{*}/M\right)+
329  \frac{27 t_3^{\prime}}{16} n^{1+\alpha} \alpha
330  \left(\alpha^2-1\right)
331  \f]
332  */
333  virtual double fkprime(double nb);
334  //@}
335 
336  /** \brief Calculate \f$ t_0,t_1,t_2,t_3 \f$ and \f$ \alpha \f$ from
337  the saturation properties.
338 
339  In nuclear matter:
340 
341  \f$ E_b=E_b(n_0,M^{*},t_0,t_3,\alpha) \f$ \n
342  \f$ P=P(n_0,M^{*},t_0,t_3,\alpha) \f$ \n
343  \f$ K=K(n_0,M^{*},t_3,\alpha) \f$
344  (the \f$ t_0 \f$ dependence vanishes) \n
345  \f$ M^{*}=M^{*}(n_0,t_1,t_2,x_2) \f$
346  (the \f$ x_1 \f$ dependence cancels), \n
347  \f$ E_{sym}=E_{sym}(x_0,x_1,x_2,x_3,t_0,t_1,t_2,t_3,\alpha) \f$
348 
349  To fix the couplings from the saturation properties, we take
350  \f$ n_0, M^{*}, E_b, K \f$ as inputs, and we can fix \f$
351  t_0,t_3,\alpha \f$ from the first three relations, then use
352  \f$ M^{*}, E_b \f$ to fix \f$ t_2 \f$ and \f$ t_1 \f$. The
353  separation into two solution steps should make for better
354  convergence. All of the x's are free parameters and should be
355  set before the function call.
356 
357  The arguments \c gt0, \c gt3, \c galpha, \c gt1, and \c gt2
358  are used as initial guesses for skyme_eos::t0, eos_had_skyrme::t3,
359  eos_had_skyrme::alpha, eos_had_skyrme::t1, and eos_had_skyrme::t2
360  respectively.
361 
362  \todo Does this work for both 'a' and 'b' non-zero?
363 
364  \todo Compare to similar formulas in \ref Margueron02
365  */
366  int calpar(double gt0=-10.0, double gt3=70.0, double galpha=0.2,
367  double gt1=2.0, double gt2=-1.0);
368 
369  // Unfinished.
370  /* \brief
371  From \ref Margueron02
372  */
373  // int calpar_new(double m);
374 
375  /** \brief Use eos_had_base methods for saturation properties
376 
377  This can be set to true to check the difference between
378  the exact expressions and the numerical values from
379  class eos_had_base.
380  */
382 
383  /** \brief Check the Landau parameters for instabilities
384 
385  This returns zero if there are no instabilities.
386  */
387  int check_landau(double nb, double m);
388 
389  /** \brief Calculate the Landau parameters for nuclear matter
390 
391  Given \c n0 and \c m, this calculates the Landau parameters in
392  nuclear matter as given in \ref Margueron02
393 
394  \todo This needs to be checked.
395 
396  (Checked once on 11/05/03)
397  */
398  void landau_nuclear(double n0, double m,
399  double &f0, double &g0, double &f0p,
400  double &g0p, double &f1, double &g1,
401  double &f1p, double &g1p);
402 
403  /** \brief Calculate the Landau parameters for neutron matter
404 
405  Given 'n0' and 'm', this calculates the Landau parameters in
406  neutron matter as given in \ref Margueron02
407 
408  \todo This needs to be checked
409 
410  (Checked once on 11/05/03)
411  */
412  void landau_neutron(double n0, double m, double &f0, double &g0,
413  double &f1, double &g1);
414 
415  /// Return string denoting type ("eos_had_skyrme")
416  virtual const char *type() { return "eos_had_skyrme"; }
417 
418  /** \brief Set using alternate parameterization
419 
420  From \ref Bender03 as in, e.g. \ref Kortelainen14
421  \f{eqnarray*}
422  C^{\rho \rho}_{00} &=& 3 t_0/8 \nonumber \\
423  C^{\rho \rho}_{10} &=& -t_0/4 \left(\frac{1}{2}+x_0 \right)
424  \nonumber \\
425  C^{\rho \rho}_{0D} &=& t_3/16 \nonumber \\
426  C^{\rho \rho}_{1D} &=& -t_3/24 \left(\frac{1}{2}+x_3\right)
427  \nonumber \\
428  C^{\rho \tau}_{0} &=& 3 t_1/16+t_2/4\left(\frac{5}{4}+x_2\right)
429  \nonumber \\
430  C^{\rho \tau}_{1} &=& -t_1/8 \left(\frac{1}{2}+x_1\right) +
431  t_2/8 \left(\frac{1}{2}+x_2\right) \nonumber \\
432  C^{\rho \Delta \rho}_{0} &=& -9/64 t_1+t_2/16
433  \left(\frac{5}{4}+x_2\right) \nonumber \\
434  C^{\rho \Delta \rho}_{1} &=& 3/32 t_1 \left(\frac{1}{2}+x_1\right) +
435  t_2/32 \left(\frac{1}{2}+x_2\right) \nonumber \\
436  C^{\rho \nabla J}_{0} &=& -b_4 -b_4^{\prime}/2 \nonumber \\
437  C^{\rho \nabla J}_{1} &=& -b_4^{\prime}/2
438  \f}
439 
440  The parameters should have the following units
441  - <tt>Crr00</tt>: \f$ \mathrm{fm}^2 \f$
442  - <tt>Crr10</tt>: \f$ \mathrm{fm}^2 \f$
443  - <tt>Crr0D</tt>: \f$ \mathrm{fm}^{3 \alpha+2} \f$
444  - <tt>Crr1D</tt>: \f$ \mathrm{fm}^{3 \alpha+2} \f$
445  - <tt>Crt0</tt>: \f$ \mathrm{fm}^4 \f$
446  - <tt>Crt1</tt>: \f$ \mathrm{fm}^4 \f$
447  - <tt>CrDr0</tt>: \f$ \mathrm{fm}^4 \f$
448  - <tt>CrDr1</tt>: \f$ \mathrm{fm}^4 \f$
449  - <tt>CrnJ0</tt>: \f$ \mathrm{fm}^{-1} \f$
450  - <tt>CrnJ1</tt>: \f$ \mathrm{fm}^{-1} \f$
451  - <tt>alpha2</tt>: unitless
452 
453  \todo These expressions are not exactly the same
454  as those in \ref Bender03, so I need to find out why
455  and make this more clear.
456  */
457  void alt_params_set
458  (double Crr00, double Crr10, double Crr0D, double Crr1D,
459  double Crt0, double Crt1, double CrDr0, double CrDr1,
460  double CrnJ0, double CrnJ1, double alpha2);
461 
462  /** \brief Get alternate parameterization
463 
464  The parameters will have the following units
465  - <tt>Crr00</tt>: \f$ \mathrm{fm}^2 \f$
466  - <tt>Crr10</tt>: \f$ \mathrm{fm}^2 \f$
467  - <tt>Crr0D</tt>: \f$ \mathrm{fm}^{3 \alpha+2} \f$
468  - <tt>Crr1D</tt>: \f$ \mathrm{fm}^{3 \alpha+2} \f$
469  - <tt>Crt0</tt>: \f$ \mathrm{fm}^4 \f$
470  - <tt>Crt1</tt>: \f$ \mathrm{fm}^4 \f$
471  - <tt>CrDr0</tt>: \f$ \mathrm{fm}^4 \f$
472  - <tt>CrDr1</tt>: \f$ \mathrm{fm}^4 \f$
473  - <tt>CrnJ0</tt>: \f$ \mathrm{fm}^{-1} \f$
474  - <tt>CrnJ1</tt>: \f$ \mathrm{fm}^{-1} \f$
475  - <tt>alpha2</tt>: unitless
476 
477  See \ref eos_had_skyrme::alt_params_set().
478  */
479  void alt_params_get
480  (double &Crr00, double &Crr10, double &Crr0D, double &Crr1D,
481  double &Crt0, double &Crt1, double &CrDr0, double &CrDr1,
482  double &CrnJ0, double &CrnJ1, double &alpha2);
483 
484  /** \brief Use the specified saturation properties and couplings
485  and the function \ref alt_params_set() to set the
486  Skyrme coefficients
487 
488  This function uses the relations in \ref Kortelainen10 .
489  The parameters should have the following units
490  - <tt>n0</tt>: \f$ \mathrm{fm}^{-3} \f$
491  - <tt>EoA</tt>: \f$ \mathrm{fm}^{-1} \f$
492  - <tt>K</tt>: \f$ \mathrm{fm}^{-1} \f$
493  - <tt>Ms_star</tt>: unitless
494  - <tt>a</tt>: \f$ \mathrm{fm}^{-1} \f$
495  - <tt>L</tt>: \f$ \mathrm{fm}^{-1} \f$
496  - <tt>Mv_star</tt>: unitless
497  - <tt>CrDr0</tt>: \f$ \mathrm{fm}^{-3} \f$
498  - <tt>CrDr1</tt>: \f$ \mathrm{fm}^{-3} \f$
499  - <tt>CrnJ0</tt>: \f$ \mathrm{fm}^{-3} \f$
500  - <tt>CrnJ1</tt>: \f$ \mathrm{fm}^{-3} \f$
501 
502  \ref Kortelainen10 assumed equal neutron and proton masses, so
503  this function uses \f$ \hbar^2/(2m) = \hbar^2/(m_n+m_p) \f$
504  and the neutron and proton masses in \ref
505  eos_had_base::def_neutron and \ref eos_had_base::def_proton,
506  respectively. To obtain the results in the original paper, set
507  neutron and proton masses to ensure that \f$ \hbar^2/(2m) =
508  20.73553~\mathrm{MeV}~\mathrm{fm}^2 \f$ .
509  */
511  (double n0, double EoA, double K, double Ms_star, double a, double L,
512  double Mv_star, double CrDr0, double CrDr1, double CrnJ0, double CrnJ1);
513 
514 #ifndef DOXYGEN_NO_O2NS
515 
516  protected:
517 
518  /// Thermodynamics of non-relativistic fermions
520 
521  /// \name Functions and parameters for calpar()
522  //@{
523  int calparfun(size_t nv, const ubvector &x, ubvector &y);
524  int calparfun2(size_t nv, const ubvector &x, ubvector &y);
525  double fixn0, fixeoa, fixesym, fixcomp, fixmsom;
526  //@}
527 
528 #endif
529 
530  };
531 
532 #ifndef DOXYGEN_NO_O2NS
533 }
534 #endif
535 
536 #endif
fermion_nonrel nrf
Thermodynamics of non-relativistic fermions.
std::string reference
Bibliographic reference.
virtual ~eos_had_skyrme()
Destructor.
virtual const char * type()
Return string denoting type ("eos_had_skyrme")
virtual int calc_e(fermion &ne, fermion &pr, thermo &lt)
Equation of state as a function of density.
void landau_neutron(double n0, double m, double &f0, double &g0, double &f1, double &g1)
Calculate the Landau parameters for neutron matter.
double W0
Spin-orbit splitting (in )
A hadronic EOS at finite temperature based on a function of the densities [abstract base]...
double n0
Saturation density in .
Definition: eos_had_base.h:346
virtual double fcomp(double nb)
Calculate compressibility.
virtual double feoa(double nb)
Calculate binding energy.
virtual int calc_temp_e(fermion &ne, fermion &pr, double temper, thermo &th)
Equation of state as a function of densities.
virtual double fmsom(double nb)
Calculate effective mass.
void alt_params_saturation(double n0, double EoA, double K, double Ms_star, double a, double L, double Mv_star, double CrDr0, double CrDr1, double CrnJ0, double CrnJ1)
Use the specified saturation properties and couplings and the function alt_params_set() to set the Sk...
virtual double fkprime(double nb)
skewness
int check_landau(double nb, double m)
Check the Landau parameters for instabilities.
eos_had_skyrme()
Create a blank Skyrme EOS.
virtual double fesym(double nb, double alpha=0.0)
Calculate symmetry energy.
Skyrme hadronic equation of state.
int calpar(double gt0=-10.0, double gt3=70.0, double galpha=0.2, double gt1=2.0, double gt2=-1.0)
Calculate and from the saturation properties.
bool parent_method
Use eos_had_base methods for saturation properties.
double b4
Isoscalar spin-orbit term (in )
void alt_params_get(double &Crr00, double &Crr10, double &Crr0D, double &Crr1D, double &Crt0, double &Crt1, double &CrDr0, double &CrDr1, double &CrnJ0, double &CrnJ1, double &alpha2)
Get alternate parameterization.
double b4p
Isovector spin-orbit term (in )
void landau_nuclear(double n0, double m, double &f0, double &g0, double &f0p, double &g0p, double &f1, double &g1, double &f1p, double &g1p)
Calculate the Landau parameters for nuclear matter.
void alt_params_set(double Crr00, double Crr10, double Crr0D, double Crr1D, double Crt0, double Crt1, double CrDr0, double CrDr1, double CrnJ0, double CrnJ1, double alpha2)
Set using alternate parameterization.

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