Version: SMASH-2.0
smash::Potentials Class Reference

#include <potentials.h>

A class that stores parameters of potentials, calculates potentials and their gradients.

Potentials are responsible for long-range interactions and stand in the left part of Boltzmann equation. Short-range interactions are taken into account in the right part of it - in the collision term.

Definition at line 32 of file potentials.h.

Collaboration diagram for smash::Potentials:
[legend]

Public Member Functions

 Potentials (Configuration conf, const DensityParameters &parameters)
 Potentials constructor. More...
 
virtual ~Potentials ()
 Standard destructor. More...
 
double skyrme_pot (const double baryon_density) const
 Evaluates skyrme potential given a baryon density. More...
 
double symmetry_pot (const double baryon_isospin_density, const double baryon_density) const
 Evaluates symmetry potential given baryon isospin density. More...
 
double symmetry_S (const double baryon_density) const
 Calculate the factor \(S(\rho)\) in the symmetry potential. More...
 
double potential (const ThreeVector &r, const ParticleList &plist, const ParticleType &acts_on) const
 Evaluates potential at point r. More...
 
std::pair< ThreeVector, ThreeVectorskyrme_force (const double density, const ThreeVector grad_rho, const ThreeVector dj_dt, const ThreeVector rot_j) const
 Evaluates the electrical and magnetic components of the skyrme force. More...
 
std::pair< ThreeVector, ThreeVectorsymmetry_force (const double rhoI3, const ThreeVector grad_rhoI3, const ThreeVector djI3_dt, const ThreeVector rot_jI3, const double rhoB, const ThreeVector grad_rhoB, const ThreeVector djB_dt, const ThreeVector rot_jB) const
 Evaluates the electrical and magnetic components of the symmetry force. More...
 
virtual std::tuple< ThreeVector, ThreeVector, ThreeVector, ThreeVectorall_forces (const ThreeVector &r, const ParticleList &plist) const
 Evaluates the electrical and magnetic components of the forces at point r. More...
 
virtual bool use_skyrme () const
 
virtual bool use_symmetry () const
 
double skyrme_a () const
 
double skyrme_b () const
 
double skyrme_tau () const
 

Static Public Member Functions

static std::pair< double, int > force_scale (const ParticleType &data)
 Evaluates the scaling factor of the forces acting on the particles. More...
 

Private Member Functions

double dVsym_drhoI3 (const double rhoB, const double rhoI3) const
 Calculate the derivative of the symmetry potential with respect to the isospin density in GeV * fm^3. More...
 
double dVsym_drhoB (const double rhoB, const double rhoI3) const
 Calculate the derivative of the symmetry potential with respect to the net baryon density in GeV * fm^3. More...
 

Private Attributes

const DensityParameters param_
 Struct that contains the gaussian smearing width \(\sigma\), the distance cutoff \(r_{\rm cut}\) and the testparticle number needed for the density calculation. More...
 
bool use_skyrme_
 Skyrme potential on/off. More...
 
bool use_symmetry_
 Symmetry potential on/off. More...
 
double skyrme_a_
 Parameter of skyrme potentials: the coefficient in front of \(\frac{\rho}{\rho_0}\) in GeV. More...
 
double skyrme_b_
 Parameters of skyrme potentials: the coefficient in front of \((\frac{\rho}{\rho_0})^\tau\) in GeV. More...
 
double skyrme_tau_
 Parameters of skyrme potentials: the power index. More...
 
double symmetry_S_Pot_
 Parameter S_Pot in the symmetry potential in MeV. More...
 
bool symmetry_is_rhoB_dependent_ = false
 Whether the baryon density dependence of the symmetry potential is included. More...
 
double symmetry_gamma_
 Power \( \gamma \) in formula for \( S(\rho) \): More...
 

Constructor & Destructor Documentation

◆ Potentials()

smash::Potentials::Potentials ( Configuration  conf,
const DensityParameters parameters 
)

Potentials constructor.

