Class HypreExtMultiABec

class HypreExtMultiABec : public HypreMultiABec

Public Functions

inline HypreExtMultiABec(int _crse_level, int _fine_level, int _solver_flag)
Parameters:
  • _crse_level

  • _fine_level

  • _solver_flag

~HypreExtMultiABec() override
HypreExtMultiABec(const HypreExtMultiABec &src) = delete
HypreExtMultiABec(const HypreExtMultiABec &&src) = delete
HypreExtMultiABec &operator=(const HypreExtMultiABec &src) = delete
HypreExtMultiABec &operator=(const HypreExtMultiABec &&src) = delete
inline amrex::Real &a2Multiplier()
inline amrex::Real &cMultiplier()
inline amrex::Real &d1Multiplier()
inline amrex::Real &d2Multiplier()
void a2Coefficients(int level, const amrex::MultiFab &a2, int dir)
Parameters:
  • level

  • &a2

  • dir

void cCoefficients(int level, const amrex::MultiFab &c, int dir)
Parameters:
  • level

  • &c

  • dir

void d1Coefficients(int level, const amrex::MultiFab &d1, int dir)
Parameters:
  • level

  • &d1

  • dir

void d2Coefficients(int level, const amrex::MultiFab &d2, int dir)
Parameters:
  • level

  • &d2

  • dir

inline const amrex::MultiFab &a2Coefficients(int level, int dir)
Parameters:
  • level

  • dir

inline const amrex::MultiFab &cCoefficients(int level, int dir)
Parameters:
  • level

  • dir

inline const amrex::MultiFab &d1Coefficients(int level, int dir)
Parameters:
  • level

  • dir

inline const amrex::MultiFab &d2Coefficients(int level, int dir)
Parameters:
  • level

  • dir

void loadLevelVectors(int level, amrex::MultiFab &dest, int icomp, amrex::MultiFab &rhs, BC_Mode inhom) override
Parameters:

rhs – will not be altered

void loadLevelVectorB(int level, amrex::MultiFab &rhs, BC_Mode inhom) override
Parameters:

rhs – will not be altered

void loadMatrix() override

once all level coeffs and scalars have been set

void boundaryDterm(int level, amrex::MultiFab *Dterm, amrex::MultiFab &Er, int icomp)
Parameters:
  • level

  • Dterm

  • Er

  • icomp

Protected Attributes

amrex::Vector<std::unique_ptr<amrex::Array<amrex::MultiFab, AMREX_SPACEDIM>>> a2coefs

face-based

amrex::Vector<std::unique_ptr<amrex::Array<amrex::MultiFab, AMREX_SPACEDIM>>> ccoefs

face-based, 2 component

amrex::Vector<std::unique_ptr<amrex::Array<amrex::MultiFab, AMREX_SPACEDIM>>> d1coefs

cell-based but directional

amrex::Vector<std::unique_ptr<amrex::Array<amrex::MultiFab, AMREX_SPACEDIM>>> d2coefs

face-based

amrex::Real alpha2 = {}
amrex::Real gamma = {}
amrex::Real delta1 = {}
amrex::Real delta2 = {}

multipliers for the above