![]() |
Sapphire++
v1.3.0-121-g2682132 |
Namespace for the Vlasov-Fokker-Planck module. More...
Classes | |
| class | InitialValueFunction |
| Initial condition. More... | |
| class | BoundaryValueFunction |
| Inflow boundary condition. More... | |
| class | ScatteringFrequency |
| Scattering frequency. More... | |
| class | Source |
| Source term. More... | |
| class | MagneticField |
| Magnetic field. More... | |
| class | BackgroundVelocityField |
| Background velocity field. More... | |
| class | DebugInputFunctions |
| This class collects the user-defined input functions to output them as debug information. More... | |
| class | NumericalFlux |
| Class to compute the numerical fluxes in the VFP equation. More... | |
| class | ParticleVelocity |
| A function to compute the particle velocity at a point in reduced phase space \( (\mathbf{x}, p) \). More... | |
| class | ParticleGamma |
| Function to compute the particle gamma factor \( \gamma \) at a point in reduced phase space \( (\mathbf{x}, p) \). More... | |
| class | PDESystem |
| Calculate the matrices of the PDE system. More... | |
| class | ProbeLocation |
| PostProcessor unit to probe location in reduced phase space and reconstruct the phase space distribution. More... | |
| struct | ReferenceValues |
| Reference values for the VFP equation. More... | |
| class | VFPParameters |
| Parameters class for the VFP module. More... | |
| class | VFPSolver |
| This class solves the Vlasov-Fokker-Planck equation. More... | |
Enumerations | |
| enum class | VFPFlags : std::uint16_t { none = 0 , time_evolution = 1 << 0 , spatial_advection = 1 << 1 , collision = 1 << 2 , rotation = 1 << 3 , time_independent_fields = 1 << 4 , momentum = 1 << 5 , linear_p = 1 << 6 , source = 1 << 7 , time_independent_source = 1 << 8 , scaled_distribution_function = 1 << 9 , local_lax_friedrichs_flux = 1 << 10 , radiation_reaction = 1 << 11 } |
| Flags to activate the different terms of the VFP equation. More... | |
| enum class | BoundaryConditions : std::uint8_t { continuous , zero_inflow , reflective , inflow , periodic } |
| Boundary conditions for the VFP equation. More... | |
| enum class | TimeSteppingMethod : std::uint8_t { crank_nicolson , forward_euler , backward_euler , erk4 , lserk4 } |
| Time stepping methods for the VFP equation. More... | |
| enum class | GridType : std::uint8_t { hypercube , shock , file } |
| Grid generation types for the VFP equation. More... | |
Functions | |
| template<typename StreamType> | |
| StreamType & | operator<< (StreamType &os, const ReferenceValues &reference_values) |
| Output reference values to a stream. | |
| constexpr VFPFlags | operator| (VFPFlags f1, VFPFlags f2) |
| Implement the bitwise OR operator for the VFPFlags. | |
| constexpr VFPFlags | operator& (VFPFlags f1, VFPFlags f2) |
| Implement the bitwise AND operator for the VFPFlags. | |
| template<typename StreamType> | |
| StreamType & | operator<< (StreamType &os, VFPFlags f) |
| Print the VFPFlags to a stream. | |
Variables | |
| constexpr unsigned int | dimension = 2 |
| constexpr VFPFlags | vfp_flags |
Namespace for the Vlasov-Fokker-Planck module.
|
strong |
Boundary conditions for the VFP equation.
|
strong |
Grid generation types for the VFP equation.
| Enumerator | |
|---|---|
| hypercube | Create a hypercube grid. |
| shock | Create a grid for a shock problem in x-direction. |
| file | Use a grid that is read from a file. |
|
strong |
Time stepping methods for the VFP equation.
|
strong |
Flags to activate the different terms of the VFP equation.
We split the VFP equation into different terms,
\begin{align} \frac{\partial f}{\partial t} & \quad & \text{(time-evolution term)} \\ & + (\mathbf{u} + \mathbf{v}) \cdot \nabla_{x} f & \text{(spatial advection term)} \\ & - \gamma m \frac{\mathrm{D} \mathbf{u}}{\mathrm{D} t} \cdot \nabla_{p}f - \mathbf{p} \cdot\nabla_{x} \mathbf{u}\cdot \nabla_{p} f & \text{(momentum term)} \\ & + q \mathbf{v} \cdot \left( \mathbf{B} \times \nabla_{p} f \right) & \text{(rotation term)} \\ & + \nabla_{p} \cdot \left( \sigma \Big( \mathbf{B}\,(\mathbf{B}\cdot\boldsymbol{\beta}) + \gamma^{2}\,\boldsymbol{\beta}\, \big((\boldsymbol{\beta}\cdot\mathbf{B})^{2} - B^{2}\big) \Big)\, f \right) & \text{(radiation reaction term)} \\ = & \frac{\nu}{2} \Delta_{\theta, \varphi} f & \text{(collision term)} \\ & + S \,. & \text{(source term)} \\ \end{align}
These terms can be individually activated or deactivated.
| StreamType & sapphirepp::VFP::operator<< | ( | StreamType & | os, |
| const ReferenceValues & | reference_values ) |
Output reference values to a stream.
| StreamType | Type of the stream |
| os | Output stream |
| reference_values | Reference values |
|
inline |
|
constexpr |
[Dimension] Specify reduced phase space dimension \( (\mathbf{x}, p) \)