/home/runner/work/kynema-sgf/kynema-sgf/src/core/Field.H Source File
|
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
|
Loading...
Searching...
No Matches
Field.H
Go to the documentation of this file.
Definition FieldBCOps.H:32
Definition FieldFillPatchOps.H:41
Definition Field.H:115
Field & create_state(FieldState fstate)
Create a new time state after the field has been created.
Definition Field.cpp:497
const auto & inflow_value_source() const
Definition Field.H:196
void fillphysbc(const int lev, const amrex::Real time, amrex::MultiFab &mfab, const int nghost)
Definition Field.H:416
const std::string & base_name() const
Base name (without state information)
Definition Field.H:127
bool has_fillpatch_op() const
Return a flag indicating whether a fillpatch Op has been registered.
Definition Field.H:232
void set_inflow(int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost)
Definition Field.cpp:439
bool m_fillpatch_on_regrid
Flag indicating whether fill patch operation must be performed for this field during regrid.
Definition Field.H:482
void fillpatch_sibling_fields(amrex::Real time, amrex::IntVect ng, amrex::Array< Field *, AMREX_SPACEDIM > &fields) const
Definition Field.cpp:218
std::shared_ptr< FieldInfo > m_info
Common data for all field states.
Definition Field.H:472
amrex::Vector< amrex::Vector< amrex::Real > > & bc_values()
Return reference to the host view of BC values array.
Definition Field.H:190
void set_inflow(const int lev, const amrex::Real time, amrex::MultiFab &mfab, const int nghost)
Definition Field.H:425
ViewField< Field > subview(const int scomp=0, const int ncomp=1)
Definition Field.H:312
void copy_state(FieldState to_state, FieldState from_state)
Copy a user-specified "from_state" to "to_state".
Definition Field.cpp:485
Field(const Field &)=delete
const amrex::GpuArray< BC, AMREX_SPACEDIM *2 > & bc_type() const
Definition Field.H:179
Field & operator=(const Field &)=delete
unsigned id() const
Unique integer identifier for this field.
Definition Field.H:133
amrex::Vector< amrex::BCRec > & bcrec() const
Return reference to host view of BCRec array.
Definition Field.H:202
bool has_inout_bndry() const
Check if any of the boundaries is a mass-inflow-outflow.
Definition Field.cpp:297
amrex::MultiFab & operator()(int lev)
Return MultiFab instance for a given level.
Definition Field.cpp:134
void fillpatch_from_coarse(int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost)
Definition Field.cpp:186
const amrex::IntVect & num_grow() const
Ghost cells.
Definition Field.H:139
FieldRepo & m_repo
Reference to the FieldRepository instance.
Definition Field.H:466
Field & state(FieldState fstate)
Return field at a different time state.
Definition Field.cpp:118
void register_fill_patch_op(Args &&... args)
Definition Field.H:322
amrex::GpuArray< BC, AMREX_SPACEDIM *2 > & bc_type()
Definition Field.H:184
amrex::Vector< amrex::MultiFab * > vec_ptrs()
Return a vector of MultiFab pointers for all levels.
Definition Field.cpp:146
FieldLoc field_location() const
Cell, node, or face centered field.
Definition Field.H:158
int num_states() const
Number of states available for this field.
Definition Field.H:148
int num_comp() const
Number of components for this field.
Definition Field.H:136
void fill_inout_outflow(int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost)
Definition Field.cpp:303
FieldState field_state() const
State of this field instance.
Definition Field.H:161
bool m_mesh_mapped
Flag to track mesh mapping (to uniform space) of field.
Definition Field.H:485
~Field()
amrex::Vector< const amrex::MultiFab * > vec_const_ptrs() const
Return vector of const MultiFab* for all levels.
Definition Field.cpp:157
void copy_bc_to_device()
Copy BC data from host to device.
Definition Field.H:223
void set_default_fillpatch_bc(const SimTime &time, amrex::BCType::mathematicalBndryTypes bctype=amrex::BCType::hoextrap)
Definition Field.cpp:539
const amrex::GpuArray< const amrex::Real *, AMREX_SPACEDIM *2 > & bc_values_device() const
Definition Field.H:208
void advance_states()
Advance timestep for fields with multiple states.
Definition Field.cpp:466
void setVal(amrex::Real value)
Set the field to a constant value at all levels.
Definition Field.cpp:507
void fillphysbc_type(amrex::Real time, amrex::BCType::mathematicalBndryTypes bctype)
Definition Field.cpp:278
void fillpatch(const int lev, const amrex::Real time, amrex::MultiFab &mfab, const int nghost)
Definition Field.H:398
int num_time_states() const
Number of exact time states available for this field.
Definition Field.H:145
const std::string & name() const
Name of this field (including state information)
Definition Field.H:124
FieldRepo & repo() const
FieldRepo instance that manages this field.
Definition Field.H:164
bool query_state(const FieldState fstate) const
Return true if the requested state exists for this field.
Definition Field.H:173
bool bc_initialized() const
Return flag indicating whether BCs have been initialized.
Definition Field.H:226
const amrex::Gpu::DeviceVector< amrex::BCRec > & bcrec_device() const
Definition Field.H:214
void fillpatch_from_coarse(const int lev, const amrex::Real time, amrex::MultiFab &mfab, const int nghost)
Definition Field.H:407
void set_inflow_sibling_fields(int lev, amrex::Real time, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > mfabs)
Definition Field.cpp:453
Definition FieldRepo.H:86
Definition SimTime.H:34
Definition ViewField.H:24
This test case is intended as an evaluation of the momentum advection scheme.
Definition BCInterface.cpp:12
std::string m_basename
Field name without state information.
Definition Field.H:45
bool m_bc_copied_to_device
Flag indicating whether BCs have been initialized and copied to device.
Definition Field.H:83
int m_ncomp
Number of components (Scalar = 1, Vector = 2, etc.)
Definition Field.H:48
bool bc_initialized()
Check indicating whether BCs are being set to sane values.
Definition Field.cpp:43
amrex::Vector< std::unique_ptr< FieldBCIface > > m_bc_func
Custom boundary condition actions for this field.
Definition Field.H:80
FieldInfo(std::string basename, int ncomp, int ngrow, int nstates, FieldLoc floc)
Definition Field.cpp:16
amrex::Gpu::DeviceVector< amrex::BCRec > m_bcrec_d
Definition Field.H:70
void copy_bc_to_device()
Copy the BC information to device data structures.
Definition Field.cpp:66
amrex::GpuArray< InflowValueSource, AMREX_SPACEDIM *2 > m_inflow_value_source
Parsed policy, including BC specializations that do not support UDFs.
Definition Field.H:65
~FieldInfo()
amrex::Vector< std::unique_ptr< FieldFillPatchOpsBase > > m_fillpatch_ops
Function that handles filling patch and physics BC data for this field.
Definition Field.H:77
amrex::Vector< Field * > m_states
Vector holding references to available states for this field.
Definition Field.H:74
amrex::Gpu::DeviceVector< amrex::Real > m_bc_values_dview
Definition Field.H:67
int m_nstates
Number of states available for this field.
Definition Field.H:54
FieldLoc m_floc
Cell, node, face centered field type.
Definition Field.H:57
static constexpr int max_field_states
Maximum number of states allowed for a field.
Definition Field.H:31
amrex::GpuArray< BC, AMREX_SPACEDIM *2 > m_bc_type
Definition Field.H:61
amrex::Vector< amrex::Vector< amrex::Real > > m_bc_values
Definition Field.H:62
amrex::GpuArray< const amrex::Real *, AMREX_SPACEDIM *2 > m_bc_values_d
Definition Field.H:66
Generated by