24 #include <boost/circular_buffer.hpp>
61 template <
int spacedim,
class Value>
class FieldFE;
64 template<
typename CALLABLE,
typename TUPLE,
int INDEX >
92 template<
int spacedim,
class Value>
101 static const unsigned int space_dim = spacedim;
138 virtual bool is_active_field_descriptor(
const Input::Record &in_rec,
const std::string &input_name);
147 Field(
const string &name);
155 Field(
unsigned int component_index,
string input_name,
string name =
"");
175 typename Value::return_type operator() (
BulkPoint &p);
179 typename Value::return_type operator() (
SidePoint &p);
190 IT::Array get_multifield_input_type()
override;
209 void set_mesh(
const Mesh &mesh)
override;
221 bool is_constant(
Region reg)
override;
249 void copy_from(
const FieldCommon & other)
override;
265 std::shared_ptr< FieldFE<spacedim, Value> > get_field_fe();
295 std::string get_value_attribute()
const override;
307 void add_factory(std::shared_ptr<FactoryBase> factory);
324 void cache_reallocate(
AssemblyInternals &asm_internals,
unsigned int region_idx)
const override;
327 void cache_update(
ElementCacheMap &cache_map,
unsigned int region_patch_idx)
const override;
344 void fill_observe_value(std::shared_ptr<ElementDataCacheBase> output_cache_base,
const std::vector<int> &offsets)
override;
349 typename Value::return_type operator[] (
unsigned int i_cache_point)
const;
355 void update_history(
const TimeStep &time);
360 void check_initialized_region_fields_();
414 template<
int dim,
class Val>
417 template<
typename CALLABLE,
typename TUPLE,
int INDEX >
Base point accessor class.
Directing class of FieldValueCache.
Class holds local coordinations of evaluating points (bulk and sides) specified by element dimension.
Space< spacedim >::Point Point
Common abstract parent of all Field<...> classes.
Container for various descendants of FieldCommonBase.
Class template representing a field with values dependent on: point, element, and region.
FieldValueCache< typename Value::element_type > value_cache_
FieldAlgorithmBase< spacedim, Value >::Point Point
Field< spacedim, typename FieldValue< spacedim >::Enum > ControlField
FieldAlgorithmBase< spacedim, Value > FieldBaseType
pair< double, FieldBasePtr > HistoryPoint
Pair: time, pointer to FieldBase instance.
boost::circular_buffer< HistoryPoint > RegionHistory
Nearest history of one region.
std::shared_ptr< ElementDataCache< typename Value::element_type > > output_data_cache_
ElementDataCache used during field output, object is shared with OutputTime.
std::shared_ptr< SharedData > data_
std::shared_ptr< ControlField > no_check_control_field_
std::vector< std::shared_ptr< FactoryBase > > factories_
std::shared_ptr< FieldBaseType > FieldBasePtr
std::vector< FieldBasePtr > region_fields_
Class for representation of a vector of fields of the same physical quantity.
General point a+ side_begin_ + ccessor allow iterate over quadrature points of given side defined in ...
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Representation of one time step..
Holds common data shared between GenericAssemblz and Assembly<dim> classes.
std::vector< RegionHistory > region_history_
base case for building up arguments for the function call
Basic time management class.