20 #include "SheafSystem/constant_tet.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/error_message.h" 24 #include "SheafSystem/std_limits.h" 41 _basis_deriv_values = _basis_deriv_value_buffer;
108 require(xcoord_dofs != 0);
109 require(xcoord_dofs_ub >= 0);
170 require((0 <= xindex) && (xindex <
dof_ct()));
171 require(xresult_ub >=
db());
175 center(xresult, xresult_ub);
193 require(xresult != 0);
194 require(xresult_ub >=
db());
201 xresult[0] = one_fourth;
202 xresult[1] = one_fourth;
203 xresult[2] = one_fourth;
221 require(xlocal_coords != 0);
222 require(xlocal_coords_ub >=
db());
233 dof_type zero = 0.0 - 1000.0*numeric_limits<dof_type>::epsilon();
234 dof_type one = 1.0 + 1000.0*numeric_limits<dof_type>::epsilon();
236 bool result = (u >= zero) && (u <= one) &&
237 (v >= zero) && (v <= one) &&
238 (w >= zero) && (w <= one);
364 require(xother != 0);
370 bool result =
dynamic_cast<const constant_tet*
>(xother) != 0;
virtual void center(coord_type xresult[], size_type xresult_ub) const
The local coordinates at the center of the evaluator.
virtual constant_tet * clone() const
Virtual constructor, creates a new instance of the same type as this.
virtual int db() const
The base dimension; the dimension of the local coordinates (independent variable).
virtual ~constant_tet()
Destructor.
virtual value_type volume(const dof_type xcoord_dofs[], size_type xcoord_dofs_ub, size_type xdf)
Volume for specified coordinate dofs xcoord_dofs and fiber space dimension xdf.
constant_tet()
Default constructor.
virtual bool invariant() const
Class invariant.
value_type * _basis_deriv_values
The result of the preceding call to basis_derivs_at_coord.
sec_vd_dof_type dof_type
The type of degree of freedom.
value_type _basis_deriv_value_buffer[int(DB) *int(DL)]
Storage for the result of the preceeding call to basis_derivs_at_coord.
virtual size_type dof_ct() const
The number of dofs required for each component of the dependent variable.
Abstract base class with useful features for all objects.
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 constant_tet & operator=(const section_evaluator &xother)
Assignment operator.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
virtual bool invariant() const
Class invariant.
bool invariant_check() const
True if invariant checking is enabled.
int_type pod_index_type
The plain old data index type.
A section evaluator with a constant value over a tetrahedral 3D domain.
virtual bool in_standard_domain(const dof_type xlocal_coords[], size_type xlocal_coords_ub) const
Return true if the specified local coordinates are in the "standard" domain; otherwise return false...
const value_type * basis_values() const
The result of the preceding call to basis_at_coord.
An section evaluator with a constant value over an abstract domain.
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.
void enable_invariant_check() const
Enable invariant checking.
virtual bool is_ancestor_of(const any *xother) const
Conformance test; true if other conforms to this.
virtual void local_coordinates(pod_index_type xindex, coord_type xresult[], size_type xresult_ub) const
The local coordinates of the dof with local index xindex.