Alamo
|
Public Member Functions | |
Operator () | |
Operator (const amrex::Vector< amrex::Geometry > &a_geom, const amrex::Vector< amrex::BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo(), const Vector< FabFactory< FArrayBox > const * > &a_factory={}) | |
virtual | ~Operator () |
Operator (const Operator &)=delete | |
Operator (Operator &&)=delete | |
Operator & | operator= (const Operator &)=delete |
Operator & | operator= (Operator &&)=delete |
void | define (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo(), const Vector< FabFactory< FArrayBox > const * > &a_factory={}) |
const Geometry & | Geom (int amr_lev, int mglev=0) const noexcept |
void | Reflux (int crse_amrlev, MultiFab &res, const MultiFab &crse_sol, const MultiFab &crse_rhs, MultiFab &fine_res, MultiFab &fine_sol, const MultiFab &fine_rhs) |
void | Apply (int amrlev, int mglev, MultiFab &out, const MultiFab &in) const |
void | SetOmega (Set::Scalar a_omega) |
virtual void | SetAverageDownCoeffs (bool) |
void | SetNormalizeDDW (bool a_normalize_ddw) |
void | RegisterNewFab (amrex::Vector< amrex::MultiFab > &input) |
void | RegisterNewFab (amrex::Vector< std::unique_ptr< amrex::MultiFab > > &input) |
const amrex::FArrayBox & | GetFab (const int num, const int amrlev, const int mglev, const amrex::MFIter &mfi) const |
virtual void | SetHomogeneous (bool) |
virtual int | getNGrow (int=0, int=0) const override final |
virtual void | solutionResidual (int amrlev, MultiFab &resid, MultiFab &x, const MultiFab &b, const MultiFab *crse_bcdata=nullptr) override final |
virtual void | correctionResidual (int amrlev, int mglev, MultiFab &resid, MultiFab &x, const MultiFab &b, BCMode bc_mode, const MultiFab *crse_bcdata=nullptr) override final |
Static Public Member Functions | |
static void | realFillBoundary (MultiFab &phi, const Geometry &geom) |
Protected Member Functions | |
virtual void | Fapply (int amrlev, int mglev, MultiFab &out, const MultiFab &in) const override=0 |
virtual void | averageDownCoeffs ()=0 |
virtual void | Diagonal (bool recompute=false) |
virtual void | Diagonal (int amrlev, int mglev, amrex::MultiFab &diag) |
virtual void | Fsmooth (int amrlev, int mglev, MultiFab &x, const MultiFab &b) const override |
virtual void | normalize (int amrlev, int mglev, MultiFab &mf) const override |
virtual void | reflux (int crse_amrlev, MultiFab &res, const MultiFab &crse_sol, const MultiFab &crse_rhs, MultiFab &fine_res, MultiFab &fine_sol, const MultiFab &fine_rhs) const override |
virtual void | restriction (int amrlev, int cmglev, MultiFab &crse, MultiFab &fine) const final |
virtual void | interpolation (int amrlev, int fmglev, MultiFab &fine, const MultiFab &crse) const override final |
virtual void | averageDownSolutionRHS (int camrlev, MultiFab &crse_sol, MultiFab &crse_rhs, const MultiFab &fine_sol, const MultiFab &fine_rhs) final |
virtual void | prepareForSolve () override |
virtual bool | isSingular (int amrlev) const final |
virtual bool | isBottomSingular () const final |
virtual void | applyBC (int amrlev, int mglev, MultiFab &phi, BCMode bc_mode, amrex::MLLinOp::StateMode, bool skip_fillboundary=false) const final |
virtual void | fixUpResidualMask (int amrlev, iMultiFab &resmsk) final |
Protected Attributes | |
int | m_num_a_fabs = 0 |
bool | m_diagonal_computed = false |
amrex::Vector< amrex::Vector< amrex::Vector< amrex::MultiFab > > > | m_a_coeffs |
amrex::Vector< amrex::Vector< std::unique_ptr< amrex::MultiFab > > > | m_diag |
Set::Scalar | m_omega = 2./3. |
bool | m_normalize_ddw = false |
Private Attributes | |
bool | m_is_bottom_singular = false |
bool | m_masks_built = false |
Definition at line 28 of file Operator.H.
|
inline |
Definition at line 34 of file Operator.H.
Operator::Operator< Grid::Node >::Operator | ( | const amrex::Vector< amrex::Geometry > & | a_geom, |
const amrex::Vector< amrex::BoxArray > & | a_grids, | ||
const Vector< DistributionMapping > & | a_dmap, | ||
const LPInfo & | a_info = LPInfo() , |
||
const Vector< FabFactory< FArrayBox > const * > & | a_factory = {} |
||
) |
|
virtual |
Definition at line 209 of file Operator.cpp.
|
delete |
|
delete |
|
inline |
Definition at line 55 of file Operator.H.
|
finalprotectedvirtual |
Definition at line 481 of file Operator.cpp.
|
protectedpure virtual |
|
finalprotectedvirtual |
|
finaloverridevirtual |
Definition at line 677 of file Operator.cpp.
void Operator::Operator< Grid::Node >::define | ( | const Vector< Geometry > & | a_geom, |
const Vector< BoxArray > & | a_grids, | ||
const Vector< DistributionMapping > & | a_dmap, | ||
const LPInfo & | a_info = LPInfo() , |
||
const Vector< FabFactory< FArrayBox > const * > & | a_factory = {} |
||
) |
|
protectedvirtual |
Definition at line 16 of file Operator.cpp.
|
protectedvirtual |
Reimplemented in Operator::Elastic< SYM >, Operator::Elastic< MODEL ::sym >, Operator::Elastic< model_type ::sym >, Operator::Elastic< Model::Solid::Finite::NeoHookeanPredeformed ::sym >, Operator::Elastic< T::sym >, and Operator::Elastic< Model::Solid::Affine::Isotropic ::sym >.
Definition at line 31 of file Operator.cpp.
|
overrideprotectedpure virtual |
|
finalprotectedvirtual |
Definition at line 257 of file Operator.cpp.
|
overrideprotectedvirtual |
Reimplemented in Operator::Diagonal.
Definition at line 88 of file Operator.cpp.
|
inlinenoexcept |
Definition at line 49 of file Operator.H.
const amrex::FArrayBox & Operator::Operator< Grid::Node >::GetFab | ( | const int | num, |
const int | amrlev, | ||
const int | mglev, | ||
const amrex::MFIter & | mfi | ||
) | const |
|
inlinefinaloverridevirtual |
Definition at line 101 of file Operator.H.
|
finaloverrideprotectedvirtual |
Definition at line 392 of file Operator.cpp.
|
inlinefinalprotectedvirtual |
Definition at line 97 of file Operator.H.
|
inlinefinalprotectedvirtual |
Definition at line 96 of file Operator.H.
|
overrideprotectedvirtual |
Reimplemented in Operator::Diagonal.
Definition at line 161 of file Operator.cpp.
|
delete |
|
delete |
|
overrideprotectedvirtual |
Reimplemented in Operator::Elastic< SYM >, Operator::Elastic< MODEL ::sym >, Operator::Elastic< model_type ::sym >, Operator::Elastic< Model::Solid::Finite::NeoHookeanPredeformed ::sym >, Operator::Elastic< T::sym >, and Operator::Elastic< Model::Solid::Affine::Isotropic ::sym >.
Definition at line 280 of file Operator.cpp.
|
static |
|
inline |
Definition at line 51 of file Operator.H.
|
overrideprotectedvirtual |
Reimplemented in Operator::Diagonal.
Definition at line 551 of file Operator.cpp.
void Operator::Operator< Grid::Node >::RegisterNewFab | ( | amrex::Vector< amrex::MultiFab > & | input | ) |
void Operator::Operator< Grid::Node >::RegisterNewFab | ( | amrex::Vector< std::unique_ptr< amrex::MultiFab > > & | input | ) |
|
finalprotectedvirtual |
Definition at line 289 of file Operator.cpp.
|
inlinevirtual |
Reimplemented in Operator::Elastic< SYM >, Operator::Elastic< MODEL ::sym >, Operator::Elastic< model_type ::sym >, Operator::Elastic< Model::Solid::Finite::NeoHookeanPredeformed ::sym >, Operator::Elastic< T::sym >, and Operator::Elastic< Model::Solid::Affine::Isotropic ::sym >.
Definition at line 58 of file Operator.H.
|
inlinevirtual |
Reimplemented in Operator::Elastic< SYM >, Operator::Elastic< MODEL ::sym >, Operator::Elastic< model_type ::sym >, Operator::Elastic< Model::Solid::Finite::NeoHookeanPredeformed ::sym >, Operator::Elastic< T::sym >, and Operator::Elastic< Model::Solid::Affine::Isotropic ::sym >.
Definition at line 68 of file Operator.H.
|
inline |
Definition at line 59 of file Operator.H.
|
inline |
Definition at line 57 of file Operator.H.
|
finaloverridevirtual |
Definition at line 665 of file Operator.cpp.
|
protected |
Definition at line 121 of file Operator.H.
|
protected |
Definition at line 122 of file Operator.H.
|
protected |
Definition at line 120 of file Operator.H.
|
private |
Definition at line 112 of file Operator.H.
|
private |
Definition at line 113 of file Operator.H.
|
protected |
Definition at line 124 of file Operator.H.
|
protected |
Definition at line 119 of file Operator.H.
|
protected |
Definition at line 123 of file Operator.H.