#include <G4StatMFMacroTetraNucleon.hh>
Inheritance diagram for G4StatMFMacroTetraNucleon:
Public Member Functions | |
G4StatMFMacroTetraNucleon () | |
~G4StatMFMacroTetraNucleon () | |
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 G4StatMFMacroTetraNucleon.hh.
G4StatMFMacroTetraNucleon::G4StatMFMacroTetraNucleon | ( | ) | [inline] |
G4StatMFMacroTetraNucleon::~G4StatMFMacroTetraNucleon | ( | ) | [inline] |
Implements G4VStatMFMacroCluster.
Definition at line 95 of file G4StatMFMacroTetraNucleon.cc.
References G4VStatMFMacroCluster::_Energy, G4VStatMFMacroCluster::_InvLevelDensity, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00096 { 00097 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00098 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00099 00100 return _Energy = -G4NucleiProperties::GetBindingEnergy(theA,2) + 00101 Coulomb * theZARatio * theZARatio * std::pow(static_cast<G4double>(theA),5./3.) + 00102 (3./2.) * T + 00103 theA * T*T/_InvLevelDensity; 00104 00105 }
G4double G4StatMFMacroTetraNucleon::CalcEntropy | ( | const G4double | T, | |
const G4double | FreeVol | |||
) | [virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 109 of file G4StatMFMacroTetraNucleon.cc.
References G4VStatMFMacroCluster::_InvLevelDensity, and G4VStatMFMacroCluster::_MeanMultiplicity.
00110 { 00111 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00112 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00113 00114 G4double Entropy = 0.0; 00115 if (_MeanMultiplicity > 0.0) 00116 Entropy = _MeanMultiplicity*(5./2.+ 00117 std::log(8.0*FreeVol/(lambda3*_MeanMultiplicity)))+ // 8 = theA*std::sqrt(theA) 00118 8.0*T/_InvLevelDensity; 00119 00120 return Entropy; 00121 }
G4double G4StatMFMacroTetraNucleon::CalcMeanMultiplicity | ( | const G4double | FreeVol, | |
const G4double | mu, | |||
const G4double | nu, | |||
const G4double | T | |||
) | [virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 69 of file G4StatMFMacroTetraNucleon.cc.
References G4VStatMFMacroCluster::_InvLevelDensity, G4VStatMFMacroCluster::_MeanMultiplicity, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00071 { 00072 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00073 00074 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00075 00076 const G4double degeneracy = 1; // He4 00077 00078 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00079 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00080 00081 const G4double BindingE = G4NucleiProperties::GetBindingEnergy(theA,2); //old value was 30.11*MeV 00082 00083 G4double exponent = (BindingE + theA*(mu+nu*theZARatio+T*T/_InvLevelDensity) - 00084 Coulomb*theZARatio*theZARatio*std::pow(static_cast<G4double>(theA),5./3.))/T; 00085 if (exponent > 700.0) exponent = 700.0; 00086 00087 _MeanMultiplicity = ( degeneracy*FreeVol* static_cast<G4double>(theA)* 00088 std::sqrt(static_cast<G4double>(theA))/lambda3)* 00089 std::exp(exponent); 00090 00091 return _MeanMultiplicity; 00092 }
G4double G4StatMFMacroTetraNucleon::CalcZARatio | ( | const | G4double | ) | [inline, virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 64 of file G4StatMFMacroTetraNucleon.hh.
References G4VStatMFMacroCluster::theZARatio.
00064 {return theZARatio = 0.5;}