Flow123d  build_with_4.0.3-c0baa07
Public Member Functions | List of all members
BCField< spacedim, Value > Class Template Reference

#include <bc_field.hh>

Inheritance diagram for BCField< spacedim, Value >:
Inheritance graph
[legend]
Collaboration diagram for BCField< spacedim, Value >:
Collaboration graph
[legend]

Public Member Functions

 BCField ()
 
- Public Member Functions inherited from Field< spacedim, Value >
 Field ()
 
 Field (const string &name)
 
 Field (unsigned int component_index, string input_name, string name="")
 
 Field (const Field &other)
 
Fieldoperator= (const Field &other)
 
Value::return_type operator() (BulkPoint &p)
 Return appropriate value to BulkPoint in FieldValueCache. More...
 
Value::return_type operator() (SidePoint &p)
 Return appropriate value to EdgePoint in FieldValueCache. More...
 
IT::Instance get_input_type () override
 
IT::Array get_multifield_input_type () override
 
auto disable_where (const Field< spacedim, typename FieldValue< spacedim >::Enum > &control_field, const vector< FieldEnum > &value_list) -> Field &
 
void set_mesh (const Mesh &mesh) override
 
bool is_constant (Region reg) override
 
void set (FieldBasePtr field, double time, std::vector< std::string > region_set_names={"ALL"})
 
void set (const Input::AbstractRecord &a_rec, double time, std::vector< std::string > region_set_names={"ALL"})
 
bool set_time (const TimeStep &time, LimitSide limit_side) override
 
void copy_from (const FieldCommon &other) override
 
void field_output (std::shared_ptr< OutputTime > stream, OutputTime::DiscreteSpace type) override
 
std::shared_ptr< FieldFE< spacedim, Value > > get_field_fe ()
 
FieldResult field_result (RegionSet region_set) const override
 Indicates special field states. More...
 
std::string get_value_attribute () const override
 
void add_factory (std::shared_ptr< FactoryBase > factory)
 
void set_input_list (const Input::Array &list, const TimeGovernor &tg) override
 
void set_output_data_cache (OutputTime::DiscreteSpace space_type, std::shared_ptr< OutputTime > stream) override
 
void compute_field_data (OutputTime::DiscreteSpace space_type, std::shared_ptr< OutputTime > stream)
 
void cache_reallocate (const ElementCacheMap &cache_map, 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 (unsigned int i_reg) const override
 
void fill_data_value (const std::vector< int > &offsets) override
 Implements FieldCommon::fill_data_value. More...
 
void fill_observe_value (std::shared_ptr< ElementDataCacheBase > output_cache_base, const std::vector< int > &offsets) override
 Implements FieldCommon::fill_observe_value. More...
 
FieldValueCache< double > * value_cache ()
 
FieldValueCache< double > * value_cache ()
 
const FieldValueCache< double > * value_cache () const
 
const FieldValueCache< double > * value_cache () const
 
- 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)
 
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
 
bool changed () const
 
void mark_input_times (const TimeGovernor &tg)
 
void set_component_index (unsigned int idx)
 
bool is_multifield () const
 
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...
 

Additional Inherited Members

- Public Types inherited from Field< spacedim, Value >
typedef FieldAlgorithmBase< spacedim, ValueFieldBaseType
 
typedef std::shared_ptr< FieldBaseTypeFieldBasePtr
 
typedef FieldAlgorithmBase< spacedim, Value >::Point Point
 
typedef Value ValueType
 
- 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_
 
- Static Public Attributes inherited from Field< spacedim, Value >
static const unsigned int space_dim = spacedim
 
- Protected Types inherited from Field< spacedim, Value >
typedef pair< double, FieldBasePtrHistoryPoint
 Pair: time, pointer to FieldBase instance. More...
 
typedef boost::circular_buffer< HistoryPointRegionHistory
 Nearest history of one region. More...
 
typedef Field< spacedim, typename FieldValue< spacedim >::Enum > ControlField
 
- Protected Types inherited from FieldCommon
enum class  TimeStatus { changed , constant , changed_forced , unknown }
 
- Protected Member Functions inherited from Field< spacedim, Value >
Value::return_type operator[] (unsigned int i_cache_point) const
 Return item of value_cache_ given by i_cache_point. More...
 
void update_history (const TimeStep &time)
 
void check_initialized_region_fields_ ()
 
- 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 Field< spacedim, Value >
std::shared_ptr< SharedDatadata_
 
std::shared_ptr< ControlFieldno_check_control_field_
 
std::vector< FieldBasePtrregion_fields_
 
std::vector< std::shared_ptr< FactoryBase > > factories_
 
FieldValueCache< typename Value::element_type > value_cache_
 
std::shared_ptr< ElementDataCache< typename Value::element_type > > output_data_cache_
 ElementDataCache used during field output, object is shared with OutputTime. More...
 
- 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

template<int spacedim, class Value>
class BCField< spacedim, Value >

Same as Field<...> but for boundary regions.

Definition of BCField must be in separate file. In other case source file field.cc is too big and compiler can throw compile error.

TODO: get rid of BCField and BCMultiField as separate class

Definition at line 39 of file bc_field.hh.

Constructor & Destructor Documentation

◆ BCField()

template<int spacedim, class Value >
BCField< spacedim, Value >::BCField ( )
inline

Definition at line 41 of file bc_field.hh.


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