14#include <AMReX_MultiFab.H>
21template<
class T = Set::Scalar>
25 IC (amrex::Vector<amrex::Geometry> &_geom)
38 template <
typename U = T,
typename std::enable_if_t<std::is_arithmetic_v<U>,
int> = 0>
44 a_field[a_lev]->setVal(0.0);
45 Add(a_lev,a_field,a_time);
49 template <
typename U = T,
typename std::enable_if_t<!std::is_arithmetic_v<U>,
int> = 0>
55 a_field[a_lev]->setVal(T::Zero());
56 Add(a_lev,a_field,a_time);
59 virtual void SetComp(
int a_comp)
final {comp = a_comp;}
61 amrex::Vector<amrex::Geometry> &
geom;
void Add(const int &lev, Set::Field< T > &field)
IC(amrex::Vector< amrex::Geometry > &_geom)
virtual void SetComp(int a_comp) final
void Initialize(const int &a_lev, Set::Field< T > &a_field, Set::Scalar a_time=0.0)
amrex::Vector< amrex::Geometry > & geom
virtual void Add(const int &lev, Set::Field< T > &field, Set::Scalar time)=0
Initialize a spherical inclusion.
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
AMREX_FORCE_INLINE void Assert(std::string file, std::string func, int line, std::string smt, bool pass, Args const &... args)