Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
ldz_hall.cpp File Reference
#include "fs_common.h"
#include "ldz_hall.hpp"
#include <limits>
Include dependency graph for ldz_hall.cpp:

Go to the source code of this file.

Functions

template<typename REAL>
REAL JXBX_000_100 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBY, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBX_010_110 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBY, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBX_001_101 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBY, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBX_011_111 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBY, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBY_000_010 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBY_100_110 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBY_001_011 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBY_101_111 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBZ, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBZ_000_001 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBY, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBZ_100_101 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBY, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBZ_010_011 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBY, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXBZ_110_111 (const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, creal BGBX, creal BGBY, const std::array< Real, 3 > &gridSpacing)
 Low-level Hall component computation.
template<typename REAL>
REAL JXB (fsgrids::ehall term, const std::array< REAL, Rec::N_REC_COEFFICIENTS > &pC, Real BGBX, Real BGBY, Real BGBZ, const std::array< Real, 3 > &gridSpacing)
void calculateEdgeHallTermComponents (fsgrids::perbspan perbs, fsgrids::ehallspan ehalls, fsgrids::constmomentsspan moments, fsgrids::constdperbspan dperbs, fsgrids::constbgbspan bgbs, const std::array< Real, 3 > &gridSpacing, const std::array< Real, Rec::N_REC_COEFFICIENTS > &perturbedCoefficients, const fsgrid::FsStencil &stencil)
 Low-level function computing the Hall term numerator x components.
void calculateHallTerm (fsgrids::perbspan perb, fsgrids::ehallspan ehall, fsgrids::constmomentsspan moments, fsgrids::constdperbspan dperb, fsgrids::constbgbspan bgb, fsgrids::consttechnicalspan technical, const fsgrid::FsStencil &stencil, SysBoundary &sysBoundaries, const std::array< Real, 3 > &gridSpacing)
 Calculate the numerator of the Hall term on all given cells.
void calculateHallTermSimple (fsgrids::perbspan perb, fsgrids::perbspan perbdt2, fsgrids::ehallspan ehall, fsgrids::momentsspan moments, fsgrids::momentsspan momentsdt2, fsgrids::dperbspan dperb, fsgrids::dmomentsspan dmoments, fsgrids::dmomentsspan dmomentsdt2, fsgrids::bgbspan bgb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, SysBoundary &sysBoundaries, int32_t RKCase, const bool communicateMomentsDerivatives)
 High-level function computing the Hall term.

Function Documentation

◆ calculateEdgeHallTermComponents()

void calculateEdgeHallTermComponents ( fsgrids::perbspan perbs,
fsgrids::ehallspan ehalls,
fsgrids::constmomentsspan moments,
fsgrids::constdperbspan dperbs,
fsgrids::constbgbspan bgbs,
const std::array< Real, 3 > & gridSpacing,
const std::array< Real, Rec::N_REC_COEFFICIENTS > & perturbedCoefficients,
const fsgrid::FsStencil & stencil )

Low-level function computing the Hall term numerator x components.

Calls the lower-level inline templates and scales the components properly.

Parameters
perbsfsGrid holding the perturbed B quantities
ehallsfsGrid holding the Hall contributions to the electric field
momentsfsGrid holding the moment quantities
dperbsfsGrid holding the derivatives of perturbed B
bgbsfsGrid holding the background B quantities
gridSpacingfsgrid cell size in x,y,z
perturbedCoefficientsReconstruction coefficients
stencilfsGrid stencil for current cell
See also
calculateHallTerm JXBX_000_100 JXBX_001_101 JXBX_010_110 JXBX_011_111

Definition at line 866 of file ldz_hall.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateHallTerm()

void calculateHallTerm ( fsgrids::perbspan perb,
fsgrids::ehallspan ehall,
fsgrids::constmomentsspan moments,
fsgrids::constdperbspan dperb,
fsgrids::constbgbspan bgb,
fsgrids::consttechnicalspan technical,
const fsgrid::FsStencil & stencil,
SysBoundary & sysBoundaries,
const std::array< Real, 3 > & gridSpacing )

Calculate the numerator of the Hall term on all given cells.

Parameters
perbfsGrid holding the perturbed B quantities
ehallfsGrid holding the Hall contributions to the electric field
momentsfsGrid holding the moment quantities
dperbfsGrid holding the derivatives of perturbed B
bgbfsGrid holding the background B quantities
technicalfsGrid holding technical information (such as boundary types)
stencilfsgrid stencil of current cell
sysBoundariesSystem boundary condition functions.
gridSpacingfsgrid cell size in x,y,z
See also
calculateHallTermSimple calculateEdgeHallTermComponents

