SheafSystem  0.0.0.0
fields::discretization_pusher Class Reference

A push-forward operator for discretization subposets; pushes members into the global coordinate space. More...

#include <discretization_pusher.h>

Inheritance diagram for fields::discretization_pusher:
sheaf::any

DISCRETIZATION_PUSHER FACET

 discretization_pusher ()
 Default constructor. More...
 
virtual ~discretization_pusher ()
 Destructor. More...
 
void push (const section_space_schema_member &xsrc, const sec_vd &xglobal_coord, discretization_push_action &xpush_action, bool xauto_access)
 Pushes each member of the discretization of xsrc into the fiber space of xglobal_coord and then executes xpush_action. More...
 

ANY FACET

virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::any
virtual bool is_ancestor_of (const any *other) const
 True if other conforms to this. More...
 
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual anyclone () const
 Virtual constructor, makes a new instance of 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...
 

Detailed Description

A push-forward operator for discretization subposets; pushes members into the global coordinate space.

Definition at line 51 of file discretization_pusher.h.

Constructor & Destructor Documentation

◆ discretization_pusher()

fields::discretization_pusher::discretization_pusher ( )

Default constructor.

Definition at line 54 of file discretization_pusher.cc.

References ~discretization_pusher().

◆ ~discretization_pusher()

fields::discretization_pusher::~discretization_pusher ( )
virtual

Destructor.

Definition at line 68 of file discretization_pusher.cc.

References push().

Referenced by discretization_pusher().

Member Function Documentation

◆ invariant()

bool fields::discretization_pusher::invariant ( ) const
virtual

Class invariant.

Invariant

Reimplemented from sheaf::any.

Definition at line 609 of file discretization_pusher.cc.

Referenced by push().

◆ push()

void fields::discretization_pusher::push ( const section_space_schema_member xsrc,
const sec_vd xglobal_coord,
discretization_push_action xpush_action,
bool  xauto_access 
)

Pushes each member of the discretization of xsrc into the fiber space of xglobal_coord and then executes xpush_action.

Precondition
  • xauto_access || xsrc.state_is_read_accessible()
  • xauto_access || xglobal_coord.state_is_read_accessible()
  • xsrc.base_space().is_same_state(&xglobal_coord.schema().base_space())
  • dynamic_cast<const binary_section_space_schema_member*>\ (&xglobal_coord.schema())
Error:
Not all the combinations of lmust_gather, lmust_map and lmust_evaluate are supported.

Definition at line 81 of file discretization_pusher.cc.

References sheaf::auto_block< T, S >::base(), fiber_bundle::section_space_schema_member::base_space(), sheaf::auto_block< T, S >::ct(), fiber_bundle::chart_point::db(), fiber_bundle::section_space_schema_member::db(), sheaf::poset_component::detach_from_state(), fiber_bundle::section_space_schema_member::df(), fiber_bundle::section_space_schema_member::discretization(), fiber_bundle::discretization_iterator::discretization_member_index(), fiber_bundle::sec_vd::dof_tuple(), fiber_bundle::section_space_schema_member::evaluation(), fiber_bundle::sec_rep_descriptor::evaluator_family_name(), fiber_bundle::sec_vd::get_fiber(), sheaf::poset_component::get_read_access(), sheaf::poset_component::host(), sheaf::subposet::id_space(), invariant(), sheaf::depth_first_iterator::is_done(), sheaf::poset_component::is_same_state(), fiber_bundle::section_evaluator::local_coordinates(), fiber_bundle::chart_point::local_coords(), sheaf::subposet::member_ct(), sheaf::poset_state_handle::member_index_ub(), sheaf::poset_component::name_space(), fiber_bundle::discretization_iterator::next(), sheaf::index_space_handle::pod(), sheaf::scoped_index::pod(), fiber_bundle::chart_point::put_chart_id(), sheaf::poset_component::release_access(), fiber_bundle::section_space_schema_member::rep(), sheaf::schema_poset_member::row_dof_ct(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), fiber_bundle::base_space_member::type_id(), sheaf::auto_block< T, S >::ub(), fiber_bundle::structured_block::unrefine_point_pa(), and fiber_bundle::section_evaluator::value_at_coord().

Referenced by fields::field_vd::print_property_dofs(), fields::field_vd::put_property_dofs(), and ~discretization_pusher().


The documentation for this class was generated from the following files: