#include <G4StatMFMacroTriNucleon.hh>
Inheritance diagram for G4StatMFMacroTriNucleon:
Public Member Functions | |
G4StatMFMacroTriNucleon () | |
~G4StatMFMacroTriNucleon () | |
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 G4StatMFMacroTriNucleon.hh.
G4StatMFMacroTriNucleon::G4StatMFMacroTriNucleon | ( | ) | [inline] |
G4StatMFMacroTriNucleon::~G4StatMFMacroTriNucleon | ( | ) | [inline] |
Implements G4VStatMFMacroCluster.
Definition at line 88 of file G4StatMFMacroTriNucleon.cc.
References G4VStatMFMacroCluster::_Energy, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00089 { 00090 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00091 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00092 00093 return _Energy = -G4NucleiProperties::GetBindingEnergy(theA,1) + 00094 Coulomb * theZARatio * theZARatio * std::pow(static_cast<G4double>(theA),5./3.) + 00095 (3./2.) * T; 00096 00097 }
G4double G4StatMFMacroTriNucleon::CalcEntropy | ( | const G4double | T, | |
const G4double | FreeVol | |||
) | [virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 100 of file G4StatMFMacroTriNucleon.cc.
References G4VStatMFMacroCluster::_MeanMultiplicity, and G4VStatMFMacroCluster::theA.
00101 { 00102 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00103 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00104 00105 G4double Entropy = 0.0; 00106 if (_MeanMultiplicity > 0.0) 00107 Entropy = _MeanMultiplicity*(5./2.+ 00108 std::log(4.0*static_cast<G4double>(theA)* 00109 std::sqrt(static_cast<G4double>(theA))*FreeVol/(lambda3*_MeanMultiplicity))); 00110 00111 00112 return Entropy; 00113 }
G4double G4StatMFMacroTriNucleon::CalcMeanMultiplicity | ( | const G4double | FreeVol, | |
const G4double | mu, | |||
const G4double | nu, | |||
const G4double | T | |||
) | [virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 61 of file G4StatMFMacroTriNucleon.cc.
References G4VStatMFMacroCluster::_MeanMultiplicity, G4NucleiProperties::GetBindingEnergy(), G4StatMFParameters::GetKappaCoulomb(), G4StatMFParameters::Getr0(), G4VStatMFMacroCluster::theA, and G4VStatMFMacroCluster::theZARatio.
00063 { 00064 const G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T); 00065 00066 const G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght; 00067 00068 const G4double degeneracy = 2.0+2.0; // H3 + He3 00069 00070 const G4double Coulomb = (3./5.)*(elm_coupling/G4StatMFParameters::Getr0())* 00071 (1.0 - 1.0/std::pow(1.0+G4StatMFParameters::GetKappaCoulomb(),1./3.)); 00072 00073 const G4double BindingE = G4NucleiProperties::GetBindingEnergy(theA,1); // old value was 9.224*MeV 00074 // + G4NucleiProperties::GetBindingEnergy(theA,2); 00075 00076 G4double exponent = (BindingE+ theA*(mu+nu*theZARatio) - 00077 Coulomb*theZARatio*theZARatio*std::pow(static_cast<G4double>(theA),5./3.))/T; 00078 if (exponent > 700.0) exponent = 700.0; 00079 00080 _MeanMultiplicity = (degeneracy*FreeVol*static_cast<G4double>(theA)* 00081 std::sqrt(static_cast<G4double>(theA))/lambda3)* 00082 std::exp(exponent); 00083 00084 return _MeanMultiplicity; 00085 }
G4double G4StatMFMacroTriNucleon::CalcZARatio | ( | const | G4double | ) | [inline, virtual] |
Implements G4VStatMFMacroCluster.
Definition at line 64 of file G4StatMFMacroTriNucleon.hh.
References G4VStatMFMacroCluster::theZARatio.
00064 {return theZARatio = 0.5;}