18 #ifndef FIELD_COORDS_HH_ 19 #define FIELD_COORDS_HH_ 48 ASSERT(
false).error(
"This method can't be used for FieldCoords");
56 ASSERT(
false).error(
"This method can't be used for FieldCoords");
75 ASSERT(
false).error(
"Forbidden method for FieldCoords!");
79 ASSERT(
false).error(
"Forbidden method for FieldCoords!");
83 ASSERT(
false).error(
"Forbidden method for FieldCoords!");
91 double limit = std::numeric_limits<double>::max();
92 return fmt::format(
"{{ \"shape\": [ 3, 1 ], \"type\": \"Double\", \"limit\": [ {}, {} ] }}", -limit, +limit);
104 std::shared_ptr<EvalPoints> eval_points = cache_map.
eval_points();
107 unsigned int last_element_idx = -1;
110 unsigned int dim = 0;
112 for (
unsigned int i_data = reg_chunk_begin; i_data < reg_chunk_end; ++i_data) {
114 if (elm_idx != last_element_idx) {
117 last_element_idx = elm_idx;
123 coords = *elm.
node(0);
unsigned int region_chunk_begin(unsigned int region_patch_idx) const
Return begin position of region chunk in FieldValueCache.
void observe_output(FMT_UNUSED std::shared_ptr< Observe > observe) override
Class MappingP1 implements the affine transformation of the unit cell onto the actual cell...
Common abstract parent of all Field<...> classes.
Container for various descendants of FieldCommonBase.
const FieldValueCache< double > * value_cache() const override
Implements FieldCommon::value_cache.
FieldValueCache< double > * value_cache() override
Implements FieldCommon::value_cache.
std::string get_value_attribute() const override
static unsigned int get()
Return number of stored elements.
IT::Instance get_input_type() override
void copy_from(FMT_UNUSED const FieldCommon &other) override
unsigned int i_element_
mesh_idx of ElementAccessor appropriate to element
const EvalPointData & eval_point_data(unsigned int point_idx) const
Return item of eval_point_data_ specified by its position.
std::string format(CStringRef format_str, ArgList args)
FieldValueCache< double > value_cache_
Directing class of FieldValueCache.
FieldCoords()
Constructor.
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
Basic time management functionality for unsteady (and steady) solvers (class Equation).
NodeAccessor< 3 > node(unsigned int ni) const
void cache_update(ElementCacheMap &cache_map, unsigned int region_patch_idx) const override
Implements FieldCommon::cache_update.
virtual ElementAccessor< 3 > element_accessor(unsigned int idx) const
Create and return ElementAccessor to element of given idx.
void set_input_list(FMT_UNUSED const Input::Array &list, FMT_UNUSED const TimeGovernor &tg) override
void set_mesh(const Mesh &mesh) override
unsigned int region_chunk_end(unsigned int region_patch_idx) const
Return end position of region chunk in FieldValueCache.
void set_shape(uint n_rows, uint n_cols)
Affine mapping between reference and actual cell.
unsigned int i_eval_point_
index of point in EvalPoint object
IT::Array get_multifield_input_type() override
const Mesh * mesh_
Pointer to the mesh.
std::shared_ptr< EvalPoints > eval_points() const
Getter of eval_points object.
const Mesh * mesh() const
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc...
static RealPoint project_unit_to_real(const BaryPoint &point, const ElementMap &map)
std::vector< const FieldCommon * > set_dependency(FMT_UNUSED FieldSet &field_set, FMT_UNUSED unsigned int i_reg) const override
Implements FieldCommon::set_dependency().
void cache_reallocate(FMT_UNUSED const ElementCacheMap &cache_map, FMT_UNUSED unsigned int region_idx) const override
Implements FieldCommon::cache_allocate.
void field_output(FMT_UNUSED std::shared_ptr< OutputTime > stream) override
Representation of one time step..
bool is_constant(FMT_UNUSED Region reg) override
FieldResult field_result(FMT_UNUSED RegionSet region_set) const override
bool set_time(FMT_UNUSED const TimeStep &time, FMT_UNUSED LimitSide limit_side) override