Flow123d
release_3.0.0-968-gc87a28e79
|
Go to the documentation of this file.
24 #include <boost/circular_buffer.hpp>
56 template <
int spacedim,
class Value>
class FieldFE;
82 template<
int spacedim,
class Value>
91 static const unsigned int space_dim = spacedim;
128 virtual bool is_active_field_descriptor(
const Input::Record &in_rec,
const std::string &input_name);
137 Field(
const string &name,
bool bc =
false);
145 Field(
unsigned int component_index,
string input_name,
string name =
"",
bool bc =
false);
172 IT::Array get_multifield_input_type()
override;
191 void set_mesh(
const Mesh &mesh)
override;
203 bool is_constant(
Region reg)
override;
233 void copy_from(
const FieldCommon & other)
override;
238 void field_output(std::shared_ptr<OutputTime> stream)
override;
243 void observe_output(std::shared_ptr<Observe> observe)
override;
278 std::string get_value_attribute()
const override;
304 void add_factory(std::shared_ptr<FactoryBase> factory);
320 void update_history(
const TimeStep &time);
324 std::shared_ptr<OutputTime> stream,
330 void check_initialized_region_fields_();
336 std::shared_ptr< FieldFE<spacedim, Value> > get_field_fe();
376 template<
int dim,
class Val>
391 template<
int spacedim,
class Value>
397 elm.
region_idx().
idx(), (
unsigned long int) region_fields_.size(),
name().c_str());
405 template<
int spacedim,
class Value>
411 elm.
region_idx().
idx(), (
unsigned long int) region_fields_.size(),
name().c_str());
413 "Null field ptr on region id: %d, field: %s\n", elm.
region().
id(),
name().c_str());
415 region_fields_[elm.
region_idx().
idx()]->value_list(point_list,elm, value_list);
std::vector< RegionHistory > region_history_
pair< double, FieldBasePtr > HistoryPoint
Pair: time, pointer to FieldBase instance.
Basic time management class.
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library.
virtual void value_list(const std::vector< Point > &point_list, const ElementAccessor< spacedim > &elm, std::vector< typename Value::return_type > &value_list) const
static constexpr bool value
unsigned int idx() const
Returns a global index of the region.
Space< spacedim >::Point Point
unsigned int id() const
Returns id of the region (using RegionDB)
FieldAlgorithmBase< spacedim, Value >::Point Point
Representation of one time step..
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Common abstract parent of all Field<...> classes.
std::shared_ptr< SharedData > data_
std::vector< std::shared_ptr< FactoryBase > > factories_
std::vector< FieldBasePtr > region_fields_
std::shared_ptr< FieldFE< spacedim, Value > > create_field(VectorMPI &vec_seq, Mesh &mesh, unsigned int n_comp)
boost::circular_buffer< HistoryPoint > RegionHistory
Nearest history of one region.
virtual const Value::return_type & value(const Point &p, const ElementAccessor< spacedim > &elm) const
std::shared_ptr< FieldBaseType > FieldBasePtr
FieldAlgorithmBase< spacedim, Value > FieldBaseType
std::shared_ptr< ControlField > no_check_control_field_
Global macros to enhance readability and debugging, general constants.
Class for representation of a vector of fields of the same physical quantity.
const std::string & name() const
Class template representing a field with values dependent on: point, element, and region.
TimeStatus set_time_result_
RegionIdx region_idx() const
Field< spacedim, typename FieldValue< spacedim >::Enum > ControlField