Go to the documentation of this file.
161 DECLARE_EXCEPTION(ExcUnknownField, <<
"Field set has no field with name: " << FieldCommon::EI_Field::qval);
163 <<
"Field " << FieldCommon::EI_Field::qval <<
" is not set. Please set key 'scalar_field', 'vector_field' or 'tensor_field' at: \n");
204 FieldSet subset( FieldFlag::Flags::Mask mask)
const;
209 inline unsigned int size()
const {
347 unsigned int region_idx = reg_it.first;
348 for (
auto f_it : reg_it.second) {
349 f_it->cache_reallocate(cache_map, region_idx);
434 template<
int dim,
class Val>
void set_user_fields_map(Input::Array input_list)
std::vector< FieldCommon * > field_list_
List of FieldCommon objects (combine Fields and MultiFields.
FieldCommon & operator[](const std::string &field_name) const
const Mesh * mesh() const
Returns pointer to mesh.
const Input::Type::Record & get_user_field(const std::string &equation_name)
Declare input record type of field defined by user.
Template Iter serves as general template for internal iterators.
unsigned int field_idx() const
Getter for field_idx_.
std::vector< FieldCommon * > user_field_list_
List of fields defined by user.
bool is_jump_time() const
bool set_time(const TimeStep &time, LimitSide limit_side)
bool is_constant(Region reg) const
Basic time management class.
FieldCommon & output_type(OutputTime::DiscreteSpace rt)
Directing class of FieldValueCache.
void set_dependency(FieldSet &used_fieldset)
void mark_input_times(const TimeGovernor &tg)
void set_input_list(Input::Array input_list, const TimeGovernor &tg)
FieldCommon * user_field(const std::string &field_name, const TimeStep &time)
void flags_add(FieldFlag::Flags::Mask mask)
void output_type(OutputTime::DiscreteSpace rt)
bool operator==(const FieldListAccessor &other)
Comparison of accessors.
FieldListAccessor(std::vector< FieldCommon * > field_list, unsigned int field_idx)
Constructor.
Range< FieldListAccessor > fields_range() const
Returns range of Fields held in field_list.
std::map< unsigned int, std::vector< const FieldCommon * > > region_field_update_order_
unsigned int field_component_idx_
Index of subfield in MultiField (fo fields hold only value 0 that is not used)
virtual void set_input_list(const Input::Array &list, const TimeGovernor &tg)=0
void set_surface_depth(std::shared_ptr< SurfaceDepth > surface_depth)
Set surface depth object to "d" field.
DECLARE_EXCEPTION(ExcUnknownField,<< "Field set has no field with name: "<< FieldCommon::EI_Field::qval)
FieldCommon * field() const
Returns pointer to actual field held by accessor.
std::unordered_map< std::string, Input::Record > user_fields_input_
Map assigns Input::Record to each field defined in optional Input::Array 'user_fields'.
FieldCommon & flags_add(FieldFlag::Flags::Mask mask)
std::vector< FieldCommon * > field_list
List of all fields.
FieldCoords X_
Field holds coordinates for computing of FieldFormulas.
void set_components(const std::vector< string > &names)
FieldListAccessor()
Default constructor.
void topological_sort(const FieldCommon *f, unsigned int i_reg, std::unordered_set< const FieldCommon * > &used_fields)
Helper method sort used fields by dependency.
std::string print_dependency() const
Return order of evaluated fields by dependency and region_idx.
Representation of one time step..
const Mesh * mesh_
Pointer to the mesh.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Common abstract parent of all Field<...> classes.
FieldCommon * operator->() const
Dereference operator simplify access to actual field held by accessor.
void cache_update(ElementCacheMap &cache_map)
void inc()
Iterates to next Field.
Container for various descendants of FieldCommonBase.
unsigned int field_idx_
Index of actual Field in field_list.
bool operator!=(const FieldListAccessor &other) const
void set_components(const std::vector< string > &names)
void set_surface_depth(std::shared_ptr< SurfaceDepth > surface_depth)
Setter of surface_depth data member.
void set_mesh(const Mesh &mesh)
FieldSet()
Default constructor.
DECLARE_INPUT_EXCEPTION(ExcFieldNotSet,<< "Field "<< FieldCommon::EI_Field::qval<< " is not set. Please set key 'scalar_field', 'vector_field' or 'tensor_field' at: \n")
friend std::ostream & operator<<(std::ostream &stream, const FieldSet &set)
void cache_reallocate(const ElementCacheMap &cache_map, FieldSet &used_fieldset)
void set_field(const std::string &dest_field_name, FieldCommon &source)
virtual void set_mesh(const Mesh &mesh)=0
void mark_input_times(const TimeGovernor &tg)
FieldDepth depth_
Field holds surface depth for computing of FieldFormulas.
Input::Type::Record make_field_descriptor_type(const std::string &equation_name) const
unsigned int field_component_idx() const
Getter for field_component_idx_.
FieldCommon * field(const std::string &field_name) const
Implementation of range helper class.