63 virtual void applyInitialState(dccrg::Dccrg<SpatialCell, dccrg::Cartesian_Geometry>& mpiGrid,
67 virtual void updateState(dccrg::Dccrg<SpatialCell, dccrg::Cartesian_Geometry>& mpiGrid,
74 const std::array<Real, 3>& gridSpacing,
75 const std::array<fsgrid::FsSize_t, 3>& globalCoordinates,
76 const fsgrid::FsStencil& stencil,
cuint component)
override;
78 const fsgrid::FsStencil& stencil,
cuint component)
override;
80 const fsgrid::FsStencil& stencil,
cuint component)
override;
83 const fsgrid::FsStencil& stencil,
cuint component)
override;
86 const fsgrid::FsStencil& stencil,
cuint RKCase,
87 cuint component)
override;
89 const fsgrid::FsStencil& stencil,
cuint component)
override;
91 const CellID& cellID,
const uint popID,
const bool doCalcMomentsV)
override;
92 virtual void getFaces(
bool* faces)
override;
93 virtual std::string
getName()
const override {
94 std::cerr <<
"ERROR: base class Inflow::getParameters called!" << std::endl;
115 std::vector<std::vector<Real>>
loadFile(
const char*
file,
unsigned int nParams);
122 std::cerr <<
"ERROR: base class Inflow::generateTemplateCell called!" << std::endl;
124 void setCellsFromTemplate(dccrg::Dccrg<SpatialCell, dccrg::Cartesian_Geometry>& mpiGrid,
const uint popID);
125 void setBFromTemplate(dccrg::Dccrg<SpatialCell, dccrg::Cartesian_Geometry>& mpiGrid,
130 const bool resetSolved);
virtual std::string getName() const override
spatial_cell::SpatialCell templateCells[6]
void interpolate(const int inputDataIndex, const uint popID, creal t, Real *outputData)
virtual void fieldSolverBoundaryCondElectricField(fsgrids::efieldspan e, const fsgrid::FsStencil &stencil, cuint component) override
virtual void fieldSolverBoundaryCondHallElectricField(fsgrids::ehallspan ehall, const fsgrid::FsStencil &stencil, cuint component) override
virtual void getFaces(bool *faces) override
virtual void vlasovBoundaryCondition(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const uint popID, const bool doCalcMomentsV) override
void generateTemplateCells(creal t)
virtual void updateState(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::bgbspan bgb, creal t) override
virtual uint getIndex() const =0
virtual void initSysBoundary(creal &t, Project &project) override
virtual void fieldSolverBoundaryCondDerivatives(fsgrids::dperbspan dperb, fsgrids::dmomentsspan dmoments, const fsgrid::FsStencil &stencil, cuint RKCase, cuint component) override
virtual void fieldSolverBoundaryCondBVOLDerivatives(fsgrids::volspan vols, const fsgrid::FsStencil &stencil, cuint component) override
std::vector< InflowSpeciesParameters > speciesParams
void setCellsFromTemplate(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const uint popID)
void loadInputData(const uint popID)
std::vector< std::string > faceList
virtual Real fieldSolverBoundaryCondMagneticField(fsgrids::perbspan b, fsgrids::constbgbspan bgb, fsgrids::consttechnicalspan technical, const std::array< Real, 3 > &gridSpacing, const std::array< fsgrid::FsSize_t, 3 > &globalCoordinates, const fsgrid::FsStencil &stencil, cuint component) override
virtual void applyInitialState(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::bgbspan bgb, Project &project) override
virtual void generateTemplateCell(spatial_cell::SpatialCell &templateCell, Real(&B)[3], int inputDataIndex, creal t)
void setBFromTemplate(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::perbspan perb, fsgrids::bgbspan bgb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, const bool resetSolved)
std::vector< std::vector< Real > > loadFile(const char *file, unsigned int nParams)
virtual void fieldSolverBoundaryCondGradPeElectricField(fsgrids::egradpespan EGradPe, const fsgrid::FsStencil &stencil, cuint component) override
fsgrid::FsGrid< FS_STENCIL_WIDTH > FieldSolverGrid
std::span< std::array< Real, fsgrids::bfield::N_BFIELD > > perbspan
std::span< const std::array< Real, bgbfield::N_BGB > > constbgbspan
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< const technical > consttechnicalspan
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::vector< std::vector< Real > > inputData[6]