9#include "AMReX_Config.H"
23 static constexpr const char*
name =
"constant";
27 Constant (amrex::Vector<amrex::Geometry> &_geom) :
28 IC<
Set::Scalar>(_geom),
IC<
Set::Vector>(_geom) {}
43 for (amrex::MFIter mfi(*a_field[lev],amrex::TilingIfNotGPU()); mfi.isValid(); ++mfi)
45 const amrex::Box& bx = mfi.growntilebox();
46 amrex::Array4<Set::Scalar>
const& field = a_field[lev]->array(mfi);
47 for (
int m = 0; m < a_field[lev]->nComp(); m++)
51 amrex::ParallelFor (bx,[=] AMREX_GPU_DEVICE(
int i,
int j,
int k) {
52 field(i,j,k,m) += value;
61 for (amrex::MFIter mfi(*a_field[lev],amrex::TilingIfNotGPU()); mfi.isValid(); ++mfi)
63 const amrex::Box& bx = mfi.growntilebox();
64 amrex::Array4<Set::Vector>
const& field = a_field[lev]->array(mfi);
65 for (
int m = 0; m < a_field[lev]->nComp(); m++)
69 amrex::ParallelFor (bx,[=] AMREX_GPU_DEVICE(
int i,
int j,
int k) {
70 field(i,j,k)(m) += value;
92 explicit Zero(amrex::Vector<amrex::Geometry> &_geom) :
102 explicit One(amrex::Vector<amrex::Geometry> &_geom) :
#define pp_queryclass(...)
One(amrex::Vector< amrex::Geometry > &_geom)
Zero(amrex::Vector< amrex::Geometry > &_geom)
static void Parse(Constant &value, IO::ParmParse &pp)
Constant(amrex::Vector< amrex::Geometry > &_geom, IO::ParmParse &pp, std::string name)
Constant(amrex::Vector< amrex::Geometry > &_geom)
Constant(amrex::Vector< amrex::Geometry > &_geom, IO::ParmParse &pp)
virtual void Add(const int &lev, Set::Field< Set::Scalar > &a_field, Set::Scalar) override
static constexpr const char * name
Constant(amrex::Vector< amrex::Geometry > &_geom, Unit a_unit, IO::ParmParse &pp, std::string name)
virtual void Add(const int &lev, Set::Field< Set::Vector > &a_field, Set::Scalar) override
std::vector< Set::Scalar > m_value
virtual ~Constant()=default
int queryarr_required(std::string name, std::vector< T > &value, const std::source_location &location=std::source_location::current())
Initialize a spherical inclusion.
A collection of data types and symmetry-reduced data structures.
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE void Assert(const char *file, const char *func, int line, const char *smt, bool pass, Args const &... args)