Flow123d  build_with_4.0.3-ea9b1ad
Public Member Functions | Private Attributes | List of all members
FieldDepth Class Reference

#include <field_depth.hh>

Inheritance diagram for FieldDepth:
Inheritance graph
[legend]
Collaboration diagram for FieldDepth:
Collaboration graph
[legend]

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
 
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 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")
 
FieldCommonname (const string &name)
 
FieldCommondescription (const string &description)
 
FieldCommoninput_default (const string &input_default)
 
FieldCommonunits (const UnitSI &units)
 Set basic units of the field. More...
 
FieldCommonset_limits (double min, double max=std::numeric_limits< double >::max())
 
FieldCommoninput_selection (Input::Type::Selection element_selection)
 
FieldCommonoutput_type (OutputTime::DiscreteSpace rt)
 
FieldCommonflags (FieldFlag::Flags::Mask mask)
 
FieldCommonflags_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 UnitSIunits () const
 
std::pair< double, double > limits () const
 
OutputTime::DiscreteSpace get_output_type () const
 
unsigned int n_comp () const
 
std::string full_comp_name (unsigned int i_comp) const
 
const Meshmesh () const
 
FieldFlag::Flagsflags ()
 
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 std::vector< const FieldCommon * > set_dependency (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 FieldCommonget_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 void fill_observe_value (FMT_UNUSED std::shared_ptr< ElementDataCacheBase > output_cache_base, FMT_UNUSED const std::vector< int > &offsets)
 Fill data to ElementDataCache on given patch. More...
 
void set_default_fieldset (FieldSet &default_fs)
 
virtual ~FieldCommon ()
 
uint n_shape () const
 Return number of shape components. More...
 
void set_time_result_changed ()
 Manually mark flag that the field has been changed. More...
 

Private Attributes

FieldValueCache< double > value_cache_
 
std::shared_ptr< SurfaceDepthsurface_depth_
 Surface depth object calculate distance from surface. More...
 
FieldCoordsfield_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< uintshape_
 
- Protected Types inherited from FieldCommon
enum class  TimeStatus { changed , constant , changed_forced , 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< SharedDatashared_
 
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< MessageDatamessages_data_ = std::vector<FieldCommon::MessageData>()
 Vector of data of initialization messages. More...
 

Detailed Description

Specialized field represents surface depth ('d' variable) of FieldFormula.

Definition at line 35 of file field_depth.hh.

Constructor & Destructor Documentation

◆ FieldDepth()

FieldDepth::FieldDepth ( )
inline

Constructor.

Definition at line 39 of file field_depth.hh.

Member Function Documentation

◆ cache_reallocate()

void FieldDepth::cache_reallocate ( FMT_UNUSED const ElementCacheMap cache_map,
FMT_UNUSED unsigned int  region_idx 
) const
inlineoverride

Implements FieldCommon::cache_allocate.

Definition at line 97 of file field_depth.hh.

◆ cache_update()

void FieldDepth::cache_update ( ElementCacheMap cache_map,
unsigned int  region_patch_idx 
) const
inlineoverridevirtual

Implements FieldCommon::cache_update.

Implements FieldCommon.

Definition at line 101 of file field_depth.hh.

◆ copy_from()

void FieldDepth::copy_from ( FMT_UNUSED const FieldCommon other)
inlineoverride

Definition at line 76 of file field_depth.hh.

◆ field_output()

void FieldDepth::field_output ( FMT_UNUSED std::shared_ptr< OutputTime stream,
FMT_UNUSED OutputTime::DiscreteSpace  type 
)
inlineoverride

Definition at line 80 of file field_depth.hh.

◆ field_result()

FieldResult FieldDepth::field_result ( FMT_UNUSED RegionSet  region_set) const
inlineoverride

Definition at line 84 of file field_depth.hh.

◆ get_input_type()

IT::Instance FieldDepth::get_input_type ( )
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.

◆ get_multifield_input_type()

IT::Array FieldDepth::get_multifield_input_type ( )
inlineoverridevirtual

Returns input type for MultiField instance. TODO: temporary solution, see multifield_

Implements FieldCommon.

Definition at line 57 of file field_depth.hh.

◆ get_value_attribute()

std::string FieldDepth::get_value_attribute ( ) const
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 88 of file field_depth.hh.

◆ is_constant()

bool FieldDepth::is_constant ( FMT_UNUSED Region  reg)
inlineoverride

Definition at line 68 of file field_depth.hh.

◆ set_dependency()

std::vector<const FieldCommon *> FieldDepth::set_dependency ( FMT_UNUSED unsigned int  i_reg) const
inlineoverride

Implements FieldCommon::set_dependency().

Definition at line 127 of file field_depth.hh.

◆ set_field_coords()

void FieldDepth::set_field_coords ( FieldCoords field_coords)
inline

Setter of field_coords data member.

Definition at line 139 of file field_depth.hh.

Here is the caller graph for this function:

◆ set_input_list()

void FieldDepth::set_input_list ( FMT_UNUSED const Input::Array list,
FMT_UNUSED const TimeGovernor tg 
)
inlineoverride

Definition at line 93 of file field_depth.hh.

◆ set_mesh()

void FieldDepth::set_mesh ( const Mesh mesh)
inlineoverridevirtual

Set internal mesh pointer.

Implements FieldCommon.

Definition at line 64 of file field_depth.hh.

Here is the caller graph for this function:

◆ set_surface_depth()

void FieldDepth::set_surface_depth ( std::shared_ptr< SurfaceDepth surface_depth)
inline

Setter of surface_depth data member.

Definition at line 134 of file field_depth.hh.

Here is the caller graph for this function:

◆ set_time()

bool FieldDepth::set_time ( FMT_UNUSED const TimeStep time,
FMT_UNUSED LimitSide  limit_side 
)
inlineoverride

Definition at line 72 of file field_depth.hh.

◆ value_cache() [1/2]

const FieldValueCache<double>* FieldDepth::value_cache ( ) const
inlineoverridevirtual

Implements FieldCommon::value_cache.

Implements FieldCommon.

Definition at line 122 of file field_depth.hh.

◆ value_cache() [2/2]

FieldValueCache<double>* FieldDepth::value_cache ( )
inlineoverridevirtual

Implements FieldCommon::value_cache.

Implements FieldCommon.

Definition at line 117 of file field_depth.hh.

Member Data Documentation

◆ field_coords_

FieldCoords* FieldDepth::field_coords_
private

Pointer to coordinates field.

Definition at line 154 of file field_depth.hh.

◆ surface_depth_

std::shared_ptr<SurfaceDepth> FieldDepth::surface_depth_
private

Surface depth object calculate distance from surface.

Definition at line 152 of file field_depth.hh.

◆ value_cache_

FieldValueCache<double> FieldDepth::value_cache_
mutableprivate

Field value data cache

See implementation of Field<spacedim, Value>::value_cache_

Definition at line 149 of file field_depth.hh.


The documentation for this class was generated from the following file: