#include <G4StatMFMacroBiNucleon.hh>
Inheritance diagram for G4StatMFMacroBiNucleon:
Public Member Functions | |
G4StatMFMacroBiNucleon () | |
~G4StatMFMacroBiNucleon () | |
G4double | CalcMeanMultiplicity (const G4double FreeVol, const G4double mu, const G4double nu, const G4double T) |
G4double | CalcZARatio (const G4double) |
G4double | CalcEnergy (const G4double T) |
G4double | CalcEntropy (const G4double T, const G4double FreeVol) |
Definition at line 38 of file G4StatMFMacroBiNucleon.hh.
G4StatMFMacroBiNucleon::G4StatMFMacroBiNucleon | ( | ) | [inline] |
G4StatMFMacroBiNucleon::~G4StatMFMacroBiNucleon | ( | ) | [inline] |
Implements G4VStatMFMacroCluster.
Definition at line 87 of file G4StatMFMacroBiNucleon.cc.
References G4VStatMFMacroCluster::_Energy, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00088 { 00089 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00090 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00091 00092 _Energy = -G4NucleiProperties::GetBindingEnergy(theA,1) + 00093 Coulomb * theZARatio * theZARatio * std::pow(G4double(theA),5./3.) + 00094 (3./2.) * T; 00095 00096 return _Energy; 00097 }
Implements G4VStatMFMacroCluster.
Definition at line 101 of file G4StatMFMacroBiNucleon.cc.
References G4VStatMFMacroCluster::_MeanMultiplicity, and G4VStatMFMacroCluster::theA.
00102 { 00103 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00104 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00105 00106 G4double Entropy = 0.0; 00107 if (_MeanMultiplicity > 0.0) 00108 // Is this formula correct? 00109 Entropy = _MeanMultiplicity*(5./2.+ 00110 std::log(3.0*static_cast<G4double>(theA)* 00111 std::sqrt(static_cast<G4double>(theA))*FreeVol/ 00112 (lambda3*_MeanMultiplicity))); 00113 00114 00115 return Entropy; 00116 }
G4double G4StatMFMacroBiNucleon::CalcMeanMultiplicity | ( | const G4double | FreeVol, | |
const G4double | mu, | |||
const G4double | nu, | |||
const G4double | T | |||
) | [virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 60 of file G4StatMFMacroBiNucleon.cc.
References G4VStatMFMacroCluster::_MeanMultiplicity, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00062 { 00063 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00064 00065 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00066 00067 const G4double degeneracy = 3.0; 00068 00069 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00070 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00071 00072 const G4double BindingE = G4NucleiProperties::GetBindingEnergy(theA,1); //old value was 2.796*MeV 00073 G4double exponent = (BindingE + theA*(mu+nu*theZARatio) - 00074 Coulomb*theZARatio*theZARatio*std::pow(G4double(theA),5./3.))/T; 00075 00076 // To avoid numerical problems 00077 if (exponent < -700.0) exponent = -700.0; 00078 else if (exponent > 700.0) exponent = 700.0; 00079 00080 _MeanMultiplicity = (degeneracy*FreeVol*static_cast<G4double>(theA)*std::sqrt(static_cast<G4double>(theA))/lambda3)* 00081 std::exp(exponent); 00082 00083 return _MeanMultiplicity; 00084 }
G4double G4StatMFMacroBiNucleon::CalcZARatio | ( | const | G4double | ) | [inline, virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 66 of file G4StatMFMacroBiNucleon.hh.
References G4VStatMFMacroCluster::theZARatio.
00066 {return theZARatio = 0.5;}