20 #include "SheafSystem/constant_hex.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/error_message.h" 24 #include "SheafSystem/std_limits.h" 25 #include "SheafSystem/std_cmath.h" 44 _basis_deriv_values = _basis_deriv_value_buffer;
113 require(xcoord_dofs != 0);
114 require(xcoord_dofs_ub >= 0);
173 require((0 <= xindex) && (xindex <
dof_ct()));
174 require(xresult_ub >=
db());
178 center(xresult, xresult_ub);
197 require(xlocal_coords != 0);
198 require(xlocal_coords_ub >=
db());
209 dof_type one = 1.0 + 1000.0*numeric_limits<dof_type>::epsilon();
211 bool result = (u >= -one) && (u <= one) &&
212 (v >= -one) && (v <= one) &&
213 (w >= -one) && (w <= one);
338 require(xother != 0);
344 bool result =
dynamic_cast<const constant_hex*
>(xother) != 0;
virtual bool invariant() const
Class invariant.
virtual bool is_ancestor_of(const any *xother) const
Conformance test; true if other conforms to this.
virtual int db() const
The base dimension; the dimension of the local coordinates (independent variable).
virtual bool invariant() const
Class invariant.
virtual ~constant_hex()
Destructor.
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.
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.
virtual size_type dof_ct() const
The number of dofs required for each component of the dependent variable.
constant_hex()
Default constructor.
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...
Abstract base class with useful features for all objects.
virtual constant_hex & operator=(const section_evaluator &xother)
Assignment operator.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
virtual void center(coord_type xresult[], size_type xresult_ub) const
The local coordinates at the center of the evaluator.
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.
void disable_invariant_check() const
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing inv...
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.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
virtual constant_hex * clone() const
Virtual constructor, creates a new instance of the same type as this.
bool invariant_check() const
True if invariant checking is enabled.
int_type pod_index_type
The plain old data index type.
value_type _basis_deriv_value_buffer[int(DB) *int(DL)]
Storage for the result of the preceeding call to basis_derivs_at_coord.
A section evaluator using trilinear interpolation over a cubic 3D domain.
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.