Parameters
[in]confConfiguration which contains the switches determining whether to turn on the Skyrme or the symmetry potentials, and the coefficents controlling how strong the potentials are.
[in]parametersStruct that contains the gaussian smearing factor \(\sigma\), the distance cutoff \(r_{\rm cut}\) and the testparticle number needed for the density calculation.

◆ ~Potentials()

smash::Potentials::~Potentials ( )
virtual

Standard destructor.

Definition at line 107 of file potentials.cc.

107 {}

Member Function Documentation

◆ skyrme_pot()

double smash::Potentials::skyrme_pot ( const double  baryon_density) const

Evaluates skyrme potential given a baryon density.

Parameters
[in]baryon_densityBaryon density \(\rho\) evaluated in the local rest frame in fm \(^{-3}\).
Returns
Skyrme potential

\[U_B=10^{-3}\times\frac{\rho}{|\rho|} (A\frac{\rho}{\rho_0}+B(\frac{\rho}{\rho_0})^\tau)\]

in GeV

Definition at line 109 of file potentials.cc.

109  {
110  const double tmp = baryon_density / nuclear_density;
111  /* U = U(|rho|) * sgn , because the sign of the potential changes
112  * under a charge reversal transformation. */
113  const int sgn = tmp > 0 ? 1 : -1;
114  // Return in GeV
115  return 1.0e-3 * sgn *
116  (skyrme_a_ * std::abs(tmp) +
117  skyrme_b_ * std::pow(std::abs(tmp), skyrme_tau_));
118 }
Here is the call graph for this function:

◆ symmetry_pot()

double smash::Potentials::symmetry_pot ( const double  baryon_isospin_density,
const double  baryon_density 
) const

Evaluates symmetry potential given baryon isospin density.

Note
The second term is neglected if \(\gamma\) is not specified in the config.
Parameters
[in]baryon_isospin_densityThe difference between the proton and the neutron density in the local rest frame in fm \(^{-3}\).
[in]baryon_density
Returns
Symmetry potential

\[U_I=2\times 10^{-3}S_{\rm sym} \frac{\rho_{I_3}}{\rho_0} + \left[12.3\left(\frac{\rho_B}{\rho_0}\right)^{2/3} + 20\left(\frac{\rho_B}{\rho_0}\right)^\gamma\right] \left(\frac{\rho_{I_3}}{\rho_B}\right)^2\]

in GeV

Definition at line 127 of file potentials.cc.

128  {
129  double pot =
130  1.0e-3 * 2. * symmetry_S_Pot_ * baryon_isospin_density / nuclear_density;
132  pot += 1.0e-3 * symmetry_S(baryon_density) * baryon_isospin_density *
133  baryon_isospin_density / (baryon_density * baryon_density);
134  }
135  return pot;
136 }

◆ symmetry_S()

double smash::Potentials::symmetry_S ( const double  baryon_density) const

Calculate the factor \(S(\rho)\) in the symmetry potential.

Parameters
[in]baryon_densitybaryon density
Returns
factor S in symmetry potenial

Definition at line 119 of file potentials.cc.

119  {
121  return 12.3 * std::pow(baryon_density / nuclear_density, 2. / 3.) +
122  20.0 * std::pow(baryon_density / nuclear_density, symmetry_gamma_);
123  } else {
124  return 0.;
125  }
126 }

◆ potential()

double smash::Potentials::potential ( const ThreeVector r,
const ParticleList &  plist,
const ParticleType acts_on 
) const

Evaluates potential at point r.

Potential is always taken in the local Eckart rest frame, but point r is in the computational frame.

Parameters
[in]rArbitrary space point where potential is calculated
[in]plistList of all particles to be used in \(j^{\mu}\) calculation. If the distance between particle and calculation point r, \( |r-r_i| > r_{cut} \) then particle input to density will be ignored.
[in]acts_onType of particle on which potential is going to act. It gives the charges (or more precisely, the scaling factors) of the particle moving in the potential field.
Returns
Total potential energy acting on the particle:

