SheafSystem
0.0.0.0
|
An abstract section evaluator that can be differentiated. More...
#include <differentiable_section_evaluator.h>
DIFFERENTIABLE_SECTION_EVALUATOR FACET | |
value_type * | _jacobian_values |
The result of the preceding call to "jacobian". More... | |
differentiable_section_evaluator (const differentiable_section_evaluator &xother) | |
Copy constructor. More... | |
virtual | ~differentiable_section_evaluator () |
Destructor. More... | |
virtual void | dxi_local (size_type xlocal_coord_index, const dof_type xsource_dofs[], size_type xsource_dofs_ub, dof_type xresult_dofs[], size_type xresult_dofs_ub) const =0 |
First partial derivative of this with respect to local coordinate xlocal_coord_index. More... | |
void | dxi_local (size_type xlocal_coord_index, const block< dof_type > &xsource_dofs, block< dof_type > &xresult_dofs) const |
First partial derivative of this with respect to local coordinate xlocal_coord_index. More... | |
virtual void | jacobian (const dof_type xcoord_dofs[], size_type xcoord_dofs_ub, size_type xdf, const dof_type xlocal_coords[], size_type xlocal_coords_ub) |
Computes the the jacobian matrix at local coordinates xlocal_coords with coordinate dofs xcoord_dofs. More... | |
const value_type * | jacobian_values () const |
The result of the preceding call to jacobian. More... | |
virtual value_type | jacobian_determinant (const dof_type xcoord_dofs[], size_type xcoord_dofs_ub, size_type xdf, const coord_type xlocal_coords[], size_type xlocal_coords_ub) |
Computes the the determinant of the jacobian matrix at local coordinates xlocal_coords with coordinate dofs xcoord_dofs. More... | |
differentiable_section_evaluator () | |
Default constructor. More... | |
ANY FACET | |
virtual differentiable_section_evaluator * | clone () const =0 |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual differentiable_section_evaluator & | operator= (const differentiable_section_evaluator &xother) |
Assignment operator. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
Additional Inherited Members | |
Public Types inherited from fiber_bundle::section_evaluator | |
typedef chart_point_coord_type | coord_type |
The type of local coordinate; the scalar type for the local coordinate vector space. More... | |
typedef vd_value_type | value_type |
The type of component in the value; the scalar type in the range vector space. More... | |
typedef sec_vd_dof_type | dof_type |
The type of degree of freedom. More... | |
Public Member Functions inherited from fiber_bundle::section_evaluator | |
section_evaluator (const section_evaluator &xother) | |
Copy constructor. More... | |
virtual | ~section_evaluator () |
Destructor. More... | |
virtual int | db () const =0 |
The base dimension; the dimension of the local coordinates (independent variable). More... | |
virtual void | local_coordinates (pod_index_type xindex, coord_type xresult[], size_type xresult_ub) const =0 |
The local coordinates of the dof with local index xindex. More... | |
void | local_coordinates (pod_index_type xindex, block< coord_type > &xresult) const |
The local coordinates of the dof with local index xindex. More... | |
virtual void | center (coord_type xresult[], size_type xresult_ub) const |
The local coordinates at the center of the evaluator. More... | |
void | center (block< coord_type > &xresult) const |
The local coordinates at the center of the evaluator. More... | |
virtual bool | in_standard_domain (const dof_type xlocal_coords[], size_type xlocal_coords_ub) const =0 |
True if the specified local coordinates are in the "standard" domain. More... | |
bool | in_standard_domain (const block< dof_type > &xlocal_coords) const |
True if the specified local coordinates are in the "standard" domain. More... | |
virtual size_type | dof_ct () const =0 |
The number of dofs required for each component of the dependent variable. More... | |
bool | df_is_variable () const |
True if and only if the fiber dimension (number of components of the dependent variable) is variable. More... | |
virtual int | df () const |
The fiber dimension (number of components of dependent variable). More... | |
virtual dof_type | value_at_coord (const dof_type xdofs[], size_type xdofs_ub, const dof_type xlocal_coords[], size_type xlocal_coords_ub) const |
Value at a specified local_coordinate. Single component version. More... | |
dof_type | value_at_coord (const block< dof_type > &xdofs, const block< dof_type > &xlocal_coords) const |
Value at a specified local_coordinate. Single component version. More... | |
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 =0 |
Values at a specified local_coordinate. Multiple component version. More... | |
void | value_at_coord (const block< dof_type > &xdofs, const block< dof_type > &xlocal_coords, block< dof_type > &xresult) const |
Values at a specified local_coordinate. Multiple component version. More... | |
virtual void | coord_at_value (const dof_type xdofs[], size_type xdofs_ub, const dof_type xvalue[], size_type xvalue_ub, dof_type xlocal_coords[], size_type xlocal_coords_ub) const =0 |
The local coordinates of a point at which the field has the value xvalue. The dofs are assumed to be interleaved. More... | |
void | coord_at_value (const block< dof_type > &xdofs, const block< dof_type > &xvalue, block< dof_type > &xlocal_coords) const |
The local coordinates of a point at which the field has the value xvalue. The dofs are assumed to be interleaved. More... | |
virtual dof_type | min (const dof_type xdofs[], size_type xdofs_ub) const |
The minimum value of the scalar or component section defined by xdofs. More... | |
dof_type | min (const block< dof_type > &xdofs) const |
The minimum value of the scalar or component section defined by xdofs. More... | |
virtual void | min (const dof_type xdofs[], size_type xdofs_ub, dof_type xresult[], size_type xresult_ub) const |
The minimum value of the vector section defined by xdofs. More... | |
void | min (const block< dof_type > &xdofs, block< dof_type > &xresult) const |
The minimum value of the vector section defined by xdofs. More... | |
virtual dof_type | max (const dof_type xdofs[], size_type xdofs_ub) const |
The maximum value of the scalar or component section defined by xdofs. More... | |
dof_type | max (const block< dof_type > &xdofs) const |
The maximum value of the scalar or component section defined by xdofs. More... | |
virtual void | max (const dof_type xdofs[], size_type xdofs_ub, dof_type xresult[], size_type xresult_ub) const |
The maximum value of the vector section defined by xdofs. More... | |
void | max (const block< dof_type > &xdofs, block< dof_type > &xresult) const |
The maximum value of the vector section defined by xdofs. More... | |
virtual section_evaluator & | operator= (const section_evaluator &xother) |
Assignment operator. More... | |
Public Member Functions inherited from sheaf::any | |
bool | is_same_type (const any *other) const |
True if other is the same type as this. More... | |
virtual | ~any () |
Destructor. More... | |
bool | invariant_check () const |
True if invariant checking is enabled. More... | |
void | enable_invariant_check () const |
Enable invariant checking. More... | |
void | disable_invariant_check () const |
Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More... | |
int | disable_invariance_check_request_depth () const |
Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More... | |
Protected Member Functions inherited from fiber_bundle::section_evaluator | |
section_evaluator () | |
Default constructor. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
An abstract section evaluator that can be differentiated.
Definition at line 39 of file differentiable_section_evaluator.h.
fiber_bundle::differentiable_section_evaluator::differentiable_section_evaluator | ( | const differentiable_section_evaluator & | xother | ) |
Copy constructor.
Definition at line 34 of file differentiable_section_evaluator.cc.
References ~differentiable_section_evaluator().
|
virtual |
Destructor.
Definition at line 51 of file differentiable_section_evaluator.cc.
References dxi_local().
Referenced by differentiable_section_evaluator().
|
protected |
Default constructor.
Definition at line 197 of file differentiable_section_evaluator.cc.
References clone().
Referenced by jacobian_determinant().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this.
Is Abstract.
Implements fiber_bundle::section_evaluator.
Implemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_2d, fiber_bundle::linear_3d, fiber_bundle::trilinear_3d, fiber_bundle::linear_1d, fiber_bundle::uniform_2d, fiber_bundle::uniform_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, fiber_bundle::constant_fcn_space, fiber_bundle::constant_tet, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_point, fiber_bundle::constant_triangle, fiber_bundle::constant_segment, fiber_bundle::linear_fcn_space, and fiber_bundle::integrable_section_evaluator.
Definition at line 218 of file differentiable_section_evaluator.cc.
References operator=().
Referenced by differentiable_section_evaluator().
|
pure virtual |
First partial derivative of this with respect to local coordinate xlocal_coord_index.
Implemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_3d, fiber_bundle::linear_2d, fiber_bundle::trilinear_3d, fiber_bundle::linear_1d, fiber_bundle::uniform_2d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, and fiber_bundle::constant_fcn_space.
Referenced by ~differentiable_section_evaluator().
void fiber_bundle::differentiable_section_evaluator::dxi_local | ( | size_type | xlocal_coord_index, |
const block< dof_type > & | xsource_dofs, | ||
block< dof_type > & | xresult_dofs | ||
) | const |
First partial derivative of this with respect to local coordinate xlocal_coord_index.
Definition at line 67 of file differentiable_section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), jacobian(), sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ub().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::section_evaluator.
Reimplemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_2d, fiber_bundle::linear_3d, fiber_bundle::trilinear_3d, fiber_bundle::linear_1d, fiber_bundle::uniform_2d, fiber_bundle::uniform_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, fiber_bundle::constant_fcn_space, fiber_bundle::constant_tet, fiber_bundle::constant_point, fiber_bundle::constant_triangle, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_segment, fiber_bundle::linear_fcn_space, and fiber_bundle::integrable_section_evaluator.
Definition at line 264 of file differentiable_section_evaluator.cc.
References sheaf::any::invariant(), and is_ancestor_of().
Referenced by operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from fiber_bundle::section_evaluator.
Reimplemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_2d, fiber_bundle::linear_3d, fiber_bundle::trilinear_3d, fiber_bundle::linear_1d, fiber_bundle::uniform_2d, fiber_bundle::uniform_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, fiber_bundle::constant_fcn_space, fiber_bundle::constant_tet, fiber_bundle::constant_point, fiber_bundle::constant_triangle, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_segment, fiber_bundle::linear_fcn_space, and fiber_bundle::integrable_section_evaluator.
Definition at line 295 of file differentiable_section_evaluator.cc.
Referenced by invariant().
|
virtual |
Computes the the jacobian matrix at local coordinates xlocal_coords with coordinate dofs xcoord_dofs.
Not Implemented.
Reimplemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_3d, fiber_bundle::linear_2d, fiber_bundle::trilinear_3d, fiber_bundle::uniform_2d, fiber_bundle::linear_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, and fiber_bundle::constant_fcn_space.
Definition at line 108 of file differentiable_section_evaluator.cc.
References jacobian_values().
Referenced by dxi_local().
|
virtual |
Computes the the determinant of the jacobian matrix at local coordinates xlocal_coords with coordinate dofs xcoord_dofs.
Not Implemented.
Reimplemented in fiber_bundle::bilinear_2d, fiber_bundle::constant_fcn_space, fiber_bundle::linear_3d, fiber_bundle::linear_2d, fiber_bundle::trilinear_3d, fiber_bundle::linear_1d, fiber_bundle::uniform_2d, fiber_bundle::uniform_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_1d, fiber_bundle::quadratic_3d, and fiber_bundle::quadratic_2d.
Definition at line 162 of file differentiable_section_evaluator.cc.
References differentiable_section_evaluator().
Referenced by jacobian_values().
const fiber_bundle::differentiable_section_evaluator::value_type * fiber_bundle::differentiable_section_evaluator::jacobian_values | ( | ) | const |
The result of the preceding call to jacobian.
Definition at line 141 of file differentiable_section_evaluator.cc.
References jacobian_determinant().
Referenced by jacobian(), and fiber_bundle::bilinear_2d::jacobian().
|
virtual |
Assignment operator.
Definition at line 242 of file differentiable_section_evaluator.cc.
References invariant().
Referenced by clone().
|
protected |
The result of the preceding call to "jacobian".
Definition at line 115 of file differentiable_section_evaluator.h.