Flow123d
3.9.0-094ba6f5a
|
#include <field.hh>
Public Member Functions | |
virtual FieldBasePtr | create_field (Input::Record rec, const FieldCommon &field) |
virtual bool | is_active_field_descriptor (const Input::Record &in_rec, const std::string &input_name) |
Factory class that creates an instance of FieldBase for field with name field_name
based on data in field descriptor rec
.
Default implementation in method create_field
just reads key given by field_name
and creates instance using FieldBase<...>::function_factory
. Function should return empty SharedField (that is shared_ptr to FieldBase).
Implementation of these descendants is necessary: 1) for backward compatibility with old BCD input files 2) for setting pressure values are piezometric head values Note for future: We pass through parameter field
information about field that holds the factory which are necessary for interpreting user input and create particular field instance. It would be clearer to pass these information when the factory is assigned to a field. Moreover some information may not be set to field at all but directly passed to the factory.
|
virtual |
Default method that creates an instance of FieldBase for field.
Reads key given by field_name
and creates the field instance using FieldBase<...>::function_factory
.
Reimplemented in FieldFE< spacedim, Value >::NativeFactory, MultiField< spacedim, Value >::MultiFieldFactory, FieldAddPotential< spacedim, Value >::FieldFactory, and AddPotentialFactory< spacedim, Value >.
Definition at line 590 of file field.impl.hh.
|
virtual |
Check if Input::Record accessor contains data of field given by input_name.
Returns true when ever the method create_field returns non-null pointer, otherwise returns false.
Reimplemented in MultiField< spacedim, Value >::MultiFieldFactory.
Definition at line 602 of file field.impl.hh.