8 #ifndef MULTI_FIELD_HH_
9 #define MULTI_FIELD_HH_
18 namespace IT=Input::Type;
44 template<
int spacedim,
class Value>
74 IT::Record &get_multifield_input_type()
override;
87 bool set_time(
const TimeStep &time)
override;
92 void set_mesh(
const Mesh &mesh)
override;
108 bool is_constant(
Region reg)
override;
116 inline unsigned int size()
const
117 {
return sub_fields_.size(); }
124 ASSERT(idx < sub_fields_.size(),
"Index of subfield is out of range.\n");
125 return sub_fields_[idx];
133 void set_up_components();
Common abstract parent of all Field<...> classes.
unsigned int size() const
Number of subfields that compose the multi-field.
Class template representing a field with values dependent on: point, element, and region...
Field< spacedim, Value > SubFieldType
std::vector< SubFieldType > sub_fields_
MultiFieldFactory(unsigned int index)
Constructor.
The class for outputting data during time.
Field< spacedim, typename FieldValue< spacedim >::Vector > TransposedField
SubFieldType sub_field_type_
Helper class members, used only for input record.
TransposedField transposed_field_
std::shared_ptr< FieldBaseType > FieldBasePtr
Class for representation of a vector of fields of the same physical quantity.
SubFieldType & operator[](unsigned int idx)
Representation of one time step.