Base class for boundary conditions with settings and parameters read from file.
More...
|
| | Inflow () |
| virtual | ~Inflow () |
| virtual void | initSysBoundary (creal &t, Project &project) 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 | updateState (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::bgbspan bgb, creal t) override |
| 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 | 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 | fieldSolverBoundaryCondGradPeElectricField (fsgrids::egradpespan EGradPe, const fsgrid::FsStencil &stencil, cuint component) 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 |
| virtual void | vlasovBoundaryCondition (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const uint popID, const bool doCalcMomentsV) override |
| virtual void | getFaces (bool *faces) override |
| virtual std::string | getName () const override |
| virtual uint | getIndex () const =0 |
| virtual void | assignSysBoundary (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) |
| | SysBoundaryCondition () |
| virtual | ~SysBoundaryCondition () |
| virtual void | getParameters () |
| virtual void | generateTemplateCell () |
| virtual void | mapCellPotentialAndGetEXBDrift (std::array< Real, CellParams::N_SPATIAL_CELL_PARAMS > &cellParams) |
| virtual void | setupL2OutflowAtRestart (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| uint | getPrecedence () const |
| bool | isDynamic () const |
| bool | updateSysBoundaryConditionsAfterLoadBalance (const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &local_cells_on_boundary) |
| bool | doApplyUponRestart () const |
| void | setPeriodicity (std::array< bool, 3 > isFacePeriodic) |
|
| std::vector< std::vector< Real > > | loadFile (const char *file, unsigned int nParams) |
| void | loadInputData (const uint popID) |
| void | interpolate (const int inputDataIndex, const uint popID, creal t, Real *outputData) |
| void | generateTemplateCells (creal t) |
| virtual void | generateTemplateCell (spatial_cell::SpatialCell &templateCell, Real(&B)[3], int inputDataIndex, creal t) |
| void | setCellsFromTemplate (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const uint popID) |
| void | setBFromTemplate (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::perbspan perb, fsgrids::bgbspan bgb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, const bool resetSolved) |
| void | determineFace (bool *isThisCellOnAFace, const creal x, const creal y, const creal z, const creal dx, const creal dy, const creal dz, const bool excludeSlicesAndPeriodicDimensions=false) const |
| | Function used to determine on which face(s) if any the cell at given coordinates is.
|
| void | determineFace (std::array< bool, 6 > &isThisCellOnAFace, const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, CellID id, const bool excludeSlicesAndPeriodicDimensions=false) |
| | Function used to determine on which face(s) if any the cell with the given MPI id is on.
|
| void | copyCellData (const SpatialCell *from, SpatialCell *to, const bool copyMomentsOnly, const uint popID, const bool copy_V_moments) |
| std::array< SpatialCell *, 27 > & | getFlowtoCells (const CellID &cellID) |
| std::array< Realf *, 27 > | getFlowtoCellsBlock (const std::array< SpatialCell *, 27 > flowtoCells, const vmesh::GlobalID blockGID, const uint popID) |
| int | nbrID (const int i, const int j, const int k) |
| void | vlasovBoundaryCopyFromTheClosestNbr (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const bool ©MomentsOnly, const uint popID, const bool calculate_V_moments) |
| void | vlasovBoundaryCopyFromTheClosestL1OutflowNbr (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const bool ©MomentsOnly, const uint popID, const bool calculate_V_moments) |
| void | vlasovBoundaryCopyFromAllClosestNbrs (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const uint popID, const bool calculate_V_moments) |
| void | vlasovBoundaryFluffyCopyFromAllCloseNbrs (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const CellID &cellID, const uint popID, const bool calculate_V_moments, creal fluffiness) |
| std::array< int, 3 > | getTheClosestNonsysboundaryCell (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, cint i, cint j, cint k) |
| std::vector< std::array< int, 3 > > | getAllClosestNonsysboundaryCells (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, cint i, cint j, cint k) |
| CellID & | getTheClosestNonsysboundaryCell (const CellID &cellID) |
| std::vector< CellID > & | getAllClosestNonsysboundaryCells (const CellID &cellID) |
| std::vector< CellID > & | getAllCloseNonsysboundaryCells (const CellID &cellID) |
| Real | fieldBoundaryCopyFromSolvingNbrMagneticField (fsgrids::perbspan b, fsgrids::consttechnicalspan technical, const fsgrid::FsStencil &stencil, cuint component, cuint mask) |
| CellID & | getTheClosestL1OutflowCell (const CellID &cellID) |
| std::vector< CellID > & | getAllClosestL1OutflowCells (const CellID &cellID) |
Base class for boundary conditions with settings and parameters read from file.
Inflow is a base class for e.g. SysBoundaryConditon::Maxwellian. It defines methods to set boundary conditions on the faces of the simulation domain.
This class handles the import and interpolation in time of the input parameters read from file as well as the assignment of the state from the template cells.
The daughter classes have then to handle parameters and generate the template cells as wished from the data returned.
Definition at line 55 of file inflow.h.