Go to the documentation of this file.
23 #ifndef NUCMASS_DENSMAT_H
24 #define NUCMASS_DENSMAT_H
26 #include <boost/numeric/ublas/vector.hpp>
28 #include <o2scl/classical.h>
29 #include <o2scl/fermion_rel.h>
30 #include <o2scl/fermion_deriv_rel.h>
31 #include <o2scl/boson_rel.h>
33 #include <o2scl/nucmass_frdm.h>
34 #include <o2scl/nucmass_ame.h>
35 #include <o2scl/nucdist.h>
36 #include <o2scl/hdf_nucmass_io.h>
43 #ifndef DOXYGEN_NO_O2NS
89 std::vector<o2scl::nucleus>
dist;
123 for (
size_t i=0;i<dm.
dist.size();i++) {
149 for (
size_t i=0;i<dm.
dist.size();i++) {
165 void output(std::ostream &out,
int verbose=1);
294 virtual const char *
type() {
return "nucmass_densmat"; }
305 double &t3,
double &t4);
326 (
double Z,
double N,
double npout,
double nnout,
327 double nneg,
double T,
double &E,
double &dEdnp,
double &dEdnn,
328 double &dEdnneg,
double &dEdT);
334 (
double Z,
double N,
double npout,
double nnout,
335 double nneg,
double T,
double &E);
339 #ifndef DOXYGEN_NO_O2NS
dense_matter(const dense_matter &dm)
Copy constructor.
double nB
Baryon number density (in )
virtual const char * type()
Return the type, "nucmass_densmat".
double impurity()
Compute the impurity parameter.
o2scl::thermo th
Total thermodynamic quantities.
double Ye
Electron fraction.
double baryon_density_nuclei()
Compute the baryon density in nuclei.
double average_Z()
Compute the number-averaged proton number.
virtual void binding_energy_densmat_derivs(double Z, double N, double npout, double nnout, double nneg, double T, double &E, double &dEdnp, double &dEdnn, double &dEdnneg, double &dEdT)
Compute the binding energy of a nucleus in dense matter and derivatives.
o2scl::thermo drip_th
Thermodynamic quantities for dripped particles.
double average_N()
Compute the number-averaged neutron number.
o2scl::fermion e
Electrons.
void set_mass(nucmass &nm)
Set base nuclear masses.
o2scl::fermion n
Neutrons.
virtual void test_derivatives(double eps, double &t1, double &t2, double &t3, double &t4)
Test the derivatives for binding_energy_densmat_derivs()
double np_tot()
Compute total density of protons.
dense_matter & operator=(const dense_matter &dm)
Copy constructor with operator=()
void copy_densities_from(dense_matter &dm2)
Copy densities from those stored in another dense_matter object.
ubvector eta_nuc
Nuclear chemical potentials.
nucmass * massp
Pointer to the nuclear mass formula.
std::vector< o2scl::nucleus > dist
Distribution of nuclei.
A nuclear mass formula for dense matter.
double eta_p
Proton chemical potential.
void prune_distribution(double factor)
Remove nuclei from the distribution which have a small density.
double eta_n
Neutron chemical potential.
double baryon_density()
Compute the total baryon density.
Nuclear mass formula base [abstract base].
A container for the properties of dense matter at a specified baryon density, electron fraction and t...
double electron_fraction()
Compute the electron fraction.
double nn_tot()
Compute total density of neutrons.
double T
Temperature (in )
dense_matter()
Constructor.
virtual void binding_energy_densmat(double Z, double N, double npout, double nnout, double nneg, double T, double &E)
Compute the binding energy of a nucleus in dense matter without the derivatives.
double average_a()
Compute an average inter-ionic spacing.
double average_A()
Compute the number-averaged mass number.
bool nuc_in_dist(int Z, int N, size_t &index)
Return true if nucleus (Z,N) is in the distribution and store it's index in index.
o2scl::boson photon
Photons.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).