SheafSystem
0.0.0.0
|
An abstract local section evaluator; a map from {local coordinates x dofs} to section value. More...
#include <section_evaluator.h>
SECTION_EVALUATOR FACET | |
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... | |
section_evaluator (const section_evaluator &xother) | |
Copy constructor. More... | |
virtual | ~section_evaluator () |
Destructor. More... | |
section_evaluator () | |
Default constructor. More... | |
DOMAIN FACET | |
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... | |
EVALUATION FACET | |
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... | |
ANY FACET | |
virtual section_evaluator * | clone () const =0 |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual section_evaluator & | operator= (const 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 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 sheaf::any | |
any () | |
default constructor More... | |
An abstract local section evaluator; a map from {local coordinates x dofs} to section value.
Definition at line 53 of file section_evaluator.h.
The type of local coordinate; the scalar type for the local coordinate vector space.
Definition at line 77 of file section_evaluator.h.
The type of degree of freedom.
Definition at line 88 of file section_evaluator.h.
The type of component in the value; the scalar type in the range vector space.
Definition at line 83 of file section_evaluator.h.
fiber_bundle::section_evaluator::section_evaluator | ( | const section_evaluator & | xother | ) |
Copy constructor.
Definition at line 34 of file section_evaluator.cc.
References ~section_evaluator().
|
virtual |
Destructor.
Definition at line 51 of file section_evaluator.cc.
References section_evaluator().
Referenced by section_evaluator().
|
protected |
Default constructor.
Definition at line 66 of file section_evaluator.cc.
References db().
Referenced by ~section_evaluator().
|
virtual |
The local coordinates at the center of the evaluator.
Reimplemented in fiber_bundle::linear_3d, fiber_bundle::linear_2d, fiber_bundle::constant_tet, and fiber_bundle::constant_triangle.
Definition at line 160 of file section_evaluator.cc.
Referenced by fields::field_refinement_buffer::evaluate_at_center(), local_coordinates(), fiber_bundle::constant_quad::local_coordinates(), fiber_bundle::constant_hex::local_coordinates(), fields::zone_centered_tet_refiner::refine_coordinates(), fields::zone_centered_segment_refiner::refine_coordinates(), fields::zone_centered_triangle_refiner::refine_coordinates(), and fields::edge_centered_polygon_refiner::refine_coordinates().
void fiber_bundle::section_evaluator::center | ( | block< coord_type > & | xresult | ) | const |
The local coordinates at the center of the evaluator.
Definition at line 188 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), in_standard_domain(), sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ub().
|
pure virtual |
Virtual constructor, makes a new instance of the same type as this.
Is Abstract.
Reimplemented from sheaf::any.
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, fiber_bundle::integrable_section_evaluator, and fiber_bundle::differentiable_section_evaluator.
Definition at line 723 of file section_evaluator.cc.
References operator=().
Referenced by fiber_bundle::eval_family::eval_family(), and max().
|
pure virtual |
The local coordinates of a point at which the field has the value xvalue. The dofs are assumed to be interleaved.
Is Abstract.
Implemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_2d, fiber_bundle::linear_3d, fiber_bundle::trilinear_3d, fiber_bundle::uniform_2d, fiber_bundle::linear_1d, fiber_bundle::uniform_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, and fiber_bundle::constant_fcn_space.
Definition at line 428 of file section_evaluator.cc.
Referenced by geometry::d_bin_point_locator< DC, DB >::all_points_at_value(), geometry::cylindrical_point_locator::all_points_at_value(), geometry::d_bin_point_locator< DC, DB >::branch_points_at_value(), geometry::cylindrical_point_locator::branch_points_at_value(), geometry::d_bin_point_locator< DC, DB >::point_at_value(), geometry::cylindrical_point_locator::point_at_value(), and value_at_coord().
void fiber_bundle::section_evaluator::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.
Definition at line 451 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), min(), sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ub().
|
pure virtual |
The base dimension; the dimension of the local coordinates (independent variable).
Is Abstract.
Implemented 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, fiber_bundle::constant_tet, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_point, fiber_bundle::constant_segment, and fiber_bundle::constant_triangle.
Definition at line 86 of file section_evaluator.cc.
References local_coordinates().
Referenced by section_evaluator().
|
virtual |
The fiber dimension (number of components of dependent variable).
Definition at line 306 of file section_evaluator.cc.
References value_at_coord().
Referenced by df_is_variable().
bool fiber_bundle::section_evaluator::df_is_variable | ( | ) | const |
True if and only if the fiber dimension (number of components of the dependent variable) is variable.
Definition at line 286 of file section_evaluator.cc.
References df().
Referenced by dof_ct().
|
pure virtual |
The number of dofs required for each component of the dependent variable.
Is Abstract.
Implemented in fiber_bundle::linear_fcn_space.
Definition at line 264 of file section_evaluator.cc.
References df_is_variable().
Referenced by geometry::d_array_point_locator< DC, DB >::box_list(), fields::body_builder::build_pa(), and in_standard_domain().
|
pure virtual |
True if the specified local coordinates are in the "standard" domain.
Implemented in fiber_bundle::bilinear_2d, fiber_bundle::linear_2d, fiber_bundle::linear_3d, fiber_bundle::trilinear_3d, fiber_bundle::uniform_2d, fiber_bundle::linear_1d, fiber_bundle::uniform_1d, fiber_bundle::quadratic_1d, fiber_bundle::uniform_3d, fiber_bundle::quadratic_2d, fiber_bundle::quadratic_3d, fiber_bundle::constant_tet, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_point, fiber_bundle::constant_triangle, and fiber_bundle::constant_segment.
Definition at line 212 of file section_evaluator.cc.
Referenced by geometry::d_bin_point_locator< DC, DB >::all_points_at_value(), geometry::cylindrical_point_locator::all_points_at_value(), geometry::d_bin_point_locator< DC, DB >::branch_points_at_value(), geometry::cylindrical_point_locator::branch_points_at_value(), center(), geometry::d_bin_point_locator< DC, DB >::point_at_value(), and geometry::cylindrical_point_locator::point_at_value().
bool fiber_bundle::section_evaluator::in_standard_domain | ( | const block< dof_type > & | xlocal_coords | ) | const |
True if the specified local coordinates are in the "standard" domain.
Definition at line 236 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), and dof_ct().
|
virtual |
Class invariant.
Reimplemented from sheaf::any.
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, fiber_bundle::integrable_section_evaluator, and fiber_bundle::differentiable_section_evaluator.
Definition at line 769 of file section_evaluator.cc.
References sheaf::any::invariant(), and is_ancestor_of().
Referenced by fiber_bundle::linear_fcn_space::invariant(), and operator=().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from sheaf::any.
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, fiber_bundle::integrable_section_evaluator, and fiber_bundle::differentiable_section_evaluator.
Definition at line 800 of file section_evaluator.cc.
Referenced by invariant().
|
pure virtual |
The local coordinates of the dof with local index xindex.
Implemented 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, fiber_bundle::constant_tet, fiber_bundle::constant_hex, fiber_bundle::constant_quad, fiber_bundle::constant_point, fiber_bundle::constant_segment, and fiber_bundle::constant_triangle.
Definition at line 110 of file section_evaluator.cc.
Referenced by db(), fields::field_refinement_buffer::evaluate_source_at_disc(), fields::property_disc_iterator_4_2::get_prop_disc_values(), fields::property_disc_iterator_4_3::get_prop_disc_values(), fields::property_disc_iterator_1_2::get_prop_disc_values(), fields::property_disc_iterator_1_3::get_prop_disc_values(), fields::discretization_pusher::push(), and fields::field_refinement_buffer::refine_prop_dofs().
void fiber_bundle::section_evaluator::local_coordinates | ( | pod_index_type | xindex, |
block< coord_type > & | xresult | ||
) | const |
The local coordinates of the dof with local index xindex.
Definition at line 136 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), center(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), local_coordinates(), sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ub().
Referenced by local_coordinates().
|
virtual |
The maximum value of the scalar or component section defined by xdofs.
Definition at line 608 of file section_evaluator.cc.
Referenced by geometry::d_bin_point_locator< DC, DB >::assign_box(), geometry::d_array_point_locator< DC, DB >::box_list(), fields::body_builder::build_pa(), fiber_bundle::sec_vd_algebra::extrema(), geometry::cylindrical_point_locator::make_quad_bounding_box(), geometry::cylindrical_point_locator::make_triangle_bounding_box(), max(), fiber_bundle::sec_vd_algebra::max(), min(), fiber_bundle::sec_vd_algebra::min(), geometry::d_bin_point_locator< DC, DB >::update(), and geometry::d_bin_point_locator< DC, DB >::update_box().
fiber_bundle::section_evaluator::dof_type fiber_bundle::section_evaluator::max | ( | const block< dof_type > & | xdofs | ) | const |
The maximum value of the scalar or component section defined by xdofs.
Definition at line 635 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), max(), and fiber_bundle::vd_algebra::max().
|
virtual |
The maximum value of the vector section defined by xdofs.
Definition at line 657 of file section_evaluator.cc.
References max().
void fiber_bundle::section_evaluator::max | ( | const block< dof_type > & | xdofs, |
block< dof_type > & | xresult | ||
) | const |
The maximum value of the vector section defined by xdofs.
Definition at line 697 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), clone(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), and fiber_bundle::vd_algebra::max().
|
virtual |
The minimum value of the scalar or component section defined by xdofs.
Definition at line 494 of file section_evaluator.cc.
Referenced by geometry::d_bin_point_locator< DC, DB >::assign_box(), geometry::d_array_point_locator< DC, DB >::box_list(), fields::body_builder::build_pa(), coord_at_value(), fiber_bundle::sec_vd_algebra::extrema(), geometry::cylindrical_point_locator::make_quad_bounding_box(), geometry::cylindrical_point_locator::make_triangle_bounding_box(), min(), geometry::d_bin_point_locator< DC, DB >::update(), and geometry::d_bin_point_locator< DC, DB >::update_box().
fiber_bundle::section_evaluator::dof_type fiber_bundle::section_evaluator::min | ( | const block< dof_type > & | xdofs | ) | const |
The minimum value of the scalar or component section defined by xdofs.
Definition at line 523 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), min(), and fiber_bundle::vd_algebra::min().
|
virtual |
The minimum value of the vector section defined by xdofs.
Definition at line 545 of file section_evaluator.cc.
References min().
void fiber_bundle::section_evaluator::min | ( | const block< dof_type > & | xdofs, |
block< dof_type > & | xresult | ||
) | const |
The minimum value of the vector section defined by xdofs.
Definition at line 585 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), max(), and fiber_bundle::vd_algebra::min().
|
virtual |
Assignment operator.
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_hex, fiber_bundle::constant_quad, fiber_bundle::constant_point, fiber_bundle::constant_triangle, fiber_bundle::constant_segment, and fiber_bundle::linear_fcn_space.
Definition at line 747 of file section_evaluator.cc.
References invariant().
Referenced by clone().
|
virtual |
Value at a specified local_coordinate. Single component version.
Definition at line 360 of file section_evaluator.cc.
Referenced by fields::base_space_map::base_space_map(), df(), fields::field_refinement_buffer::evaluate_at_center(), fields::field_refinement_buffer::evaluate_source_at_disc(), fields::property_disc_iterator_4_2::get_prop_disc_values(), fields::property_disc_iterator_4_3::get_prop_disc_values(), fields::property_disc_iterator_1_2::get_prop_disc_values(), fields::property_disc_iterator_1_3::get_prop_disc_values(), fields::discretization_pusher::push(), fields::zone_centered_tet_refiner::refine_coordinates(), fields::zone_centered_segment_refiner::refine_coordinates(), fields::zone_centered_triangle_refiner::refine_coordinates(), fields::edge_centered_polygon_refiner::refine_coordinates(), fields::field_refinement_buffer::refine_prop_dofs(), fields::section_pusher::section_pusher(), value_at_coord(), and fiber_bundle::sec_vd::value_at_point_ua().
fiber_bundle::sec_vd_dof_type fiber_bundle::section_evaluator::value_at_coord | ( | const block< dof_type > & | xdofs, |
const block< dof_type > & | xlocal_coords | ||
) | const |
Value at a specified local_coordinate. Single component version.
Definition at line 331 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), and value_at_coord().
|
pure virtual |
Values at a specified local_coordinate. Multiple component version.
Implemented in fiber_bundle::constant_fcn_space, and fiber_bundle::linear_fcn_space.
void fiber_bundle::section_evaluator::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.
Definition at line 390 of file section_evaluator.cc.
References sheaf::auto_block< T, un_block_initialization_policy< T > >::base(), coord_at_value(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::ct().