\[U_{\rm tot} =Q_BU_B+2I_3U_I\]

in GeV, where \(Q_B\) is the baryon charge scaled by the ratio of the light (u, d) quark to the total quark number and \(I_3\) is the third compnent of the isospin.

Definition at line 138 of file potentials.cc.

139  {
140  double total_potential = 0.0;
141  const bool compute_gradient = false;
142  const bool smearing = true;
143  const auto scale = force_scale(acts_on);
144 
145  if (!(acts_on.is_baryon() || acts_on.is_nucleus())) {
146  return total_potential;
147  }
148  const double rho_B = std::get<0>(current_eckart(
149  r, plist, param_, DensityType::Baryon, compute_gradient, smearing));
150  if (use_skyrme_) {
151  total_potential += scale.first * skyrme_pot(rho_B);
152  }
153  if (use_symmetry_) {
154  const double rho_iso = std::get<0>(
156  compute_gradient, smearing));
157  const double sym_pot =
158  symmetry_pot(rho_iso, rho_B) * acts_on.isospin3_rel();
159  total_potential += scale.second * sym_pot;
160  }
161  return total_potential;
162 }
Here is the call graph for this function:

◆ force_scale()

std::pair< double, int > smash::Potentials::force_scale ( const ParticleType data)
static

Evaluates the scaling factor of the forces acting on the particles.

The forces are equal to the product of the scaling factor and the gradient of the potential. We need these scaling factors to describe the motions of the hyperons as well as the anti-particles in the potentials. For Lambda and Sigma, since they carry 2 light (u or d) quarks, they are affected by 2/3 of the Skyrme force. Xi carries 1 light quark, it is affected by 1/3 of the Skyrme force. Omega carries no light quark, so it's not affected by the Skyrme force. Anti-baryons are affected by the force as large as the force acting on baryons but with an opposite direction.

Parameters
[in]dataType of particle on which potential is going to act.
Returns
( \(Q_B(1-\frac{|Q_S|}{3}), Q_B\)) where \(Q_B\) is the baryon charge and \(Q_S\) is the strangeness.

Definition at line 164 of file potentials.cc.

