Flow123d
master-a7f2151e0
|
#include <field_depth.hh>
Public Member Functions | |
FieldDepth () | |
Constructor. More... | |
IT::Instance | get_input_type () override |
IT::Array | get_multifield_input_type () override |
void | set_mesh (const Mesh &mesh) override |
bool | is_constant (FMT_UNUSED Region reg) override |
bool | set_time (FMT_UNUSED const TimeStep &time, FMT_UNUSED LimitSide limit_side) override |
void | copy_from (FMT_UNUSED const FieldCommon &other) override |
void | field_output (FMT_UNUSED std::shared_ptr< OutputTime > stream, FMT_UNUSED OutputTime::DiscreteSpace type) override |
void | observe_output (FMT_UNUSED std::shared_ptr< Observe > observe) override |
FieldResult | field_result (FMT_UNUSED RegionSet region_set) const override |
std::string | get_value_attribute () const override |
void | set_input_list (FMT_UNUSED const Input::Array &list, FMT_UNUSED const TimeGovernor &tg) override |
void | cache_reallocate (FMT_UNUSED const ElementCacheMap &cache_map, FMT_UNUSED unsigned int region_idx) const override |
Implements FieldCommon::cache_allocate. More... | |
void | cache_update (ElementCacheMap &cache_map, unsigned int region_patch_idx) const override |
Implements FieldCommon::cache_update. More... | |
FieldValueCache< double > * | value_cache () override |
Implements FieldCommon::value_cache. More... | |
const FieldValueCache< double > * | value_cache () const override |
Implements FieldCommon::value_cache. More... | |
std::vector< const FieldCommon * > | set_dependency (FMT_UNUSED FieldSet &field_set, FMT_UNUSED unsigned int i_reg) const override |
Implements FieldCommon::set_dependency(). More... | |
void | set_surface_depth (std::shared_ptr< SurfaceDepth > surface_depth) |
Setter of surface_depth data member. More... | |
void | set_field_coords (FieldCoords *field_coords) |
Setter of field_coords data member. More... | |
Public Member Functions inherited from FieldCommon | |
TYPEDEF_ERR_INFO (EI_Time, double) | |
TYPEDEF_ERR_INFO (EI_Field, std::string) | |
TYPEDEF_ERR_INFO (EI_FieldInputName, std::string) | |
TYPEDEF_ERR_INFO (EI_FieldName, std::string) | |
TYPEDEF_ERR_INFO (EI_RegId, unsigned int) | |
TYPEDEF_ERR_INFO (EI_RegLabel, std::string) | |
DECLARE_INPUT_EXCEPTION (ExcNonascendingTime,<< "Non-ascending time: "<< EI_Time::val<< " for field "<< EI_Field::qval<< ".\n") | |
DECLARE_INPUT_EXCEPTION (ExcMissingDomain,<< "Missing domain specification (region or r_id) in the field descriptor:") | |
DECLARE_EXCEPTION (ExcFieldMeshDifference,<< "Two copies of the field "<< EI_Field::qval<< "call set_mesh with different arguments.\n") | |
DECLARE_INPUT_EXCEPTION (ExcMissingFieldValue,<< "Missing value of the input field "<< EI_FieldInputName::qval<< " ("<< EI_FieldName::qval<< ") on region ID: "<< EI_RegId::val<< " label: "<< EI_RegLabel::qval<< ".\n") | |
FieldCommon & | name (const string &name) |
FieldCommon & | description (const string &description) |
FieldCommon & | input_default (const string &input_default) |
FieldCommon & | units (const UnitSI &units) |
Set basic units of the field. More... | |
FieldCommon & | set_limits (double min, double max=std::numeric_limits< double >::max()) |
FieldCommon & | input_selection (Input::Type::Selection element_selection) |
FieldCommon & | output_type (OutputTime::DiscreteSpace rt) |
FieldCommon & | flags (FieldFlag::Flags::Mask mask) |
FieldCommon & | flags_add (FieldFlag::Flags::Mask mask) |
void | set_components (const std::vector< string > &names) |
virtual void | set_input_list (const Input::Array &list, const TimeGovernor &tg)=0 |
const std::string & | input_name () const |
const std::string & | name () const |
const std::string | description () const |
const std::string & | input_default () const |
const UnitSI & | units () const |
std::pair< double, double > | limits () const |
OutputTime::DiscreteSpace | get_output_type () const |
bool | is_bc () const |
unsigned int | n_comp () const |
std::string | full_comp_name (unsigned int i_comp) const |
const Mesh * | mesh () const |
FieldFlag::Flags & | flags () |
FieldFlag::Flags | get_flags () const |
double | time () const |
bool | is_jump_time () |
unsigned int | input_list_size () const |
virtual bool | is_constant (Region reg)=0 |
virtual FieldResult | field_result (RegionSet region_set) const =0 |
Indicates special field states. More... | |
bool | changed () const |
void | mark_input_times (const TimeGovernor &tg) |
virtual bool | set_time (const TimeStep &time, LimitSide limit_side)=0 |
virtual void | copy_from (const FieldCommon &other)=0 |
virtual void | field_output (std::shared_ptr< OutputTime > stream, OutputTime::DiscreteSpace type)=0 |
virtual void | observe_output (std::shared_ptr< Observe > observe)=0 |
virtual std::vector< const FieldCommon * > | set_dependency (FieldSet &field_set, unsigned int i_reg) const =0 |
void | set_component_index (unsigned int idx) |
bool | is_multifield () const |
virtual void | cache_reallocate (const ElementCacheMap &cache_map, unsigned int region_idx) const =0 |
virtual FieldCommon * | get_component (FMT_UNUSED unsigned int idx) |
virtual void | set_output_data_cache (FMT_UNUSED OutputTime::DiscreteSpace space_type, FMT_UNUSED std::shared_ptr< OutputTime > stream) |
Create and set shared_ptr to ElementDataCache. Used only in descendant Field<>. More... | |
virtual void | fill_data_value (FMT_UNUSED const std::vector< int > &offsets) |
Fill data to ElementDataCache on given patch. More... | |
virtual | ~FieldCommon () |
void | set_time_result_changed () |
Manually mark flag that the field has been changed. More... | |
Private Attributes | |
FieldValueCache< double > | value_cache_ |
std::shared_ptr< SurfaceDepth > | surface_depth_ |
Surface depth object calculate distance from surface. More... | |
FieldCoords * | field_coords_ |
Pointer to coordinates field. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from FieldCommon | |
static IT::Record | field_descriptor_record (const string &record_name) |
static const std::string | field_descriptor_record_description (const string &record_name) |
static bool | print_message_table (ostream &stream, std::string equation_name) |
Public Attributes inherited from FieldCommon | |
std::vector< uint > | shape_ |
Protected Types inherited from FieldCommon | |
enum | TimeStatus { TimeStatus::changed, TimeStatus::constant, TimeStatus::changed_forced, TimeStatus::unknown } |
Protected Member Functions inherited from FieldCommon | |
FieldCommon () | |
FieldCommon (const FieldCommon &other) | |
void | set_history_changed () |
void | set_shape (uint n_rows, uint n_cols) |
Protected Attributes inherited from FieldCommon | |
std::string | name_ |
std::shared_ptr< SharedData > | shared_ |
TimeStatus | set_time_result_ |
double | last_time_ = -numeric_limits<double>::infinity() |
LimitSide | last_limit_side_ = LimitSide::left |
bool | is_jump_time_ |
OutputTime::DiscreteSpace | default_output_data_ = OutputTime::ELEM_DATA |
unsigned int | component_index_ |
bool | multifield_ |
FieldFlag::Flags | flags_ = FieldFlag::declare_input & FieldFlag::equation_input & FieldFlag::allow_output |
Field flags. Default setting is "an equation input field, that can read from user input, and can be written to output". More... | |
Static Protected Attributes inherited from FieldCommon | |
static const unsigned int | history_length_limit_ =3 |
static std::vector< MessageData > | messages_data_ = std::vector<FieldCommon::MessageData>() |
Vector of data of initialization messages. More... | |
Specialized field represents surface depth ('d' variable) of FieldFormula.
Definition at line 35 of file field_depth.hh.
|
inline |
Constructor.
Definition at line 39 of file field_depth.hh.
|
inlineoverride |
Implements FieldCommon::cache_allocate.
Definition at line 101 of file field_depth.hh.
|
inlineoverridevirtual |
Implements FieldCommon::cache_update.
Implements FieldCommon.
Definition at line 105 of file field_depth.hh.
|
inlineoverride |
Definition at line 76 of file field_depth.hh.
|
inlineoverride |
Definition at line 80 of file field_depth.hh.
|
inlineoverride |
Definition at line 88 of file field_depth.hh.
|
inlineoverridevirtual |
Returns input type for particular field instance, this is reference to a static member input_type of the corresponding FieldBase
class (i.e. with the same template parameters). This is used in FieldSet::make_field_descriptor_type.
Implements FieldCommon.
Definition at line 49 of file field_depth.hh.
|
inlineoverridevirtual |
Returns input type for MultiField instance. TODO: temporary solution, see multifield_
Implements FieldCommon.
Definition at line 57 of file field_depth.hh.
|
inlineoverridevirtual |
Return specification of the field value type in form of the string: [ <element type>, NRows, NCols]
Result is valid JSON (and/or flow style YAML). For multifields not implemented.
Implements FieldCommon.
Definition at line 92 of file field_depth.hh.
|
inlineoverride |
Definition at line 68 of file field_depth.hh.
|
inlineoverride |
Definition at line 84 of file field_depth.hh.
|
inlineoverride |
Implements FieldCommon::set_dependency().
Definition at line 131 of file field_depth.hh.
|
inline |
Setter of field_coords data member.
Definition at line 143 of file field_depth.hh.
|
inlineoverride |
Definition at line 97 of file field_depth.hh.
|
inlineoverridevirtual |
Set internal mesh pointer.
Implements FieldCommon.
Definition at line 64 of file field_depth.hh.
|
inline |
Setter of surface_depth data member.
Definition at line 138 of file field_depth.hh.
|
inlineoverride |
Definition at line 72 of file field_depth.hh.
|
inlineoverridevirtual |
Implements FieldCommon::value_cache.
Implements FieldCommon.
Definition at line 126 of file field_depth.hh.
|
inlineoverridevirtual |
Implements FieldCommon::value_cache.
Implements FieldCommon.
Definition at line 121 of file field_depth.hh.
|
private |
Pointer to coordinates field.
Definition at line 158 of file field_depth.hh.
|
private |
Surface depth object calculate distance from surface.
Definition at line 156 of file field_depth.hh.
|
mutableprivate |
Field value data cache
See implementation of Field<spacedim, Value>::value_cache_
Definition at line 153 of file field_depth.hh.