|
Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
|
Maxwellian is a class applying fixed Maxwellian conditions according to parameters read from an input file. More...
#include <setmaxwellian.h>


Public Member Functions | |
| Maxwellian () | |
| virtual | ~Maxwellian () |
| virtual void | getParameters () override |
| virtual string | getName () const override |
| virtual uint | getIndex () const override |
| void | generateTemplateCell (spatial_cell::SpatialCell &templateCell, Real(&B)[3], int inputDataIndex, creal t) override |
| Generate the template cell for the face corresponding to the index passed. This function generates a spatial cell which is to be used as a template for the system boundary condition. | |
| Public Member Functions inherited from SBC::Inflow | |
| 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 |
| Public Member Functions inherited from SBC::OuterBoundaryCondition | |
| virtual void | assignSysBoundary (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) |
| Public Member Functions inherited from SBC::SysBoundaryCondition | |
| SysBoundaryCondition () | |
| virtual | ~SysBoundaryCondition () |
| 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) |
Static Public Member Functions | |
| static void | addParameters () |
| Static Public Member Functions inherited from SBC::SysBoundaryCondition | |
| static void | addParameters () |
| static void | setCellDerivativesToZero (fsgrids::dperbspan dperb, fsgrids::dmomentsspan dmoments, const fsgrid::FsStencil &stencil, cuint component) |
| static void | setCellBVOLDerivativesToZero (fsgrids::volspan vols, const fsgrid::FsStencil &stencil, cuint component) |
Additional Inherited Members | |
| Protected Member Functions inherited from SBC::Inflow | |
| 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) |
| 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) |
| Protected Member Functions inherited from SBC::SysBoundaryCondition | |
| 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) |
| Protected Attributes inherited from SBC::Inflow | |
| spatial_cell::SpatialCell | templateCells [6] |
| Real | templateB [6][3] |
| Real | tInterval |
| Real | tLastApply |
| std::vector< std::string > | faceList |
| std::vector< InflowSpeciesParameters > | speciesParams |
| Protected Attributes inherited from SBC::OuterBoundaryCondition | |
| std::array< bool, 6 > | facesToProcess |
| Protected Attributes inherited from SBC::SysBoundaryCondition | |
| uint | precedence |
| bool | dynamic |
| std::array< bool, 3 > | periodic |
| std::unordered_map< CellID, std::vector< CellID > > | allClosestNonsysboundaryCells |
| std::unordered_map< CellID, std::vector< CellID > > | allCloseNonsysboundaryCells |
| std::unordered_map< CellID, std::vector< CellID > > | allClosestL1OutflowCells |
| std::unordered_map< CellID, std::vector< CellID > > | allCloseL1OutflowCells |
| bool | applyUponRestart |
Maxwellian is a class applying fixed Maxwellian conditions according to parameters read from an input file.
Maxwellian is a class handling cells tagged as sysboundarytype::MAXWELLIAN by this boundary condition.
It applies fixed Maxwellian settings to the inflow boundary cells, the parameters of which are being read from an input file.
Definition at line 44 of file setmaxwellian.h.
| SBC::Maxwellian::Maxwellian | ( | ) |
|
virtual |
Definition at line 39 of file setmaxwellian.cpp.
|
static |
Definition at line 41 of file setmaxwellian.cpp.


|
overridevirtual |
Generate the template cell for the face corresponding to the index passed. This function generates a spatial cell which is to be used as a template for the system boundary condition.
| templateCell | Address of the template cell to be generated. |
| B | Address of the magnetic field to be used as template. |
| inputDataIndex | Index used for the location of the input data. |
| t | Current simulation time. |
Reimplemented from SBC::Inflow.
Definition at line 125 of file setmaxwellian.cpp.

|
overridevirtual |
Implements SBC::Inflow.
Definition at line 230 of file setmaxwellian.cpp.

|
overridevirtual |
Reimplemented from SBC::Inflow.
Definition at line 229 of file setmaxwellian.cpp.
|
overridevirtual |
Reimplemented from SBC::SysBoundaryCondition.
Definition at line 86 of file setmaxwellian.cpp.
