Attributes of StateData. More...
#include <AMReX_StateDescriptor.H>
Classes | |
class | BndryFunc |
Public Types | |
enum | TimeCenter { Point = 0 , Interval } |
Defines the temporal centeredness of data. More... | |
Public Member Functions | |
StateDescriptor () noexcept | |
The default constructor. More... | |
StateDescriptor (IndexType btyp, TimeCenter ttyp, int ident, int nextra, int num_comp, InterpBase *interp, bool extrap=false, bool store_in_checkpoint=true) | |
Constructor that sets all data members. More... | |
void | define (IndexType btyp, TimeCenter ttyp, int ident, int nextra, int num_comp, InterpBase *interp, bool extrap=false, bool store_in_checkpoint=true) |
Define the data members if constructed with default constructor. More... | |
void | setComponent (int comp, const std::string &nm, const BCRec &bc, const BndryFunc &func, InterpBase *interp=nullptr, int max_map_start_comp=-1, int min_map_end_comp=-1) |
Sets details of comp component. More... | |
void | setComponent (int comp, const std::string &nm, const BCRec &bc, const BndryFunc &func, InterpBase *interp, bool a_primary, int groupsize) |
Sets details of comp component. More... | |
void | resetComponentBCs (int comp, const BCRec &bcr, const BndryFunc &func) |
Resets boundary condition data for comp component. More... | |
void | setUpMaps (int &use_default_map, const InterpBase *default_map, int start_comp, int num_comp, InterpBase **&maps, int &nmaps, int *&map_start_comp, int *&map_num_comp, int *&max_start_comp, int *&min_end_comp) const |
Set interpolaters for a subset of the state vector components. More... | |
void | dumpNames (std::ostream &os, int start_comp, int num_comp) const |
Output names of components. More... | |
IndexType | getType () const noexcept |
Returns the IndexType. More... | |
StateDescriptor::TimeCenter | timeType () const noexcept |
Returns StateDescriptor::TimeCenter. More... | |
int | nComp () const noexcept |
Returns number of components. More... | |
int | nExtra () const noexcept |
Returns the grow factor. More... | |
InterpBase * | interp () const noexcept |
Returns the interpolater. More... | |
InterpBase * | interp (int i) const noexcept |
Returns the interpolater of specified component. More... | |
const std::string & | name (int i) const noexcept |
Returns the name of specified component. More... | |
const BCRec & | getBC (int i) const noexcept |
Returns the BCRec of specified component. More... | |
const Vector< BCRec > & | getBCs () const noexcept |
Returns all BCRecs. More... | |
const BndryFunc & | bndryFill (int i) const noexcept |
Returns the BndryFunc of specified component. More... | |
int | inRange (int sc, int nc) const noexcept |
Is sc>=0 && sc+nc<=ncomp ? More... | |
bool | identicalInterps (int scomp, int ncomp) const noexcept |
Are the interpolaters in the specified range identical? More... | |
std::vector< std::pair< int, int > > | sameInterps (int scomp, int ncomp) const |
bool | extrap () const noexcept |
Can extrapolate in time. More... | |
bool | store_in_checkpoint () const noexcept |
Should store this StateData in the checkpoint file. More... | |
bool | primary (int i) const noexcept |
int | groupsize (int i) const noexcept |
bool | RunOnGPU () const noexcept |
will it run on gpu? More... | |
bool | hasBndryFuncFab () const noexcept |
has new fab version of BndryFunc? More... | |
Static Public Member Functions | |
static void | cleanUpMaps (InterpBase **&maps, int *&map_start_comp, int *&map_num_comp, int *&max_start_comp, int *&min_end_comp) |
Cleanup interpolaters for a subset of the state vector components. More... | |
static void | setBndryFuncThreadSafety (int ext_dir_safe) noexcept |
Static Private Member Functions | |
static bool | bf_thread_safety (const int *lo, const int *hi, const int *dom_lo, const int *dom_hi, const int *bc, int ng) |
Private Attributes | |
IndexType | type |
Cell centered, node centered ... More... | |
TimeCenter | t_type {Point} |
Temporal centering. More... | |
int | id {-1} |
Unique id. More... | |
int | ncomp {0} |
Number of components. More... | |
int | ngrow {0} |
Grow factor. More... | |
InterpBase * | mapper {nullptr} |
Default interpolator. More... | |
bool | m_extrap {false} |
Can extrapolate in time? More... | |
bool | m_store_in_checkpoint {true} |
Should store this in the checkpoint file? More... | |
Vector< std::string > | names |
Printable names of components. More... | |
Vector< BCRec > | bc |
Array of bndry types for entire level. More... | |
Vector< std::unique_ptr< BndryFunc > > | bc_func |
Array of pointers to bndry fill functions. More... | |
Vector< int > | m_primary |
Are we a primary or secondary? (true or false) More... | |
Vector< int > | m_groupsize |
Groupsize if we're a primary. More... | |
Vector< InterpBase * > | mapper_comp |
If mapper_comp[icomp] != 0, that map is used instead of mapper when interpolating icomp; otherwise, mapper is used. More... | |
Vector< int > | max_map_start_comp |
For component icomp, max_map_start_comp[icomp] and min_map_end_comp[icomp] represent the maximum starting index and minimum ending index with which to use mapper_comp[icomp] when interpolating component icomp. These are convenient for using with "coupled" multiple component maps like CellConservativeLinear. More... | |
Vector< int > | min_map_end_comp |
Static Private Attributes | |
static int | bf_ext_dir_threadsafe = 0 |
Friends | |
class | DescriptorList |
Attributes of StateData.
|
inlinenoexcept |
The default constructor.
amrex::StateDescriptor::StateDescriptor | ( | IndexType | btyp, |
StateDescriptor::TimeCenter | ttyp, | ||
int | ident, | ||
int | nextra, | ||
int | num_comp, | ||
InterpBase * | interp, | ||
bool | extrap = false , |
||
bool | store_in_checkpoint = true |
||
) |
Constructor that sets all data members.
btyp | |
ttyp | |
ident | |
nextra | |
num_comp | |
interp | |
extrap | |
store_in_checkpoint |
|
staticprivate |
|
noexcept |
Returns the BndryFunc of specified component.
i |
|
static |
Cleanup interpolaters for a subset of the state vector components.
maps | |
map_start_comp | |
map_num_comp | |
max_start_comp | |
min_end_comp |
void amrex::StateDescriptor::define | ( | IndexType | btyp, |
StateDescriptor::TimeCenter | ttyp, | ||
int | ident, | ||
int | nextra, | ||
int | num_comp, | ||
InterpBase * | interp, | ||
bool | extrap = false , |
||
bool | store_in_checkpoint = true |
||
) |
Define the data members if constructed with default constructor.
btyp | |
ttyp | |
ident | |
nextra | |
num_comp | |
interp | |
extrap | |
store_in_checkpoint |
Output names of components.
os | |
start_comp | |
num_comp |
|
noexcept |
Can extrapolate in time.
Returns the BCRec of specified component.
i |
|
noexcept |
Returns the IndexType.
|
inlinenoexcept |
has new fab version of BndryFunc?
Are the interpolaters in the specified range identical?
scomp | |
ncomp |
Is sc>=0 && sc+nc<=ncomp ?
sc | |
nc |
|
noexcept |
Returns the interpolater.
|
noexcept |
Returns the interpolater of specified component.
i |
|
noexcept |
Returns the name of specified component.
i |
|
noexcept |
Returns number of components.
|
noexcept |
Returns the grow factor.
|
inlinenoexcept |
void amrex::StateDescriptor::resetComponentBCs | ( | int | comp, |
const BCRec & | bcr, | ||
const BndryFunc & | func | ||
) |
Resets boundary condition data for comp component.
comp | |
bcr | |
func |
|
inlinenoexcept |
will it run on gpu?
std::vector< std::pair< int, int > > amrex::StateDescriptor::sameInterps | ( | int | scomp, |
int | ncomp | ||
) | const |
|
inlinestaticnoexcept |
void amrex::StateDescriptor::setComponent | ( | int | comp, |
const std::string & | nm, | ||
const BCRec & | bc, | ||
const BndryFunc & | func, | ||
InterpBase * | interp, | ||
bool | a_primary, | ||
int | groupsize | ||
) |
Sets details of comp component.
comp | |
nm | |
bc | |
func | |
interp | |
primary_or_secondary | |
groupsize |
void amrex::StateDescriptor::setComponent | ( | int | comp, |
const std::string & | nm, | ||
const BCRec & | bc, | ||
const BndryFunc & | func, | ||
InterpBase * | interp = nullptr , |
||
int | max_map_start_comp = -1 , |
||
int | min_map_end_comp = -1 |
||
) |
Sets details of comp component.
comp | |
nm | |
bc | |
func | |
interp | |
max_map_start_comp | |
min_map_end_comp |
void amrex::StateDescriptor::setUpMaps | ( | int & | use_default_map, |
const InterpBase * | default_map, | ||
int | start_comp, | ||
int | num_comp, | ||
InterpBase **& | maps, | ||
int & | nmaps, | ||
int *& | map_start_comp, | ||
int *& | map_num_comp, | ||
int *& | max_start_comp, | ||
int *& | min_end_comp | ||
) | const |
Set interpolaters for a subset of the state vector components.
use_default_map | |
default_map | |
start_comp | |
num_comp | |
maps | |
nmaps | |
map_start_comp | |
map_num_comp | |
max_start_comp | |
min_end_comp |
|
noexcept |
Should store this StateData in the checkpoint file.
|
noexcept |
Returns StateDescriptor::TimeCenter.
|
friend |
Array of pointers to bndry fill functions.
|
staticprivate |
|
private |
Unique id.
|
private |
Can extrapolate in time?
Are we a primary or secondary? (true or false)
|
private |
Should store this in the checkpoint file?
|
private |
Default interpolator.
|
private |
If mapper_comp[icomp] != 0, that map is used instead of mapper when interpolating icomp; otherwise, mapper is used.
For component icomp, max_map_start_comp[icomp] and min_map_end_comp[icomp] represent the maximum starting index and minimum ending index with which to use mapper_comp[icomp] when interpolating component icomp. These are convenient for using with "coupled" multiple component maps like CellConservativeLinear.
If there is no need to "couple" a component, max_map_start_comp[icomp] and min_map_end_comp[icomp] simply equal icomp.
|
private |
Printable names of components.
|
private |
Number of components.
|
private |
Grow factor.
|
private |
Temporal centering.
|
private |
Cell centered, node centered ...