164  {
165  const auto &pdg = data.pdgcode();
166  const double skyrme_scale =
167  (3 - std::abs(pdg.strangeness())) / 3. * pdg.baryon_number();
168  const int symmetry_scale = pdg.baryon_number();
169  return std::make_pair(skyrme_scale, symmetry_scale);
170 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ skyrme_force()

std::pair< ThreeVector, ThreeVector > smash::Potentials::skyrme_force ( const double  density,
const ThreeVector  grad_rho,
const ThreeVector  dj_dt,
const ThreeVector  rot_j 
) const

Evaluates the electrical and magnetic components of the skyrme force.

Parameters
[in]densityEckart baryon density [fm \(^{-3}\)].
[in]grad_rhoGradient of baryon density [fm \(^{-4}\)]. This density is evaluated in the computational frame.
[in]dj_dtTime derivative of the baryon current density [fm \(^{-4}\)
[in]rot_jCurl of the baryon current density [fm \(^{-4}\)
Returns
( \(E_B, B_B\)), where

\[E_B = -V_B^\prime(\rho^\ast)(\nabla\rho_B + \partial_t \vec j_B)\]

is the electro component of Skyrme force and

\[B_B = V_B^\prime(\rho^\ast) \nabla\times\vec j_B\]

is the magnetic component of the Skyrme force with \(\rho^\ast\) being the Eckart baryon density.

Definition at line 172 of file potentials.cc.

174  {
175  ThreeVector E_component(0.0, 0.0, 0.0), B_component(0.0, 0.0, 0.0);
176  if (use_skyrme_) {
177  const int sgn = density > 0 ? 1 : -1;
178  const double abs_density = std::abs(density);
179  const double dV_drho =
180  sgn *
181  (skyrme_a_ +
183  std::pow(abs_density / nuclear_density, skyrme_tau_ - 1)) *
185  E_component -= dV_drho * (grad_rho + dj_dt);
186  B_component += dV_drho * rot_j;
187  }
188  return std::make_pair(E_component, B_component);
189 }
Here is the call graph for this function:

◆ symmetry_force()

std::pair< ThreeVector, ThreeVector > smash::Potentials::symmetry_force ( const double  rhoI3,
const ThreeVector  grad_rhoI3,
const ThreeVector  djI3_dt,
const ThreeVector  rot_jI3,
const double  rhoB,
const ThreeVector  grad_rhoB,
const ThreeVector  djB_dt,
const ThreeVector  rot_jB 
) const

Evaluates the electrical and magnetic components of the symmetry force.

Parameters
[in]rhoI3Relative isospin 3 density.
[in]grad_rhoI3Gradient of I3/I density [fm \(^{-4}\)]. This density is evaluated in the computational frame.
[in]djI3_dtTime derivative of the I3/I current density [fm \(^{-4}\)]
[in]rot_jI3Curl of the I3/I current density [fm \(^{-4}\)]
[in]rhoBNet-baryon density
[in]grad_rhoBGradient of the net-baryon density
[in]djB_dtTime derivative of the net-baryon current density
[in]rot_jBCurl of the net-baryon current density
Returns
( \(E_I3, B_I3\)) [GeV/fm], where

\[\vec{E} = - \frac{\partial V^\ast}{\partial\rho_{I_3}^\ast} (\nabla\rho_{I_3} + \partial_t \vec j_{I_3}) - \frac{\partial V^\ast}{\partial\rho_B^\ast}(\nabla\rho_B + \partial_t \vec j_B)\]

is the electrical component of symmetry force and

\[\vec{B} = \frac{\partial V^\ast}{\rho_{I_3}^\ast} \nabla\times\vec j_{I_3} + \frac{\partial V^\ast}{\rho_B^\ast} \nabla\times\vec j_B \]

is the magnetic component of the symmetry force with \(\rho^\ast\) being the respective Eckart density.

Definition at line 191 of file potentials.cc.

194  {
195  ThreeVector E_component(0.0, 0.0, 0.0), B_component(0.0, 0.0, 0.0);
196  if (use_symmetry_) {
197  E_component -= dVsym_drhoI3(rhoB, rhoI3) * (grad_rhoI3 + djI3_dt) +
198  dVsym_drhoB(rhoB, rhoI3) * (grad_rhoB + djB_dt);
199  B_component +=
200  dVsym_drhoI3(rhoB, rhoI3) * rot_jI3 + dVsym_drhoB(rhoB, rhoI3) * rot_jB;
201  }
202  return std::make_pair(E_component, B_component);
203 }

◆ all_forces()

std::tuple< ThreeVector, ThreeVector, ThreeVector, ThreeVector > smash::Potentials::all_forces ( const ThreeVector r,
const ParticleList &  plist 
) const
virtual

Evaluates the electrical and magnetic components of the forces at point r.

Point r is in the computational frame.

Parameters
[in]rArbitrary space point where potential gradient is calculated
[in]plistList of all particles to be used in \(j^{\mu}\) calculation. If the distance between particle and calculation point r, \( |r-r_i| > r_{cut} \) then particle input to density will be ignored.
Returns
( \(E_B, B_B, E_{I3}, B_{I3}\)) [GeV/fm], where \(E_B\): the electric component of the Skyrme force \(B_B\): the magnetic component of the Skyrme force \(E_{I3}\): the electric component of the symmetry force \(B_{I3}\): the magnetic component of the symmetry force

Definition at line 229 of file potentials.cc.

229  {
230  const bool compute_gradient = true;
231  const bool smearing = true;
232  auto F_skyrme =
233  std::make_pair(ThreeVector(0., 0., 0.), ThreeVector(0., 0., 0.));
234  auto F_symmetry =
235  std::make_pair(ThreeVector(0., 0., 0.), ThreeVector(0., 0., 0.));
236 
237  const auto baryon_density_and_gradient = current_eckart(
238  r, plist, param_, DensityType::Baryon, compute_gradient, smearing);
239  const double rhoB = std::get<0>(baryon_density_and_gradient);
240  const ThreeVector grad_rhoB = std::get<2>(baryon_density_and_gradient);
241  const ThreeVector djB_dt = std::get<3>(baryon_density_and_gradient);
242  const ThreeVector rot_jB = std::get<4>(baryon_density_and_gradient);
243  if (use_skyrme_) {
244  F_skyrme = skyrme_force(rhoB, grad_rhoB, djB_dt, rot_jB);
245  }
246 
247  if (use_symmetry_) {
248  const auto density_and_gradient =
250  compute_gradient, smearing);
251  const double rhoI3 = std::get<0>(density_and_gradient);
252  const ThreeVector grad_rhoI3 = std::get<2>(density_and_gradient);
253  const ThreeVector djI3_dt = std::get<3>(density_and_gradient);
254  const ThreeVector rot_jI3 = std::get<4>(density_and_gradient);
255  F_symmetry = symmetry_force(rhoI3, grad_rhoI3, djI3_dt, rot_jI3, rhoB,
256  grad_rhoB, djB_dt, rot_jB);
257  }
258 
259  return std::make_tuple(F_skyrme.first, F_skyrme.second, F_symmetry.first,
260  F_symmetry.second);
261 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_skyrme()

virtual bool smash::Potentials::use_skyrme ( ) const
inlinevirtual
Returns
Is Skyrme potential on?

Definition at line 191 of file potentials.h.

191 { return use_skyrme_; }
Here is the caller graph for this function:

◆ use_symmetry()

virtual bool smash::Potentials::use_symmetry ( ) const
inlinevirtual
Returns
Is symmetry potential on?

Definition at line 193 of file potentials.h.

193 { return use_symmetry_; }
Here is the caller graph for this function:

◆ skyrme_a()

double smash::Potentials::skyrme_a ( ) const
inline
Returns
Skyrme parameter skyrme_a, in MeV

Definition at line 196 of file potentials.h.

196 { return skyrme_a_; }
Here is the caller graph for this function:

◆ skyrme_b()

double smash::Potentials::skyrme_b ( ) const
inline
Returns
Skyrme parameter skyrme_b, in MeV

Definition at line 198 of file potentials.h.

198 { return skyrme_b_; }
Here is the caller graph for this function:

◆ skyrme_tau()

double smash::Potentials::skyrme_tau ( ) const
inline
Returns
Skyrme parameter skyrme_tau

Definition at line 200 of file potentials.h.

200 { return skyrme_tau_; }
Here is the caller graph for this function:

◆ dVsym_drhoI3()

double smash::Potentials::dVsym_drhoI3 ( const double  rhoB,
const double  rhoI3 
) const
private

Calculate the derivative of the symmetry potential with respect to the isospin density in GeV * fm^3.

\[ \frac{\partial V_\mathrm{sym}}{\partial \rho_{I_3}} = 2\frac{S_\mathrm{Pot}}{\rho_0} + \frac{2\rho_{I_3}\left[12.3\left(\frac{\rho_B}{\rho_0}\right)^{2/3} + 20 \left(\frac{\rho_B}{\rho_0}\right)^\gamma\right]}{\rho_B^2} \]

Note
The isospin 3 density here is actually the density of I3 / I.
Parameters
[in]rhoBnet baryon density
[in]rhoI3isospin density
Returns
partial derivative of the symmetry potenital with respect to the isospin density.

Definition at line 205 of file potentials.cc.

205  {
206  double term1 = 2. * symmetry_S_Pot_ / nuclear_density;
208  double term2 = 2. * rhoI3 * symmetry_S(rhoB) / (rhoB * rhoB);
209  return mev_to_gev * (term1 + term2);
210  } else {
211  return mev_to_gev * term1;
212  }
213 }

◆ dVsym_drhoB()

double smash::Potentials::dVsym_drhoB ( const double  rhoB,
const double  rhoI3 
) const
private

Calculate the derivative of the symmetry potential with respect to the net baryon density in GeV * fm^3.

\[ \frac{\partial V_\mathrm{sym}}{\partial \rho_B} = \left(\frac{\rho_{I_3}}{\rho_B}\right)^2 \left[\frac{8.2}{\rho_0}\left(\frac{\rho_B}{\rho_0}\right)^{-1/3} + \frac{20\gamma}{\rho_B}\left(\frac{\rho_B}{\rho_0}\right)^\gamma\right] -2\frac{\rho_{I_3}^2}{\rho_B^3} \left[12.3\left(\frac{\rho_B}{\rho_0}\right)^{2/3} + 20\left(\frac{\rho_B}{\rho_0}\right)^\gamma\right]\]

Note
The isospin 3 density here is actually the density of I3 / I
Parameters
[in]rhoBnet baryon density
[in]rhoI3isospin density
Returns
partial derivative of the symmetry potenital with respect to the net baryon density.

Definition at line 215 of file potentials.cc.

215  {
217  double rhoB_over_rho0 = rhoB / nuclear_density;
218  double term1 = 8.2 * std::pow(rhoB_over_rho0, -1. / 3.) / nuclear_density +
219  20. * symmetry_gamma_ *
220  std::pow(rhoB_over_rho0, symmetry_gamma_) / rhoB;
221  double term2 = -2. * symmetry_S(rhoB) / rhoB;
222  return mev_to_gev * (term1 + term2) * rhoI3 * rhoI3 / (rhoB * rhoB);
223  } else {
224  return 0.;
225  }
226 }

Member Data Documentation

◆ param_

const DensityParameters smash::Potentials::param_
private

Struct that contains the gaussian smearing width \(\sigma\), the distance cutoff \(r_{\rm cut}\) and the testparticle number needed for the density calculation.

Definition at line 208 of file potentials.h.

◆ use_skyrme_

bool smash::Potentials::use_skyrme_
private

Skyrme potential on/off.

Definition at line 211 of file potentials.h.

◆ use_symmetry_

bool smash::Potentials::use_symmetry_
private

Symmetry potential on/off.

Definition at line 214 of file potentials.h.

◆ skyrme_a_

double smash::Potentials::skyrme_a_
private

Parameter of skyrme potentials: the coefficient in front of \(\frac{\rho}{\rho_0}\) in GeV.

Definition at line 220 of file potentials.h.

◆ skyrme_b_

double smash::Potentials::skyrme_b_
private

Parameters of skyrme potentials: the coefficient in front of \((\frac{\rho}{\rho_0})^\tau\) in GeV.

Definition at line 226 of file potentials.h.

◆ skyrme_tau_

double smash::Potentials::skyrme_tau_
private

Parameters of skyrme potentials: the power index.

Definition at line 232 of file potentials.h.

◆ symmetry_S_Pot_

double smash::Potentials::symmetry_S_Pot_
private

Parameter S_Pot in the symmetry potential in MeV.

Definition at line 235 of file potentials.h.

◆ symmetry_is_rhoB_dependent_

bool smash::Potentials::symmetry_is_rhoB_dependent_ = false
private

Whether the baryon density dependence of the symmetry potential is included.

Definition at line 241 of file potentials.h.

◆ symmetry_gamma_

double smash::Potentials::symmetry_gamma_
private

Power \( \gamma \) in formula for \( S(\rho) \):

\[ S(\rho)=12.3\,\mathrm{MeV}\times \left(\frac{\rho}{\rho_0}\right)^{2/3}+20\,\mathrm{MeV}\times \left(\frac{\rho}{\rho_0}\right)^\gamma \]

Definition at line 248 of file potentials.h.


The documentation for this class was generated from the following files:
smash::Potentials::symmetry_S_Pot_
double symmetry_S_Pot_
Parameter S_Pot in the symmetry potential in MeV.
Definition: potentials.h:235
smash::mev_to_gev
constexpr double mev_to_gev
MeV to GeV conversion factor.
Definition: constants.h:34
smash::Potentials::symmetry_pot
double symmetry_pot(const double baryon_isospin_density, const double baryon_density) const
Evaluates symmetry potential given baryon isospin density.
Definition: potentials.cc:127
smash::Potentials::force_scale
static std::pair< double, int > force_scale(const ParticleType &data)
Evaluates the scaling factor of the forces acting on the particles.
Definition: potentials.cc:164
smash::Potentials::symmetry_is_rhoB_dependent_
bool symmetry_is_rhoB_dependent_
Whether the baryon density dependence of the symmetry potential is included.
Definition: potentials.h:241
smash::DensityType::BaryonicIsospin
smash::nuclear_density
constexpr double nuclear_density
Ground state density of symmetric nuclear matter [fm^-3].
Definition: constants.h:45
smash::Potentials::skyrme_b_
double skyrme_b_
Parameters of skyrme potentials: the coefficient in front of in GeV.
Definition: potentials.h:226
smash::Potentials::dVsym_drhoB
double dVsym_drhoB(const double rhoB, const double rhoI3) const
Calculate the derivative of the symmetry potential with respect to the net baryon density in GeV * fm...
Definition: potentials.cc:215
smash::Potentials::symmetry_force
std::pair< ThreeVector, ThreeVector > symmetry_force(const double rhoI3, const ThreeVector grad_rhoI3, const ThreeVector djI3_dt, const ThreeVector rot_jI3, const double rhoB, const ThreeVector grad_rhoB, const ThreeVector djB_dt, const ThreeVector rot_jB) const
Evaluates the electrical and magnetic components of the symmetry force.
Definition: potentials.cc:191
smash::Potentials::skyrme_a_
double skyrme_a_
Parameter of skyrme potentials: the coefficient in front of in GeV.
Definition: potentials.h:220
smash::Potentials::symmetry_S
double symmetry_S(const double baryon_density) const
Calculate the factor in the symmetry potential.
Definition: potentials.cc:119
smash::Potentials::use_symmetry_
bool use_symmetry_
Symmetry potential on/off.
Definition: potentials.h:214
smash::Potentials::param_
const DensityParameters param_
Struct that contains the gaussian smearing width , the distance cutoff and the testparticle number n...
Definition: potentials.h:208
smash::Potentials::skyrme_tau_
double skyrme_tau_
Parameters of skyrme potentials: the power index.
Definition: potentials.h:232
smash::current_eckart
std::tuple< double, FourVector, ThreeVector, ThreeVector, ThreeVector > current_eckart(const ThreeVector &r, const ParticleList &plist, const DensityParameters &par, DensityType dens_type, bool compute_gradient, bool smearing)
Calculates Eckart rest frame density and 4-current of a given density type and optionally the gradien...
Definition: density.cc:148
smash::Potentials::skyrme_force
std::pair< ThreeVector, ThreeVector > skyrme_force(const double density, const ThreeVector grad_rho, const ThreeVector dj_dt, const ThreeVector rot_j) const
Evaluates the electrical and magnetic components of the skyrme force.
Definition: potentials.cc:172
smash::Potentials::dVsym_drhoI3
double dVsym_drhoI3(const double rhoB, const double rhoI3) const
Calculate the derivative of the symmetry potential with respect to the isospin density in GeV * fm^3.
Definition: potentials.cc:205
smash::random::sgn
int sgn(T val)
Signum function.
Definition: random.h:190
smash::Potentials::skyrme_pot
double skyrme_pot(const double baryon_density) const
Evaluates skyrme potential given a baryon density.
Definition: potentials.cc:109
smash::DensityType::Baryon
smash::Potentials::use_skyrme_
bool use_skyrme_
Skyrme potential on/off.
Definition: potentials.h:211
smash::Potentials::symmetry_gamma_
double symmetry_gamma_
Power in formula for :
Definition: potentials.h:248