18 #ifndef MULTI_FIELD_HH_ 19 #define MULTI_FIELD_HH_ 54 template<
int spacedim,
class Value>
67 <<
"of the MultiField " << EI_MultiFieldName::qval <<
", expected size: " << EI_ExpectedSize::val );
77 bool is_active_field_descriptor(
const Input::Record &in_rec,
const std::string &input_name)
override;
106 IT::Array get_multifield_input_type()
override;
133 void set_mesh(
const Mesh &mesh)
override;
138 void copy_from(
const FieldCommon & other)
override;
143 void output(std::shared_ptr<OutputTime> stream)
override;
148 bool is_constant(
Region reg)
override;
156 inline unsigned int size()
const 157 {
return sub_fields_.size(); }
164 OLD_ASSERT(idx < sub_fields_.size(),
"Index of subfield in MultiField '%s' is out of range.\n", this->input_name().c_str());
165 return sub_fields_[idx];
171 inline const SubFieldType &
operator[](
unsigned int idx)
const 173 OLD_ASSERT(idx < sub_fields_.size(),
"Index of subfield in MultiField '%s' is out of range.\n", this->input_name().c_str());
174 return sub_fields_[idx];
182 void setup_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
const MultiField< spacedim, typename FieldValue< spacedim >::Enum > * no_check_control_field_
internal::ReturnType< NRows, NCols, ET >::return_type return_type
FieldValue_< 0, 1, typename Value::element_type > MultiFieldValue
Input::Array full_input_list_
Full list of input field descriptors from which the subfields of MultiField are set.
FieldAlgorithmBase< spacedim, Value > SubFieldBaseType
std::vector< SubFieldType > sub_fields_
Subfields (items) of MultiField.
MultiFieldFactory(unsigned int index)
Constructor.
Space< spacedim >::Point Point
Field< spacedim, typename FieldValue< spacedim >::Vector > TransposedField
FieldAlgorithmBase< spacedim, Value >::Point Point
std::shared_ptr< FieldBaseType > FieldBasePtr
#define TYPEDEF_ERR_INFO(EI_Type, Type)
Macro to simplify declaration of error_info types.
DECLARE_INPUT_EXCEPTION(ExcFV_Input,<< "Wrong field value input: "<< EI_InputMsg::val)
const SubFieldType & operator[](unsigned int idx) const
Class for representation of a vector of fields of the same physical quantity.
SubFieldType & operator[](unsigned int idx)
Representation of one time step..