18 #ifndef FIELD_COORDS_HH_
19 #define FIELD_COORDS_HH_
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();
108 unsigned int last_element_idx = -1;
111 unsigned int dim = 0;
117 for (
unsigned int i_data = reg_chunk_begin; i_data < reg_chunk_end; ++i_data) {
119 if (elm_idx != last_element_idx) {
122 last_element_idx = elm_idx;
128 coords = *elm.
node(0);
172 return this->
value_cache_.template vec<3>(i_cache_point);
#define ASSERT_PERMANENT(expr)
Allow use shorter versions of macro names if these names is not used with external library.
static unsigned int get()
Return number of stored elements.
NodeAccessor< 3 > node(unsigned int ni) const
Directing class of FieldValueCache.
unsigned int region_chunk_end(unsigned int region_patch_idx) const
Return end position of region chunk in FieldValueCache.
std::shared_ptr< EvalPoints > eval_points() const
Getter of eval_points object.
unsigned int region_chunk_begin(unsigned int region_patch_idx) const
Return begin position of region chunk in FieldValueCache.
const EvalPointData & eval_point_data(unsigned int point_idx) const
Return item of eval_point_data_ specified by its position.
Common abstract parent of all Field<...> classes.
std::shared_ptr< SharedData > shared_
void set_shape(uint n_rows, uint n_cols)
const Mesh * mesh() const
IT::Instance get_input_type() override
std::vector< const FieldCommon * > set_dependency(FMT_UNUSED unsigned int i_reg) const override
Implements FieldCommon::set_dependency().
void cache_update(ElementCacheMap &cache_map, unsigned int region_patch_idx) const override
Implements FieldCommon::cache_update.
FieldValueCache< double > value_cache_
std::string get_value_attribute() const override
const FieldValueCache< double > * value_cache() const override
Implements FieldCommon::value_cache.
bool set_time(FMT_UNUSED const TimeStep &time, FMT_UNUSED LimitSide limit_side) override
void cache_reallocate(FMT_UNUSED const ElementCacheMap &cache_map, FMT_UNUSED unsigned int region_idx) const override
Implements FieldCommon::cache_allocate.
bool is_constant(FMT_UNUSED Region reg) override
FieldResult field_result(FMT_UNUSED RegionSet region_set) const override
void field_output(FMT_UNUSED std::shared_ptr< OutputTime > stream, FMT_UNUSED OutputTime::DiscreteSpace type) override
IT::Array get_multifield_input_type() override
void copy_from(FMT_UNUSED const FieldCommon &other) override
FieldValueCache< double > * value_cache() override
Implements FieldCommon::value_cache.
void set_input_list(FMT_UNUSED const Input::Array &list, FMT_UNUSED const TimeGovernor &tg) override
FieldCoords()
Constructor.
arma::vec3 operator[](unsigned int i_cache_point) const
void set_mesh(const Mesh &mesh) override
Affine mapping between reference and actual cell.
static RealPoint project_unit_to_real(const BaryPoint &point, const ElementMap &map)
Base class for Mesh and BCMesh.
ElementAccessor< 3 > element_accessor(unsigned int idx) const
Create and return ElementAccessor to element of given idx.
Armor::ArmaVec< double, spacedim > Point
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Representation of one time step..
Class MappingP1 implements the affine transformation of the unit cell onto the actual cell.
std::string format(CStringRef format_str, ArgList args)
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc.
unsigned int i_eval_point_
index of point in EvalPoint object
unsigned int i_element_
mesh_idx of ElementAccessor appropriate to element
unsigned int i_reg_
region_idx of element