20 #include "SheafSystem/integrable_section_evaluator.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/block.h" 24 #include "SheafSystem/sec_vd.h" 74 require(xcoord_dofs != 0);
75 require(xcoord_dofs_ub >= 0);
107 require(xcoord_dofs != 0);
108 require(xcoord_dofs_ub >= 0);
109 require(xintegrands != 0);
110 require(xintegrands_ub >= 0);
111 require(xresult_integrals != 0);
112 require(xresult_integrals_ub > 0);
141 require(xcoord_dofs != 0);
142 require(xcoord_dofs_ub >= 0);
143 require(xresult_integrals != 0);
144 require(xresult_integrals_ub >= 0);
148 integrate(xcoord_dofs, xcoord_dofs_ub, xdf, &xintegrand, 1, xresult_integrals, xresult_integrals_ub);
168 require((0 <= xindex) && (xindex < dof_ct()));
169 require(xresult_ub >= db());
177 ensure(in_standard_domain(xresult, xresult_ub));
225 ensure(is_same_type(result));
240 require(is_ancestor_of(&xother));
270 if(invariant_check())
274 disable_invariant_check();
278 enable_invariant_check();
294 require(xother != 0);
virtual bool invariant() const
Class invariant, intended to be redefined in each descendant. See below for template for invariant in...
virtual bool is_ancestor_of(const any *other) const
Conformance test; true if other conforms to this.
virtual value_type volume(const dof_type xcoord_dofs[], size_type xcoord_dofs_ub, size_type xdf)=0
Volume for specified coordinate dofs xcoord_dofs and fiber space dimension xdf.
sec_vd_dof_type dof_type
The type of degree of freedom.
virtual bool invariant() const
Class invariant.
virtual integrable_section_evaluator * clone() const =0
Virtual constructor, makes a new instance of the same type as this.
Abstract base class with useful features for all objects.
virtual void gauss_point(pod_index_type xindex, coord_type xresult[], size_type xresult_ub)=0
The local coordinates of the gauss point with index xindex.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
chart_point_coord_type coord_type
The type of local coordinate; the scalar type for the local coordinate vector space.
vd_value_type value_type
The type of component in the value; the scalar type in the range vector space.
virtual ~integrable_section_evaluator()
Destructor.
virtual integrable_section_evaluator & operator=(const integrable_section_evaluator &xother)
Assignment operator.
integrable_section_evaluator()
Default constructor.
int_type pod_index_type
The plain old data index type.
virtual void integrate(const dof_type xcoord_dofs[], size_type xcoord_dofs_ub, size_type xdf, const dof_type xintegrands[], size_type xintegrands_ub, value_type xresult_integrals[], size_type xresult_integrals_ub)=0
Computes the value of the integral of the integrand array...
An abstract section evaluator with a bounded domain that supports integration (volume calculation) as...
Namespace for the fiber_bundles component of the sheaf system.