A FabSet is a group of FArrayBox's. The grouping is designed specifically to represent regions along the boundary of Box's, and are used to implement boundary conditions to discretized partial differential equations. More...
#include <AMReX_FabSet.H>
Public Types | |
using | value_type = typename FabDataType< MF >::value_type |
using | FAB = typename FabDataType< MF >::fab_type |
Public Member Functions | |
FabSetT () noexcept=default | |
The default constructor – you must later call define(). | |
FabSetT (const BoxArray &grids, const DistributionMapping &dmap, int ncomp) | |
Construct a FabSetT<MF> of specified number of components on the grids. | |
~FabSetT ()=default | |
FabSetT (FabSetT< MF > &&rhs) noexcept=default | |
FabSetT (const FabSetT< MF > &rhs)=delete | |
FabSetT< MF > & | operator= (const FabSetT< MF > &rhs)=delete |
FabSetT< MF > & | operator= (FabSetT< MF > &&rhs)=delete |
void | define (const BoxArray &grids, const DistributionMapping &dmap, int ncomp) |
Define a FabSetT<MF> constructed via default constructor. | |
FAB const & | operator[] (const MFIter &mfi) const noexcept |
FAB & | operator[] (const MFIter &mfi) noexcept |
FAB const & | operator[] (int i) const noexcept |
FAB & | operator[] (int i) noexcept |
Array4< value_type const > | array (const MFIter &mfi) const noexcept |
Array4< value_type > | array (const MFIter &mfi) noexcept |
Array4< value_type const > | array (int i) const noexcept |
Array4< value_type > | array (int i) noexcept |
Array4< value_type const > | const_array (const MFIter &mfi) const noexcept |
Array4< value_type const > | const_array (int i) const noexcept |
MultiArray4< value_type const > | arrays () const noexcept |
MultiArray4< value_type > | arrays () noexcept |
MultiArray4< value_type const > | const_arrays () const noexcept |
Box | fabbox (int K) const noexcept |
int | size () const noexcept |
const BoxArray & | boxArray () const noexcept |
const DistributionMapping & | DistributionMap () const noexcept |
MF & | multiFab () noexcept |
MF const & | multiFab () const noexcept |
int | nComp () const noexcept |
void | clear () |
FabSetT< MF > & | copyFrom (const FabSetT< MF > &src, int scomp, int dcomp, int ncomp) |
FabSetT< MF > & | copyFrom (const MF &src, int ngrow, int scomp, int dcomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) |
FabSetT< MF > & | plusFrom (const FabSetT< MF > &src, int scomp, int dcomp, int ncomp) |
FabSetT< MF > & | plusFrom (const MF &src, int ngrow, int scomp, int dcomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) |
void | copyTo (MF &dest, int ngrow, int scomp, int dcomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) const |
void | plusTo (MF &dest, int ngrow, int scomp, int dcomp, int ncomp, const Periodicity &period=Periodicity::NonPeriodic()) const |
void | setVal (value_type val) |
void | setVal (value_type val, int comp, int num_comp) |
Linear combination: this := a*this + b*src (FabSetT<MF>s must be commensurate). | |
FabSetT< MF > & | linComb (value_type a, value_type b, const FabSetT< MF > &src, int scomp, int dcomp, int ncomp) |
Linear combination: this := a*mfa + b*mfb. | |
FabSetT< MF > & | linComb (value_type a, const MF &mfa, int a_comp, value_type b, const MF &mfb, int b_comp, int dcomp, int ncomp, int ngrow) |
void | write (const std::string &name) const |
Write (used for writing to checkpoint) | |
void | read (const std::string &name) |
Read (used for reading from checkpoint) | |
Static Public Member Functions | |
static void | Copy (FabSetT< MF > &dst, const FabSetT< MF > &src) |
Private Attributes | |
MF | m_mf |
Friends | |
class | FabSetIter |
class | FluxRegister |
A FabSet is a group of FArrayBox's. The grouping is designed specifically to represent regions along the boundary of Box's, and are used to implement boundary conditions to discretized partial differential equations.
A FabSet is an array of pointers to FABs. The standard FAB operators, however, have been modified to be more useful for maintaining boundary conditions for partial differential equations discretized on boxes. Under normal circumstances, a FAB will be created for each face of a box. For a group of boxes, a FabSet will be the group of FABs at a particular orientation (ie. the lo-i side of each grid in a list).
Since a FabSet FAB will likely be used to bound a grid box, FArrayBox::resize() operations are disallowed. Also, to preserve flexibility in applicable boundary scenarios, intersecting FABs in the FabSet are not guaranteed to contain identical data–thus copy operations from a FabSet to any FAB-like structure may be order-dependent.
FabSets are used primarily as a data storage mechanism, and are manipulated by more sophisticated control classes.
using amrex::FabSetT< MF >::FAB = typename FabDataType<MF>::fab_type |
using amrex::FabSetT< MF >::value_type = typename FabDataType<MF>::value_type |
|
defaultnoexcept |
The default constructor – you must later call define().
amrex::FabSetT< MF >::FabSetT | ( | const BoxArray & | grids, |
const DistributionMapping & | dmap, | ||
int | ncomp | ||
) |
Construct a FabSetT<MF> of specified number of components on the grids.
|
default |
|
defaultnoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
FabSetT< MF > & amrex::FabSetT< MF >::copyFrom | ( | const FabSetT< MF > & | src, |
int | scomp, | ||
int | dcomp, | ||
int | ncomp | ||
) |
FabSetT< MF > & amrex::FabSetT< MF >::copyFrom | ( | const MF & | src, |
int | ngrow, | ||
int | scomp, | ||
int | dcomp, | ||
int | ncomp, | ||
const Periodicity & | period = Periodicity::NonPeriodic() |
||
) |
void amrex::FabSetT< MF >::copyTo | ( | MF & | dest, |
int | ngrow, | ||
int | scomp, | ||
int | dcomp, | ||
int | ncomp, | ||
const Periodicity & | period = Periodicity::NonPeriodic() |
||
) | const |
void amrex::FabSetT< MF >::define | ( | const BoxArray & | grids, |
const DistributionMapping & | dmap, | ||
int | ncomp | ||
) |
Define a FabSetT<MF> constructed via default constructor.
|
inlinenoexcept |
|
inlinenoexcept |
FabSetT< MF > & amrex::FabSetT< MF >::linComb | ( | value_type | a, |
const MF & | mfa, | ||
int | a_comp, | ||
value_type | b, | ||
const MF & | mfb, | ||
int | b_comp, | ||
int | dcomp, | ||
int | ncomp, | ||
int | ngrow | ||
) |
FabSetT< MF > & amrex::FabSetT< MF >::linComb | ( | value_type | a, |
value_type | b, | ||
const FabSetT< MF > & | src, | ||
int | scomp, | ||
int | dcomp, | ||
int | ncomp | ||
) |
Linear combination: this := a*mfa + b*mfb.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
FabSetT< MF > & amrex::FabSetT< MF >::plusFrom | ( | const FabSetT< MF > & | src, |
int | scomp, | ||
int | dcomp, | ||
int | ncomp | ||
) |
FabSetT< MF > & amrex::FabSetT< MF >::plusFrom | ( | const MF & | src, |
int | ngrow, | ||
int | scomp, | ||
int | dcomp, | ||
int | ncomp, | ||
const Periodicity & | period = Periodicity::NonPeriodic() |
||
) |
void amrex::FabSetT< MF >::plusTo | ( | MF & | dest, |
int | ngrow, | ||
int | scomp, | ||
int | dcomp, | ||
int | ncomp, | ||
const Periodicity & | period = Periodicity::NonPeriodic() |
||
) | const |
void amrex::FabSetT< MF >::read | ( | const std::string & | name | ) |
Read (used for reading from checkpoint)
Local copy function
void amrex::FabSetT< MF >::setVal | ( | value_type | val | ) |
void amrex::FabSetT< MF >::setVal | ( | value_type | val, |
int | comp, | ||
int | num_comp | ||
) |
Linear combination: this := a*this + b*src (FabSetT<MF>s must be commensurate).
|
inlinenoexcept |
void amrex::FabSetT< MF >::write | ( | const std::string & | name | ) | const |
Write (used for writing to checkpoint)
|
friend |
|
friend |
|
private |