20 #include "SheafSystem/linear_fcn_space.h" 22 #include "SheafSystem/assert_contract.h" 23 #include "SheafSystem/std_cmath.h" 103 require(xlocal_coord != 0);
104 require(xlocal_coord_ub >= db());
105 require(basis_values() != 0);
127 require(xlocal_coord != 0);
128 require(xlocal_coord_ub >= db());
129 require(basis_deriv_values() != 0);
176 const value_type* result = _basis_deriv_values;
251 require(xdofs_ub >= dl()*xresult_ub);
252 require(unexecutable(xdofs must be interleaved));
253 require(xlocal_coords != 0);
254 require(xlocal_coords_ub >= db());
255 require(xresult != 0);
256 require(xresult_ub > 0);
257 require(basis_values() != 0);
274 value += _basis_values[j]*xdofs[dof_index];
275 dof_index += xresult_ub;
307 ensure(is_same_type(result));
321 require(is_ancestor_of(&xother));
342 require(is_ancestor_of(&xother));
373 if(invariant_check())
377 disable_invariant_check();
381 enable_invariant_check();
398 require(xother != 0);
virtual bool is_ancestor_of(const any *xother) const
Conformance test; true if other conforms to this.
virtual void basis_derivs_at_coord(const dof_type xlocal_coords[], size_type xlocal_coords_ub)=0
Computes the value of the derivatives of each basis function at local coordinates xlocal_coords...
virtual linear_fcn_space & operator=(const section_evaluator &xother)
Assignment operator.
sec_vd_dof_type dof_type
The type of degree of freedom.
virtual size_type dof_ct() const
The number of dofs required for each component of the dependent variable.
virtual bool invariant() const
Class invariant.
Abstract base class with useful features for all objects.
An abstract integrable section evaluator which is a member of a linear function space.
const value_type * basis_deriv_values() const
The result of the preceding call to basis_derivs_at_coord.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
vd_value_type value_type
The type of component in the value; the scalar type in the range vector space.
virtual bool invariant() const
Class invariant.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
virtual linear_fcn_space * clone() const =0
Virtual constructor, creates a new instance of the same type as this.
virtual void value_at_coord(const dof_type xdofs[], size_type xdofs_ub, const dof_type xlocal_coords[], size_type xlocal_coords_ub, dof_type xresult[], size_type xresult_ub) const
Computes the value of the function at local coordinates xlocal_coords using the degrees of freedom xd...
virtual void basis_at_coord(const dof_type xlocal_coords[], size_type xlocal_coords_ub)=0
Computes the value of each basis function at local coordinates xlocal_coords.
linear_fcn_space()
Default constructor.
virtual int dl() const =0
The dimension of this function space.
const value_type * basis_values() const
The result of the preceding call to basis_at_coord.
Namespace for the fiber_bundles component of the sheaf system.
virtual ~linear_fcn_space()
Destructor.