Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
projects::verificationLarmor Class Reference

#include <verificationLarmor.h>

Inheritance diagram for projects::verificationLarmor:
Collaboration diagram for projects::verificationLarmor:

Public Member Functions

 verificationLarmor ()
virtual ~verificationLarmor ()
virtual bool initialize (void) override
virtual void getParameters (void) override
virtual void setProjectBField (fsgrids::perbspan perb, fsgrids::bgbspan bgb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) override
Public Member Functions inherited from projects::Project
 Project ()
virtual ~Project ()
virtual Real getCorrectNumberDensity (spatial_cell::SpatialCell *cell, const uint popID) const
virtual void hook (cuint &stage, const dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::perbspan perb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) const
bool initialized ()
virtual void setupBeforeSetCell (const std::vector< CellID > &cells)
void setCell (spatial_cell::SpatialCell *cell)
 Set the perturbed fields and distribution of a cell according to the default simulation settings. This is used for the NOT_SYSBOUNDARY cells and some other system boundary conditions (e.g. Outflow).
virtual bool canRefine (spatial_cell::SpatialCell *cell) const
virtual bool shouldRefineCell (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, CellID id, Real r_max2) const
virtual bool shouldUnrefineCell (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, CellID id, Real r_max2) const
virtual bool refineSpatialCells (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) const
virtual uint64_t adaptRefinement (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) const
 Adapts refinement by one level according to the project. Returns true if any cells were refined, false if not.
virtual bool forceRefinement (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, int n) const
 Refine/unrefine spatial cells one level to the static criteria in the config.
virtual bool filterRefined (dccrg::Dccrg< spatial_cell::SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) const
 Boxcar filters spatial cells that were recently refined.

Static Public Member Functions

static void addParameters (void)
Static Public Member Functions inherited from projects::Project
static void addParameters ()

Protected Member Functions

virtual Realf fillPhaseSpace (spatial_cell::SpatialCell *cell, const uint popID, const uint nRequested) const override
virtual void calcCellParameters (spatial_cell::SpatialCell *cell, creal &t) override
Protected Member Functions inherited from projects::Project
virtual uint findBlocksToInitialize (spatial_cell::SpatialCell *cell, const uint popID) const
 Prepares a list of blocks to loop through when initialising.
void setVelocitySpace (const uint popID, spatial_cell::SpatialCell *cell) const
 Sets the distribution function in a cell.
void printPopulations ()
virtual bool rescalesDensity (const uint popID) const
void rescaleDensity (spatial_cell::SpatialCell *cell, const uint popID) const
Real getRandomNumber (std::default_random_engine &randGen) const
void setRandomSeed (uint64_t seedModifier, std::default_random_engine &randGen) const
void setRandomCellSeed (spatial_cell::SpatialCell *cell, std::default_random_engine &randGen) const

Protected Attributes

Real BX0
Real BY0
Real BZ0
Real VX0
Real VY0
Real VZ0
Real X0
Real Y0
Real Z0
Real DENSITY

Detailed Description

Definition at line 32 of file verificationLarmor.h.

Constructor & Destructor Documentation

◆ verificationLarmor()

projects::verificationLarmor::verificationLarmor ( )

Definition at line 40 of file verificationLarmor.cpp.

Here is the call graph for this function:

◆ ~verificationLarmor()

projects::verificationLarmor::~verificationLarmor ( )
virtual

Definition at line 41 of file verificationLarmor.cpp.

Member Function Documentation

◆ addParameters()

void projects::verificationLarmor::addParameters ( void )
static

Definition at line 44 of file verificationLarmor.cpp.

Here is the caller graph for this function:

◆ calcCellParameters()

void projects::verificationLarmor::calcCellParameters ( spatial_cell::SpatialCell * cell,
creal & t )
overrideprotectedvirtual

Calculate potentially needed parameters for the given spatial cell at the given time.

Currently this function is only called during initialization.