Definition at line 1060 of file ldz_hall.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateHallTermSimple()

void calculateHallTermSimple ( fsgrids::perbspan perb,
fsgrids::perbspan perbdt2,
fsgrids::ehallspan ehall,
fsgrids::momentsspan moments,
fsgrids::momentsspan momentsdt2,
fsgrids::dperbspan dperb,
fsgrids::dmomentsspan dmoments,
fsgrids::dmomentsspan dmomentsdt2,
fsgrids::bgbspan bgb,
fsgrids::technicalspan technical,
FieldSolverGrid & fsgrid,
SysBoundary & sysBoundaries,
int32_t RKCase,
const bool communicateMomentsDerivatives )

High-level function computing the Hall term.

Performs the communication before and after the computation as well as the computation of all Hall term numerator components.

Parameters
perbfsGrid holding the perturbed B quantities
perbdt2fsGrid holding the perturbed B quantities at runge-kutta half step
ehallfsGrid holding the Hall contributions to the electric field
momentsfsGrid holding the moment quantities
momentsdt2fsGrid holding the moment quantities at runge-kutta half step
dperbfsGrid holding the derivatives of perturbed B
dmomentsfsGrid holding the derivatives of moments
dmomentsdt2fsGrid holding the derivatives of moments at Runge-Kutta half step
bgbfsGrid holding the background B quantities
technicalfsGrid holding technical information (such as boundary types)
fsgridfsgrids container
sysBoundariesSystem boundary condition functions.
RKCaseElement in the enum defining the Runge-Kutta method steps
communicateMomentsDerivativesBoolean flag whether to ghost update moments derivatives
See also
calculateHallTerm

Definition at line 1120 of file ldz_hall.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ JXB()

template<typename REAL>
REAL JXB ( fsgrids::ehall term,
const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
Real BGBX,
Real BGBY,
Real BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Definition at line 804 of file ldz_hall.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ JXBX_000_100()

template<typename REAL>
REAL JXBX_000_100 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBY,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBYBackground By
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermComponents

Definition at line 46 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBX_001_101()

template<typename REAL>
REAL JXBX_001_101 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBY,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBYBackground By
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermComponents

Definition at line 174 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBX_010_110()

template<typename REAL>
REAL JXBX_010_110 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBY,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBYBackground By
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermComponents

Definition at line 110 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBX_011_111()

template<typename REAL>
REAL JXBX_011_111 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBY,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBYBackground By
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermComponents

Definition at line 238 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBY_000_010()

template<typename REAL>
REAL JXBY_000_010 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermYComponents

Definition at line 303 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBY_001_011()

template<typename REAL>
REAL JXBY_001_011 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermYComponents

Definition at line 431 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBY_100_110()

template<typename REAL>
REAL JXBY_100_110 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermYComponents

Definition at line 367 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBY_101_111()

template<typename REAL>
REAL JXBY_101_111 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBZ,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBZBackground Bz
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermYComponents

Definition at line 495 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBZ_000_001()

template<typename REAL>
REAL JXBZ_000_001 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBY,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBYBackground By
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermZComponents

Definition at line 560 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBZ_010_011()

template<typename REAL>
REAL JXBZ_010_011 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBY,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBYBackground By
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermZComponents

Definition at line 688 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBZ_100_101()

template<typename REAL>
REAL JXBZ_100_101 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBY,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBYBackground By
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermZComponents

Definition at line 624 of file ldz_hall.cpp.

Here is the caller graph for this function:

◆ JXBZ_110_111()

template<typename REAL>
REAL JXBZ_110_111 ( const std::array< REAL, Rec::N_REC_COEFFICIENTS > & pC,
creal BGBX,
creal BGBY,
const std::array< Real, 3 > & gridSpacing )
inline

Low-level Hall component computation.

Hall term computation following Balsara reconstruction, edge-averaged.

Parameters
pCReconstruction coefficients
BGBXBackground Bx
BGBYBackground By
gridSpacingfsgrid cell size in x,y,z
See also
calculateEdgeHallTermZComponents

Definition at line 752 of file ldz_hall.cpp.

Here is the caller graph for this function: