#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.
Public Member Functions | |
Potentials (Configuration conf, const DensityParameters ¶meters) | |
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... | |
FourVector | vdf_pot (double rhoB, const FourVector jmuB_net) const |
Evaluates the FourVector potential in the VDF model given the rest frame density and the computational frame baryon current. More... | |
double | potential (const ThreeVector &r, const ParticleList &plist, const ParticleType &acts_on) const |
Evaluates potential (Skyrme with optional Symmetry or VDF) at point r. More... | |
std::pair< ThreeVector, ThreeVector > | skyrme_force (const double rhoB, const ThreeVector grad_j0B, const ThreeVector dvecjB_dt, const ThreeVector curl_vecjB) const |
Evaluates the electric and magnetic components of the skyrme force. More... | |
std::pair< ThreeVector, ThreeVector > | symmetry_force (const double rhoI3, const ThreeVector grad_j0I3, const ThreeVector dvecjI3_dt, const ThreeVector curl_vecjI3, const double rhoB, const ThreeVector grad_j0B, const ThreeVector dvecjB_dt, const ThreeVector curl_vecjB) const |
Evaluates the electric and magnetic components of the symmetry force. More... | |
std::pair< ThreeVector, ThreeVector > | vdf_force (double rhoB, const double drhoB_dt, const ThreeVector grad_rhoB, const ThreeVector gradrhoB_cross_vecjB, const double j0B, const ThreeVector grad_j0B, const ThreeVector vecjB, const ThreeVector dvecjB_dt, const ThreeVector curl_vecjB) const |
Evaluates the electric and magnetic components of force in the VDF model given the derivatives of the baryon current \(j^{\mu}\). More... | |
std::pair< ThreeVector, ThreeVector > | vdf_force (const ThreeVector grad_A_0, const ThreeVector dA_dt, const ThreeVector curl_vecA) const |
Evaluates the electric and magnetic components of force in the VDF force given the derivatives of the VDF mean-field \(A^\mu\). More... | |
virtual std::tuple< ThreeVector, ThreeVector, ThreeVector, ThreeVector > | all_forces (const ThreeVector &r, const ParticleList &plist) const |
Evaluates the electric and magnetic components of the forces at point r. More... | |
virtual bool | use_skyrme () const |
virtual bool | use_symmetry () const |
virtual bool | use_coulomb () const |
double | skyrme_a () const |
double | skyrme_b () const |
double | skyrme_tau () const |
double | symmetry_S_pot () const |
virtual bool | use_vdf () const |
double | saturation_density () const |
const std::vector< double > & | coeffs () const |
const std::vector< double > & | powers () const |
int | number_of_terms () const |
double | coulomb_r_cut () 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... | |
static ThreeVector | E_field_integrand (ThreeVector pos, DensityOnLattice &charge_density, ThreeVector point) |
Integrand for calculating the electric field. More... | |
static ThreeVector | B_field_integrand (ThreeVector pos, DensityOnLattice &charge_density, ThreeVector point) |
Integrand for calculating the magnetic field using the Biot-Savart formula. 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... | |
bool | use_coulomb_ |
Coulomb potential on/Off. More... | |
bool | use_vdf_ |
VDF 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... | |
double | coulomb_r_cut_ |
Cutoff in integration for coulomb potential. More... | |
double | saturation_density_ |
Saturation density of nuclear matter used in the VDF potential; it may vary between different parameterizations. More... | |
std::vector< double > | coeffs_ |
Parameters of the VDF potential: coefficients \(C_i\), in GeV. More... | |
std::vector< double > | powers_ |
Parameters of the VDF potential: exponents \(b_i\). More... | |
smash::Potentials::Potentials | ( | Configuration | conf, |
const DensityParameters & | parameters | ||
) |
Potentials constructor.
[in] | conf | Configuration 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] | parameters | Struct that contains the gaussian smearing factor \(\sigma\), the distance cutoff \(r_{\rm cut}\) and the testparticle number needed for the density calculation. |
Definition at line 17 of file potentials.cc.
|
virtual |
double smash::Potentials::skyrme_pot | ( | const double | baryon_density | ) | const |
Evaluates skyrme potential given a baryon density.
[in] | baryon_density | Baryon density \(\rho\) evaluated in the local rest frame in fm \(^{-3}\). |
\[U_B=10^{-3}\times\frac{\rho}{|\rho|} (A\frac{\rho}{\rho_0}+B(\frac{\rho}{\rho_0})^\tau)\]
in GeVDefinition at line 61 of file potentials.cc.
double smash::Potentials::symmetry_pot | ( | const double | baryon_isospin_density, |
const double | baryon_density | ||
) | const |
Evaluates symmetry potential given baryon isospin density.
[in] | baryon_isospin_density | The difference between the proton and the neutron density in the local rest frame in fm \(^{-3}\). |
[in] | baryon_density |
\[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 GeVDefinition at line 79 of file potentials.cc.
double smash::Potentials::symmetry_S | ( | const double | baryon_density | ) | const |
Calculate the factor \(S(\rho)\) in the symmetry potential.
[in] | baryon_density | baryon density |
Definition at line 71 of file potentials.cc.
FourVector smash::Potentials::vdf_pot | ( | double | rhoB, |
const FourVector | jmuB_net | ||
) | const |
Evaluates the FourVector potential in the VDF model given the rest frame density and the computational frame baryon current.
[in] | rhoB | rest frame baryon density, in fm \(^{-3}\) |
[in] | jmuB_net | net baryon current in the computational frame, in fm \(^{-3}\) |
\[A^{\mu} = 10^{-3}\times \sum_i C_i \left(\frac{\rho}{\rho_0}\right)^{b_i - 2} \frac{j^{\mu}}{\rho_0}\]
in GeVDefinition at line 90 of file potentials.cc.
double smash::Potentials::potential | ( | const ThreeVector & | r, |
const ParticleList & | plist, | ||
const ParticleType & | acts_on | ||
) | const |
Evaluates potential (Skyrme with optional Symmetry or VDF) at point r.
For Skyrme and Symmetry options, potential is always taken in the local Eckart rest frame, but point r is in the computational frame.
[in] | r | Arbitrary space point where potential is calculated |
[in] | plist | List 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_on | Type 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. |
\[U_{\rm tot} =Q_BU_B+2I_3U_I\]
in GeV, while for the VDF potential\[U_{\rm tot} =Q_B A^0\]
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 112 of file potentials.cc.
|
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.
[in] | data | Type of particle on which potential is going to act. |
Definition at line 145 of file potentials.cc.
std::pair< ThreeVector, ThreeVector > smash::Potentials::skyrme_force | ( | const double | rhoB, |
const ThreeVector | grad_j0B, | ||
const ThreeVector | dvecjB_dt, | ||
const ThreeVector | curl_vecjB | ||
) | const |
Evaluates the electric and magnetic components of the skyrme force.
[in] | rhoB | Eckart baryon density [fm \(^{-3}\)]. |
[in] | grad_j0B | Gradient of baryon density [fm \(^{-4}\)]. This density is evaluated in the computational frame. |
[in] | dvecjB_dt | Time derivative of the vector baryon current density [fm \(^{-4}\) |
[in] | curl_vecjB | Curl of the baryon vector current density [fm \(^{-4}\) |
\[ E_B = - V_B^\prime(\rho^\ast)(\boldsymbol{\nabla}\rho_B + \partial_t\,\mathbf{j}_B) \]
is the electro component of Skyrme force and\[ B_B = V_B^\prime(\rho^\ast) \boldsymbol{\nabla}\times\mathbf{j}_B \]
is the magnetic component of the Skyrme force with \(\rho^\ast\) being the Eckart baryon density.Definition at line 153 of file potentials.cc.
std::pair< ThreeVector, ThreeVector > smash::Potentials::symmetry_force | ( | const double | rhoI3, |
const ThreeVector | grad_j0I3, | ||
const ThreeVector | dvecjI3_dt, | ||
const ThreeVector | curl_vecjI3, | ||
const double | rhoB, | ||
const ThreeVector | grad_j0B, | ||
const ThreeVector | dvecjB_dt, | ||
const ThreeVector | curl_vecjB | ||
) | const |
Evaluates the electric and magnetic components of the symmetry force.
[in] | rhoI3 | Relative isospin 3 density. |
[in] | grad_j0I3 | Gradient of I3/I density [fm \(^{-4}\)]. This density is evaluated in the computational frame. |
[in] | dvecjI3_dt | Time derivative of the I3/I vector current density [fm \(^{-4}\)] |
[in] | curl_vecjI3 | Curl of the I3/I vector current density [fm \(^{-4}\)] |
[in] | rhoB | Net-baryon density in the rest frame |
[in] | grad_j0B | Gradient of the net-baryon density in the computational frame |
[in] | dvecjB_dt | Time derivative of the net-baryon vector current density |
[in] | curl_vecjB | Curl of the net-baryon vector current density |
\[ \mathbf{E} = - \frac{\partial V^\ast}{\partial\rho_{I_3}^\ast} (\boldsymbol{\nabla}\rho_{I_3} + \partial_t \mathbf{j}_{I_3}) - \frac{\partial V^\ast}{\partial\rho_B^\ast} (\boldsymbol{\nabla}\rho_B + \partial_t\,\mathbf{j}_B) \]
is the electrical component of symmetry force and\[ \mathbf{B} = \frac{\partial V^\ast}{\rho_{I_3}^\ast} \boldsymbol{\nabla}\times\mathbf{j}_{I_3} + \frac{\partial V^\ast}{\rho_B^\ast} \boldsymbol{\nabla}\times\mathbf{j}_B \]
is the magnetic component of the symmetry force with \(\rho^\ast\) being the respective Eckart density.Definition at line 171 of file potentials.cc.
|
inlinestatic |
Integrand for calculating the electric field.
The field is calculated via
\[ \mathbf{E}(\mathbf{r}) = \int\frac{(\mathbf{r}-\mathbf{r}^\prime)\rho(\mathbf{r}^\prime)} {|\mathbf{r}-\mathbf{r}^\prime|^3}d^3r^\prime \]
[in] | pos | position vector to be integrated over |
[in] | charge_density | electric charge density at position pos |
[in] | point | position where to calculate the field |
Definition at line 217 of file potentials.h.
|
inlinestatic |
Integrand for calculating the magnetic field using the Biot-Savart formula.
[in] | pos | position vector to be integrated over |
[in] | charge_density | electric charge density and current |
[in] | point | position where the magnetic field will be calculated |
Definition at line 235 of file potentials.h.
std::pair< ThreeVector, ThreeVector > smash::Potentials::vdf_force | ( | double | rhoB, |
const double | drhoB_dt, | ||
const ThreeVector | grad_rhoB, | ||
const ThreeVector | gradrhoB_cross_vecjB, | ||
const double | j0B, | ||
const ThreeVector | grad_j0B, | ||
const ThreeVector | vecjB, | ||
const ThreeVector | dvecjB_dt, | ||
const ThreeVector | curl_vecjB | ||
) | const |
Evaluates the electric and magnetic components of force in the VDF model given the derivatives of the baryon current \(j^{\mu}\).
[in] | rhoB | rest frame baryon density in fm \(^{-3}\) |
[in] | drhoB_dt | time derivative of the rest frame density |
[in] | grad_rhoB | gradient of the rest frame density |
[in] | gradrhoB_cross_vecjB | cross product of the gradient of the rest frame density and the 3-vector baryon current density |
[in] | j0B | computational frame baryon density in fm \(^{-3}\) |
[in] | grad_j0B | gradient of the computational frame baryon density |
[in] | vecjB | 3-vector baryon current |
[in] | dvecjB_dt | time derivative of the computational frame 3-vector baryon current |
[in] | curl_vecjB | curl of the 3-vector baryon current |
\[ \mathbf{E}_{VDF} = - F_1 \big[(\boldsymbol{\nabla} \rho)\,j^0 + (\partial_t \rho)\,\mathbf{j}\big] - F_2 (\boldsymbol{\nabla} j^0 + \partial_t\,\mathbf{j}) \]
is the electrical component of VDF force and\[ \mathbf{B}_{VDF} = F_1 (\boldsymbol{\nabla} \rho) \times \mathbf{j} + F_2 \boldsymbol{\nabla} \times \mathbf{j} \]
is the magnetic component of the VDF force, with\begin{aligned} F_1 &= \sum_i C_i (b_i - 2) \frac{\rho^{b_i - 3}}{\rho_0^{b_i - 1}}\\ F_2 &= \sum_i C_i \frac{\rho^{b_i - 2}}{\rho_0^{b_i - 1}} \;, \end{aligned}
where \(\rho_0\) is the saturation density.Definition at line 186 of file potentials.cc.
std::pair< ThreeVector, ThreeVector > smash::Potentials::vdf_force | ( | const ThreeVector | grad_A_0, |
const ThreeVector | dA_dt, | ||
const ThreeVector | curl_vecA | ||
) | const |
Evaluates the electric and magnetic components of force in the VDF force given the derivatives of the VDF mean-field \(A^\mu\).
[in] | grad_A_0 | gradient of the zeroth component of the field A^mu |
[in] | dA_dt | time derivative of the field A^mu |
[in] | curl_vecA | curl of the vector component of the field A^mu |
\[ \mathbf{E}_{VDF} = - \boldsymbol{\nabla} A^0 - \partial_t\mathbf{A} \]
is the electrical component of VDF force and\[ \mathbf{B}_{VDF} = \boldsymbol{\nabla} \times \mathbf{A} \]
is the magnetic component of the VDF force.Definition at line 226 of file potentials.cc.
|
virtual |
Evaluates the electric and magnetic components of the forces at point r.
Point r is in the computational frame.
[in] | r | Arbitrary space point where potential gradient is calculated |
[in] | plist | List 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. |
Definition at line 261 of file potentials.cc.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
Definition at line 348 of file potentials.h.
|
inline |
Definition at line 350 of file potentials.h.
|
inline |
|
inline |
|
inline |
Definition at line 357 of file potentials.h.
|
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} \]
[in] | rhoB | net baryon density |
[in] | rhoI3 | isospin density |
Definition at line 237 of file potentials.cc.
|
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]\]
[in] | rhoB | net baryon density |
[in] | rhoI3 | isospin density |
Definition at line 247 of file potentials.cc.
|
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 365 of file potentials.h.
|
private |
Skyrme potential on/off.
Definition at line 368 of file potentials.h.
|
private |
Symmetry potential on/off.
Definition at line 371 of file potentials.h.
|
private |
Coulomb potential on/Off.
Definition at line 374 of file potentials.h.
|
private |
VDF potential on/off.
Definition at line 377 of file potentials.h.
|
private |
Parameter of skyrme potentials: the coefficient in front of \(\frac{\rho}{\rho_0}\) in GeV.
Definition at line 383 of file potentials.h.
|
private |
Parameters of skyrme potentials: the coefficient in front of \((\frac{\rho}{\rho_0})^\tau\) in GeV.
Definition at line 389 of file potentials.h.
|
private |
Parameters of skyrme potentials: the power index.
Definition at line 395 of file potentials.h.
|
private |
Parameter S_Pot in the symmetry potential in MeV.
Definition at line 398 of file potentials.h.
|
private |
Whether the baryon density dependence of the symmetry potential is included.
Definition at line 404 of file potentials.h.
|
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 411 of file potentials.h.
|
private |
Cutoff in integration for coulomb potential.
Definition at line 414 of file potentials.h.
|
private |
Saturation density of nuclear matter used in the VDF potential; it may vary between different parameterizations.
Definition at line 420 of file potentials.h.
|
private |
Parameters of the VDF potential: coefficients \(C_i\), in GeV.
Definition at line 422 of file potentials.h.
|
private |
Parameters of the VDF potential: exponents \(b_i\).
Definition at line 424 of file potentials.h.