20 #include "SheafSystem/array_sec_vd_dof_map.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/discretization_iterator.h" 24 #include "SheafSystem/dof_map_factory.h" 25 #include "SheafSystem/id_map.h" 26 #include "SheafSystem/postorder_iterator.h" 27 #include "SheafSystem/sec_rep_space.h" 28 #include "SheafSystem/primitive_type.h" 43 const string& result = static_class_name();
47 ensure(!result.empty());
63 static const string result(
"array_sec_vd_dof_map");
67 ensure(!result.empty());
68 ensure(result ==
"array_sec_vd_dof_map");
289 require(
schema().state_is_read_accessible());
290 require(
schema().dof_id_space().contains_range_id(xdof_id));
291 require(unexecutable(
"xdof points to buffer of size xdof_size"));
292 require(xdof_size >=
schema().size(xdof_id));
314 require(
schema().state_is_read_accessible());
315 require(
schema().dof_id_space().contains_range_id(xdof_id));
316 require(unexecutable(
"xdof points to buffer of size xdof_size"));
317 require(xdof_size >=
schema().size(xdof_id));
325 ensure(unexecutable(
internal storage holds
dof referred to by xdof_id and xis_poset_id));
339 require(
schema().state_is_read_accessible());
340 require(
schema().discretization_id_space().contains_range_id(xdisc_id));
341 require(
schema().fiber_id_space().contains_range_id(xfiber_dof_id));
342 require(unexecutable(
"xdof points to buffer of size xdof_size"));
343 require(xdof_size >=
schema().size(xdisc_id, xfiber_dof_id));
349 row_dof_id_space().simple(xdisc_id, xfiber_id, ldof_id);
368 require(
schema().state_is_read_accessible());
369 require(
schema().discretization_id_space().contains_range_id(xdisc_id));
370 require(
schema().fiber_id_space().contains_range_id(xfiber_dof_id));
371 require(unexecutable(
"xdof points to buffer of size xdof_size"));
372 require(xdof_size >=
schema().size(xdisc_id, xfiber_dof_id));
378 row_dof_id_space().simple(xdisc_id, xfiber_id, ldof_id);
401 fiber_bundle::array_sec_vd_dof_map::
402 _has_prototype = make_prototype();
406 fiber_bundle::array_sec_vd_dof_map::
array_sec_vd_dof_map()
Default constructor.
virtual ~array_sec_vd_dof_map()
Destructor.
primitive_value dof(pod_index_type xdof_id) const
The dof referred to by xdof_id.
virtual section_space_schema_member & schema()
The schema on which this is allocated (mutable version).
bool is_initialized() const
True if this has been initialized, that is, if the schema has been set and the dof map storage alloca...
array_section_dof_map()
Default constructor.
The general, abstract map from dof ids to dof values.
static dof_map_factory & factory()
The dof map factory.
array_section_dof_map & operator=(const array_section_dof_map &xother)
Assignment operator.
A contiguous tuple, contiguous fiber representation of the abstract map from section dof ids to secti...
A contiguous tuple, contiguous fiber representation of the abstract map from section dof ids to secti...
static const std::string & static_class_name()
The name of this class.
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
virtual bool invariant() const
The class invariant.
dof_tuple_type
Identifiers for dof tuple types.
virtual void put_dof(pod_index_type xdof_id, bool xis_poset_id, const void *xdof, size_type xdof_size)
Sets the dof referred to by xdof_id to the value at xdof.
int_type pod_index_type
The plain old data index type.
virtual const std::string & class_name()
The name of the actual (possibly derived) class of this instance.
virtual array_sec_vd_dof_map * clone() const
Virtual default constructor.
array_sec_vd_dof_map & operator=(const array_sec_vd_dof_map &xother)
Assignment operator.
void insert_prototype(const poset_dof_map *xprototype)
Sets xprototype as the prototype for its client class.
virtual array_sec_vd_dof_map * copy() const
Virtual copy constructor.
double sec_vd_dof_type
The type of degree of freedom in the section space.
Namespace for the fiber_bundles component of the sheaf system.
bool is_same_type(const any *other) const
True if other is the same type as this.
virtual void get_dof(pod_index_type xdof_id, void *xdof, size_type xdof_size) const
Copies the dof referred to by xdof_id into xdof.
A handle for a poset whose members are numerical representations of sections of a fiber bundle...