The following array indices contain the coordinates of the "lower left corner" of the cell: CellParams::XCRD, CellParams::YCRD, and CellParams::ZCRD. The cell size is given in the following array indices: CellParams::DX, CellParams::DY, and CellParams::DZ.

Parameters
cellPointer to the spatial cell to be handled.
tThe current value of time. This is passed as a convenience. If you need more detailed information of the state of the simulation, you can read it from Parameters.

Print a warning message to stderr and abort, one should not use the base class functions.

Reimplemented from projects::Project.

Definition at line 148 of file verificationLarmor.cpp.

◆ fillPhaseSpace()

Realf projects::verificationLarmor::fillPhaseSpace ( spatial_cell::SpatialCell * cell,
const uint popID,
const uint nRequested ) const
overrideprotectedvirtual

Calculates the distribution function contents for the spatial cell and population in question NOTE: This function is called inside parallel region so it must be declared as const. This function will contain a loop over nRequested velocity blocks, with the block GlobalIDs provided in the GIDlist buffer, storing phase-space densities in the bufferData buffer.

Parameters
popIDParticle species ID.
Returns
The total stored number density of the cell for this population The physical unit of this quantity is 1/m^3.

Implements projects::Project.

Definition at line 78 of file verificationLarmor.cpp.

Here is the call graph for this function:

◆ getParameters()

void projects::verificationLarmor::getParameters ( void )
overridevirtual

Get the value that was read in.

Reimplemented from projects::Project.

Definition at line 58 of file verificationLarmor.cpp.

Here is the call graph for this function:

◆ initialize()

bool projects::verificationLarmor::initialize ( void )
overridevirtual

Initialize project. Can be used, e.g., to read in parameters from the input file.

Initialize the Project. Velocity mesh and particle population parameters are read from the configuration file, and corresponding internal variables are created here. NOTE: Each project must call this function!

Returns
If true, particle species and velocity meshes were created successfully.

Reimplemented from projects::Project.

Definition at line 42 of file verificationLarmor.cpp.

Here is the call graph for this function:

◆ setProjectBField()

void projects::verificationLarmor::setProjectBField ( fsgrids::perbspan perb,
fsgrids::bgbspan bgb,
fsgrids::technicalspan technical,
FieldSolverGrid & fsgrid )
overridevirtual

Set the background and perturbed magnetic fields for this project.

Parameters
perBGridGrid on which values of the perturbed field can be set if needed.
BgBGridGrid on which values for the background field can be set if needed, e.g. using the background field functions.
technicalTechnical fsgrid, available if some of its data is necessary.
See also
setBackgroundField, setBackgroundFieldToZero

Print a warning message to stderr and abort, one should not use the base class functions.

Reimplemented from projects::Project.

Definition at line 150 of file verificationLarmor.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ BX0

Real projects::verificationLarmor::BX0
protected

Definition at line 49 of file verificationLarmor.h.

◆ BY0

Real projects::verificationLarmor::BY0
protected

Definition at line 50 of file verificationLarmor.h.

◆ BZ0

Real projects::verificationLarmor::BZ0
protected

Definition at line 51 of file verificationLarmor.h.

◆ DENSITY

Real projects::verificationLarmor::DENSITY
protected

Definition at line 58 of file verificationLarmor.h.

◆ VX0

Real projects::verificationLarmor::VX0
protected

Definition at line 52 of file verificationLarmor.h.

◆ VY0

Real projects::verificationLarmor::VY0
protected

Definition at line 53 of file verificationLarmor.h.

◆ VZ0

Real projects::verificationLarmor::VZ0
protected

Definition at line 54 of file verificationLarmor.h.

◆ X0

Real projects::verificationLarmor::X0
protected

Definition at line 55 of file verificationLarmor.h.

◆ Y0

Real projects::verificationLarmor::Y0
protected

Definition at line 56 of file verificationLarmor.h.

◆ Z0

Real projects::verificationLarmor::Z0
protected

Definition at line 57 of file verificationLarmor.h.


The documentation for this class was generated from the following files: