Import Geant4 10.3.0 source tree
This commit is contained in:
+11
-11
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFChannel.cc 92144 2015-08-19 14:25:18Z gcosmo $
|
||||
// $Id: G4StatMFChannel.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -165,9 +165,9 @@ void G4StatMFChannel::PlaceFragments(G4int anA)
|
||||
// This gives the position of fragments at the breakup instant.
|
||||
// Fragments positions are sampled inside prolongated ellipsoid.
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
const G4double R0 = G4StatMFParameters::Getr0();
|
||||
G4double Rsys = 2.0*R0*g4pow->Z13(anA);
|
||||
G4double Rsys = 2.0*R0*g4calc->Z13(anA);
|
||||
|
||||
G4bool TooMuchIterations;
|
||||
do
|
||||
@@ -175,8 +175,8 @@ void G4StatMFChannel::PlaceFragments(G4int anA)
|
||||
TooMuchIterations = false;
|
||||
|
||||
// Sample the position of the first fragment
|
||||
G4double R = (Rsys - R0*g4pow->Z13(_theFragments[0]->GetA()))*
|
||||
g4pow->A13(G4UniformRand());
|
||||
G4double R = (Rsys - R0*g4calc->Z13(_theFragments[0]->GetA()))*
|
||||
g4calc->A13(G4UniformRand());
|
||||
_theFragments[0]->SetPosition(IsotropicVector(R));
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ void G4StatMFChannel::PlaceFragments(G4int anA)
|
||||
G4int counter = 0;
|
||||
do
|
||||
{
|
||||
R = (Rsys - R0*g4pow->Z13((*i)->GetA()))*g4pow->A13(G4UniformRand());
|
||||
R = (Rsys - R0*g4calc->Z13((*i)->GetA()))*g4calc->A13(G4UniformRand());
|
||||
(*i)->SetPosition(IsotropicVector(R));
|
||||
|
||||
// Check that there are not overlapping fragments
|
||||
@@ -197,8 +197,8 @@ void G4StatMFChannel::PlaceFragments(G4int anA)
|
||||
{
|
||||
G4ThreeVector FragToFragVector =
|
||||
(*i)->GetPosition() - (*j)->GetPosition();
|
||||
G4double Rmin = R0*(g4pow->Z13((*i)->GetA()) +
|
||||
g4pow->Z13((*j)->GetA()));
|
||||
G4double Rmin = R0*(g4calc->Z13((*i)->GetA()) +
|
||||
g4calc->Z13((*j)->GetA()));
|
||||
if ( (ThereAreOverlaps = (FragToFragVector.mag2() < Rmin*Rmin)))
|
||||
{ break; }
|
||||
}
|
||||
@@ -348,10 +348,10 @@ void G4StatMFChannel::SolveEqOfMotion(G4int anA, G4int anZ, G4double T)
|
||||
// This method will find a solution of Newton's equation of motion
|
||||
// for fragments in the self-consistent time-dependent Coulomb field
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double CoulombEnergy = 0.6*elm_coupling*anZ*anZ*
|
||||
g4pow->A13(1.0+G4StatMFParameters::GetKappaCoulomb())/
|
||||
(G4StatMFParameters::Getr0()*g4pow->Z13(anA)) - GetFragmentsCoulombEnergy();
|
||||
g4calc->A13(1.0+G4StatMFParameters::GetKappaCoulomb())/
|
||||
(G4StatMFParameters::Getr0()*g4calc->Z13(anA)) - GetFragmentsCoulombEnergy();
|
||||
if (CoulombEnergy <= 0.0) return;
|
||||
|
||||
G4int Iterations = 0;
|
||||
|
||||
+9
-9
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMacroCanonical.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMacroCanonical.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
// --------------------------------------------------------------------
|
||||
@@ -74,14 +74,14 @@ void G4StatMFMacroCanonical::Initialize(const G4Fragment & theFragment)
|
||||
G4int A = theFragment.GetA_asInt();
|
||||
G4int Z = theFragment.GetZ_asInt();
|
||||
G4double x = 1.0 - 2.0*Z/G4double(A);
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
|
||||
// Free Internal energy at T = 0
|
||||
__FreeInternalE0 = A*( -G4StatMFParameters::GetE0() + // Volume term (for T = 0)
|
||||
G4StatMFParameters::GetGamma0()*x*x) // Symmetry term
|
||||
+ G4StatMFParameters::GetBeta0()*g4pow->Z23(A) + // Surface term (for T = 0)
|
||||
+ G4StatMFParameters::GetBeta0()*g4calc->Z23(A) + // Surface term (for T = 0)
|
||||
0.6*elm_coupling*Z*Z/(G4StatMFParameters::Getr0()* // Coulomb term
|
||||
g4pow->Z13(A));
|
||||
g4calc->Z13(A));
|
||||
|
||||
CalculateTemperature(theFragment);
|
||||
return;
|
||||
@@ -99,9 +99,9 @@ void G4StatMFMacroCanonical::CalculateTemperature(const G4Fragment & theFragment
|
||||
G4double FragMult = std::max((1.0+(2.31/MeV)*(U/A - 3.5*MeV))*A/100.0, 2.0);
|
||||
|
||||
// Parameter Kappa
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
_Kappa = (1.0+elm_coupling*(g4pow->A13(FragMult)-1)/
|
||||
(G4StatMFParameters::Getr0()*g4pow->Z13(A)));
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
_Kappa = (1.0+elm_coupling*(g4calc->A13(FragMult)-1)/
|
||||
(G4StatMFParameters::Getr0()*g4calc->Z13(A)));
|
||||
_Kappa = _Kappa*_Kappa*_Kappa - 1.0;
|
||||
|
||||
G4StatMFMacroTemperature * theTemp = new
|
||||
@@ -211,7 +211,7 @@ G4StatMFChannel * G4StatMFMacroCanonical::ChooseZ(G4int & Z,
|
||||
std::vector<G4int> & FragmentsA)
|
||||
//
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
std::vector<G4int> FragmentsZ;
|
||||
|
||||
G4int DeltaZ = 0;
|
||||
@@ -238,7 +238,7 @@ G4StatMFChannel * G4StatMFMacroCanonical::ChooseZ(G4int & Z,
|
||||
{
|
||||
G4double RandZ;
|
||||
G4double CC = 8.0*G4StatMFParameters::GetGamma0()
|
||||
+ 2*CP*g4pow->Z23(FragmentsA[i]);
|
||||
+ 2*CP*g4calc->Z23(FragmentsA[i]);
|
||||
G4double ZMean;
|
||||
if (FragmentsA[i] > 1 && FragmentsA[i] < 5) { ZMean = 0.5*FragmentsA[i]; }
|
||||
else {
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMacroChemicalPotential.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMacroChemicalPotential.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -57,12 +57,12 @@ G4bool G4StatMFMacroChemicalPotential::operator!=(const G4StatMFMacroChemicalPot
|
||||
G4double G4StatMFMacroChemicalPotential::CalcChemicalPotentialNu(void)
|
||||
// Calculate Chemical potential \nu
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double CP = G4StatMFParameters::GetCoulomb();
|
||||
|
||||
// Initial value for _ChemPotentialNu
|
||||
_ChemPotentialNu = (theZ/theA)*(8.0*G4StatMFParameters::GetGamma0()
|
||||
+2.0*CP*g4pow->Z23(theA))
|
||||
+2.0*CP*g4calc->Z23(theA))
|
||||
- 4.0*G4StatMFParameters::GetGamma0();
|
||||
|
||||
G4double ChemPa = _ChemPotentialNu;
|
||||
|
||||
+5
-5
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMacroMultiNucleon.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMacroMultiNucleon.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -86,8 +86,8 @@ G4double G4StatMFMacroMultiNucleon::CalcMeanMultiplicity(const G4double FreeVol,
|
||||
{
|
||||
G4double ThermalWaveLenght = 16.15*fermi/std::sqrt(T);
|
||||
G4double lambda3 = ThermalWaveLenght*ThermalWaveLenght*ThermalWaveLenght;
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4double A23 = g4pow->Z23(theA);
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double A23 = g4calc->Z23(theA);
|
||||
|
||||
G4double exponent = (mu + nu*theZARatio+ G4StatMFParameters::GetE0()
|
||||
+ T*T/_InvLevelDensity
|
||||
@@ -115,8 +115,8 @@ G4double G4StatMFMacroMultiNucleon::CalcZARatio(const G4double nu)
|
||||
|
||||
G4double G4StatMFMacroMultiNucleon::CalcEnergy(const G4double T)
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4double A23 = g4pow->Z23(theA);
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double A23 = g4calc->Z23(theA);
|
||||
|
||||
// Volume term
|
||||
G4double EVol = theA * (T*T/_InvLevelDensity - G4StatMFParameters::GetE0());
|
||||
|
||||
+4
-4
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMacroMultiplicity.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMacroMultiplicity.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -64,7 +64,7 @@ G4double G4StatMFMacroMultiplicity::CalcChemicalPotentialMu(void)
|
||||
// Calculate Chemical potential \mu
|
||||
// For that is necesary to calculate mean multiplicities
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double CP = G4StatMFParameters::GetCoulomb();
|
||||
|
||||
// starting value for chemical potential \mu
|
||||
@@ -75,8 +75,8 @@ G4double G4StatMFMacroMultiplicity::CalcChemicalPotentialMu(void)
|
||||
_MeanTemperature*_MeanTemperature/ILD5 -
|
||||
_ChemPotentialNu*ZA5 +
|
||||
G4StatMFParameters::GetGamma0()*(1.0-2.0*ZA5)*(1.0-2.0*ZA5) +
|
||||
(2.0/3.0)*G4StatMFParameters::Beta(_MeanTemperature)/g4pow->Z13(5) +
|
||||
(5.0/3.0)*CP*ZA5*ZA5*g4pow->Z23(5) -
|
||||
(2.0/3.0)*G4StatMFParameters::Beta(_MeanTemperature)/g4calc->Z13(5) +
|
||||
(5.0/3.0)*CP*ZA5*ZA5*g4calc->Z23(5) -
|
||||
1.5*_MeanTemperature/5.0;
|
||||
|
||||
G4double ChemPa = _ChemPotentialMu;
|
||||
|
||||
+4
-4
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMacroTemperature.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMacroTemperature.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -152,9 +152,9 @@ G4double G4StatMFMacroTemperature::FragsExcitEnergy(const G4double T)
|
||||
// multiplicity and entropy
|
||||
{
|
||||
// Model Parameters
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4double R0 = G4StatMFParameters::Getr0()*g4pow->Z13(theA);
|
||||
G4double R = R0*g4pow->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double R0 = G4StatMFParameters::Getr0()*g4calc->Z13(theA);
|
||||
G4double R = R0*g4calc->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
G4double FreeVol = _Kappa*(4.*pi/3.)*R0*R0*R0;
|
||||
|
||||
// Calculate Chemical potentials
|
||||
|
||||
+4
-4
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMicroCanonical.cc 91834 2015-08-07 07:24:22Z gcosmo $
|
||||
// $Id: G4StatMFMicroCanonical.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// Hadronic Process: Nuclear De-excitations
|
||||
// by V. Lara
|
||||
@@ -66,7 +66,7 @@ void G4StatMFMicroCanonical::Initialize(const G4Fragment & theFragment)
|
||||
G4int A = theFragment.GetA_asInt();
|
||||
G4int Z = theFragment.GetZ_asInt();
|
||||
G4double x = 1.0 - 2.0*Z/G4double(A);
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
|
||||
// Configuration temperature
|
||||
G4double TConfiguration = std::sqrt(8.0*U/G4double(A));
|
||||
@@ -79,9 +79,9 @@ void G4StatMFMicroCanonical::Initialize(const G4Fragment & theFragment)
|
||||
G4StatMFParameters::GetGamma0()*x*x
|
||||
) +
|
||||
// Surface term (for T = 0)
|
||||
G4StatMFParameters::GetBeta0()*g4pow->Z23(A) +
|
||||
G4StatMFParameters::GetBeta0()*g4calc->Z23(A) +
|
||||
// Coulomb term
|
||||
elm_coupling*0.6*Z*Z/(G4StatMFParameters::Getr0()*g4pow->Z13(A));
|
||||
elm_coupling*0.6*Z*Z/(G4StatMFParameters::Getr0()*g4calc->Z13(A));
|
||||
|
||||
// Statistical weight
|
||||
G4double W = 0.0;
|
||||
|
||||
+14
-14
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StatMFMicroPartition.cc 92144 2015-08-19 14:25:18Z gcosmo $
|
||||
// $Id: G4StatMFMicroPartition.cc 100379 2016-10-19 15:05:35Z gcosmo $
|
||||
//
|
||||
// by V. Lara
|
||||
// --------------------------------------------------------------------
|
||||
@@ -95,16 +95,16 @@ void G4StatMFMicroPartition::CoulombFreeEnergy(G4int anA)
|
||||
|
||||
G4double G4StatMFMicroPartition::GetCoulombEnergy(void)
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4double CoulombFactor = 1.0/g4pow->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double CoulombFactor = 1.0/g4calc->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
|
||||
G4double CoulombEnergy = elm_coupling*0.6*theZ*theZ*CoulombFactor/
|
||||
(G4StatMFParameters::Getr0()*g4pow->Z13(theA));
|
||||
(G4StatMFParameters::Getr0()*g4calc->Z13(theA));
|
||||
|
||||
G4double ZA = G4double(theZ)/G4double(theA);
|
||||
for (unsigned int i = 0; i < _thePartition.size(); i++)
|
||||
CoulombEnergy += _theCoulombFreeEnergy[i] - elm_coupling*0.6*
|
||||
ZA*ZA*_thePartition[i]*g4pow->Z23(_thePartition[i])/
|
||||
ZA*ZA*_thePartition[i]*g4calc->Z23(_thePartition[i])/
|
||||
G4StatMFParameters::Getr0();
|
||||
|
||||
return CoulombEnergy;
|
||||
@@ -112,8 +112,8 @@ G4double G4StatMFMicroPartition::GetCoulombEnergy(void)
|
||||
|
||||
G4double G4StatMFMicroPartition::GetPartitionEnergy(G4double T)
|
||||
{
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4double CoulombFactor = 1.0/g4pow->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
G4double CoulombFactor = 1.0/g4calc->A13(1.0+G4StatMFParameters::GetKappaCoulomb());
|
||||
|
||||
G4double PartitionEnergy = 0.0;
|
||||
|
||||
@@ -157,7 +157,7 @@ G4double G4StatMFMicroPartition::GetPartitionEnergy(G4double T)
|
||||
|
||||
// Surface term
|
||||
(G4StatMFParameters::Beta(T) - T*G4StatMFParameters::DBetaDT(T))*
|
||||
g4pow->Z23(_thePartition[i]) +
|
||||
g4calc->Z23(_thePartition[i]) +
|
||||
|
||||
// Coulomb term
|
||||
_theCoulombFreeEnergy[i];
|
||||
@@ -165,7 +165,7 @@ G4double G4StatMFMicroPartition::GetPartitionEnergy(G4double T)
|
||||
}
|
||||
|
||||
PartitionEnergy += elm_coupling*0.6*theZ*theZ*CoulombFactor/
|
||||
(G4StatMFParameters::Getr0()*g4pow->Z13(theA))
|
||||
(G4StatMFParameters::Getr0()*g4calc->Z13(theA))
|
||||
+ 1.5*T*(_thePartition.size()-1);
|
||||
|
||||
return PartitionEnergy;
|
||||
@@ -234,7 +234,7 @@ G4double G4StatMFMicroPartition::CalcPartitionProbability(G4double U,
|
||||
if ( T <= 0.0) return _Probability = 0.0;
|
||||
_Temperature = T;
|
||||
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
G4Pow* g4calc = G4Pow::GetInstance();
|
||||
|
||||
// Factorial of fragment multiplicity
|
||||
G4double Fact = 1.0;
|
||||
@@ -273,7 +273,7 @@ G4double G4StatMFMicroPartition::CalcPartitionProbability(G4double U,
|
||||
{
|
||||
PartitionEntropy +=
|
||||
2.0*T*_thePartition[i]/InvLevelDensity(_thePartition[i])
|
||||
- G4StatMFParameters::DBetaDT(T) * g4pow->Z23(_thePartition[i]);
|
||||
- G4StatMFParameters::DBetaDT(T) * g4calc->Z23(_thePartition[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,8 +282,8 @@ G4double G4StatMFMicroPartition::CalcPartitionProbability(G4double U,
|
||||
ThermalWaveLenght3 = ThermalWaveLenght3*ThermalWaveLenght3*ThermalWaveLenght3;
|
||||
|
||||
// Translational Entropy
|
||||
G4double kappa = 1. + elm_coupling*(g4pow->Z13(_thePartition.size())-1.0)
|
||||
/(G4StatMFParameters::Getr0()*g4pow->Z13(theA));
|
||||
G4double kappa = 1. + elm_coupling*(g4calc->Z13(_thePartition.size())-1.0)
|
||||
/(G4StatMFParameters::Getr0()*g4calc->Z13(theA));
|
||||
kappa = kappa*kappa*kappa;
|
||||
kappa -= 1.;
|
||||
G4double V0 = (4./3.)*pi*theA*G4StatMFParameters::Getr0()*G4StatMFParameters::Getr0()*
|
||||
@@ -291,7 +291,7 @@ G4double G4StatMFMicroPartition::CalcPartitionProbability(G4double U,
|
||||
G4double FreeVolume = kappa*V0;
|
||||
G4double TranslationalS = std::max(0.0, G4Log(ProbA32/Fact) +
|
||||
(_thePartition.size()-1.0)*G4Log(FreeVolume/ThermalWaveLenght3) +
|
||||
1.5*(_thePartition.size()-1.0) - 1.5*g4pow->logZ(theA));
|
||||
1.5*(_thePartition.size()-1.0) - 1.5*g4calc->logZ(theA));
|
||||
|
||||
PartitionEntropy += G4Log(ProbDegeneracy) + TranslationalS;
|
||||
_Entropy = PartitionEntropy;
|
||||
|
||||
Reference in New Issue
Block a user