File snb.hxx#
-
namespace bout
Information about the version of BOUT++
The build system will update this file on every commit, which may result in files that include it getting rebuilt. Therefore it should be included in as few places as possible
Information about the version of BOUT++
The build system will update this file at configure-time
Explicit inversion of a 3x3 matrix
aIf the matrix is singular (ill conditioned), the determinant is return. Otherwise, an empty
std::optionalis return-
class HeatFluxSNB#
Calculate heat flux using the Shurtz-Nicolai-Busquet (SNB) model
Useful references:
Braginskii equations by R.Fitzpatrick: http://farside.ph.utexas.edu/teaching/plasma/Plasmahtml/node35.html
J.P.Brodrick et al 2017: https://doi.org/10.1063/1.5001079 and https://arxiv.org/abs/1704.08963
Shurtz, Nicolai and Busquet 2000: https://doi.org/10.1063/1.1289512
Public Functions
-
inline HeatFluxSNB()#
Construct using the options in the “snb” section.
-
~HeatFluxSNB() = default#
-
HeatFluxSNB(HeatFluxSNB&&) = default#
-
HeatFluxSNB &operator=(HeatFluxSNB&&) = default#
-
HeatFluxSNB(const HeatFluxSNB&) = delete#
-
HeatFluxSNB &operator=(const HeatFluxSNB&) = delete#
-
Field3D divHeatFlux(const Field3D &Te, const Field3D &Ne, Field3D *Div_Q_SH_out = nullptr)#
Calculate divergence of heat flux Te: Electron temperature in eV Ne: Electron density in m^-3
Div_Q_SH_out : An optional output field to store the Spitzer-Harm heat flux
Returns the divergence of heat flux in units of eV per cubic meter per second -> multiply by e=1.602e-19 to get Watts per cubic meter.
Private Functions
Private Members
-
std::unique_ptr<InvertParDiv> invertpardiv = {nullptr}#
Parallel inversion of tridiagonal matrices.
-
int ngroups = {40}#
Number of energy groups.
-
inline HeatFluxSNB()#
-
class HeatFluxSNB#