88 a_0,
a_x,
a_y,
a_z,
a_xx,
a_yy,
a_zz,
a_xy,
a_xz,
a_yz,
a_xxx,
a_xxy,
a_xyy,
a_xxz,
a_xzz,
a_xyz,
89 b_0,
b_x,
b_y,
b_z,
b_xx,
b_yy,
b_zz,
b_xy,
b_xz,
b_yz,
b_xxy,
b_xyy,
b_yyy,
b_yyz,
b_yzz,
b_xyz,
90 c_0,
c_x,
c_y,
c_z,
c_xx,
c_yy,
c_zz,
c_xy,
c_xz,
c_yz,
c_xxz,
c_xzz,
c_yyz,
c_yzz,
c_xyz,
c_zzz,
95std::array<Real, Rec::N_REC_COEFFICIENTS>
98 const fsgrid::FsStencil& stencil,
Real reconstructionOrder);
104 std::map<std::array<int, 3>, std::array<Real, Rec::N_REC_COEFFICIENTS>>& reconstructionCoefficientsCache,
108 const std::array<Real, 3> x
115 std::map<std::array<int, 3>, std::array<Real, Rec::N_REC_COEFFICIENTS>>& reconstructionCoefficientsCache,
119 const std::array<Real, 3> x
SysBoundary contains the SysBoundaryConditions used in the simulation.
fsgrid::FsGrid< FS_STENCIL_WIDTH > FieldSolverGrid
std::array< Real, 3 > interpolateCurlB(fsgrids::perbspan perb, fsgrids::constdperbspan dperb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, std::map< std::array< int, 3 >, std::array< Real, Rec::N_REC_COEFFICIENTS > > &reconstructionCoefficientsCache, cint i, cint j, cint k, const std::array< Real, 3 > x)
Real divideIfNonZero(creal rhoV, creal rho)
Helper function.
std::array< Real, Rec::N_REC_COEFFICIENTS > reconstructionCoefficients(fsgrids::perbspan perb, fsgrids::constdperbspan dperb, const fsgrid::FsStencil &stencil, Real reconstructionOrder)
Low-level helper function.
bool propagateFields(fsgrids::perbspan perb, fsgrids::perbspan perbdt2, fsgrids::efieldspan e, fsgrids::efieldspan edt2, fsgrids::ehallspan ehall, fsgrids::egradpespan egradpe, fsgrids::egradpespan egradpedt2, fsgrids::momentsspan moments, fsgrids::momentsspan momentsdt2, fsgrids::dperbspan dperb, fsgrids::dmomentsspan dmoments, fsgrids::dmomentsspan dmomentsdt2, fsgrids::bgbspan bgb, fsgrids::volspan vol, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, SysBoundary &sysBoundaries, creal &dt, cuint subcycles)
Top-level field propagation function.
std::array< Real, 3 > interpolatePerturbedB(fsgrids::perbspan perb, fsgrids::constdperbspan dperb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, std::map< std::array< int, 3 >, std::array< Real, Rec::N_REC_COEFFICIENTS > > &reconstructionCoefficientsCache, cint i, cint j, cint k, const std::array< Real, 3 > x)
std::span< std::array< Real, fsgrids::bfield::N_BFIELD > > perbspan
std::span< std::array< Real, fsgrids::moments::N_MOMENTS > > momentsspan
std::span< std::array< Real, fsgrids::egradpe::N_EGRADPE > > egradpespan
std::span< std::array< Real, fsgrids::dmoments::N_DMOMENTS > > dmomentsspan
std::span< technical > technicalspan
std::span< std::array< Real, bgbfield::N_BGB > > bgbspan
std::span< std::array< Real, fsgrids::dperb::N_DPERB > > dperbspan
std::span< std::array< Real, fsgrids::efield::N_EFIELD > > efieldspan
std::span< std::array< Real, fsgrids::volfields::N_VOL > > volspan
std::span< std::array< Real, fsgrids::ehall::N_EHALL > > ehallspan
std::span< const std::array< Real, fsgrids::dperb::N_DPERB > > constdperbspan