SheafSystem  0.0.0.0
fields::average_push_action Class Reference

Functor to compute the dofs at a destination discretization point by averaging the source values form all branches containing the point. More...

#include <average_push_action.h>

Inheritance diagram for fields::average_push_action:
fields::section_pusher_push_action sheaf::any

AVERAGE_PUSH_ACTION FACET

block< sec_vd_dof_type_dst_dofs
 Buffer for destination dofs. More...
 
block< int > _branch_cts
 Number of branches accumulated for each discretization member. More...
 
index_space_handle_disc_seq_id_space
 Discretization sequence id space for destination section. More...
 
int _disc_ct
 Discretization count of destination. More...
 
 average_push_action (int xdst_df)
 Creates an instance with dst_df() == xdst_df. More...
 
virtual ~average_push_action ()
 Destructor. More...
 

SECTION_PUSHER_PUSH_ACTION FACET

virtual void operator() (pullback_map::iterator &xitr, sec_vd &xdst, block< sec_vd_dof_type > &xdst_dofs)
 Computes xdst_dofs using xitr and the dofs already in xdst, as needed. More...
 
virtual void initialize (sec_vd &xdst)
 Initializes xdst as needed. More...
 
virtual void finalize (sec_vd &xdst)
 Finalizes xdst as needed. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if other conforms to this. More...
 
virtual average_push_actionclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual average_push_actionoperator= (const section_pusher_push_action &xother)
 Assignment operator. More...
 
average_push_actionoperator= (const average_push_action &xother)
 Assignment operator. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from fields::section_pusher_push_action
virtual ~section_pusher_push_action ()
 Destructor. More...
 
int dst_df ()
 The fiber dimension of the destination. 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 fields::section_pusher_push_action
 section_pusher_push_action ()
 Default constructor. More...
 
 section_pusher_push_action (int xdst_df)
 Creates an instance with dst_df() == xdst_df. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fields::section_pusher_push_action
int _dst_df
 The fiber dimension of the destination. More...
 

Detailed Description

Functor to compute the dofs at a destination discretization point by averaging the source values form all branches containing the point.

Definition at line 48 of file average_push_action.h.

Constructor & Destructor Documentation

◆ average_push_action()

fields::average_push_action::average_push_action ( int  xdst_df)

Creates an instance with dst_df() == xdst_df.

Precondition
  • xdst_df >= 0
Issue:
assumes binary schema.
Postcondition

Definition at line 38 of file average_push_action.cc.

References fields::section_pusher_push_action::_dst_df, _dst_dofs, fields::section_pusher_push_action::dst_df(), invariant(), sheaf::auto_block< T, S >::reserve(), sheaf::auto_block< T, S >::set_ct(), and ~average_push_action().

◆ ~average_push_action()

fields::average_push_action::~average_push_action ( )
virtual

Destructor.

Definition at line 69 of file average_push_action.cc.

References operator()().

Referenced by average_push_action().

Member Function Documentation

◆ clone()

fields::average_push_action * fields::average_push_action::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Implements fields::section_pusher_push_action.

Definition at line 249 of file average_push_action.cc.

References sheaf::any::is_same_type(), and operator=().

Referenced by is_ancestor_of().

◆ finalize()

void fields::average_push_action::finalize ( sec_vd xdst)
virtual

◆ initialize()

◆ invariant()

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

◆ is_ancestor_of()

bool fields::average_push_action::is_ancestor_of ( const any xother) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • xother != 0

Reimplemented from fields::section_pusher_push_action.

Definition at line 229 of file average_push_action.cc.

References clone().

Referenced by finalize(), and operator=().

◆ operator()()

void fields::average_push_action::operator() ( pullback_map::iterator &  xitr,
sec_vd xdst,
block< sec_vd_dof_type > &  xdst_dofs 
)
virtual

Computes xdst_dofs using xitr and the dofs already in xdst, as needed.

Precondition
  • xdst.state_is_read_accessible()
  • -unexecutable( "xdst_dofs initialized to source value" )
Postcondition
  • -unexecutable( "xdst_dofs += xdst dofs" )

Implements fields::section_pusher_push_action.

Definition at line 94 of file average_push_action.cc.

References _branch_cts, _disc_seq_id_space, fields::section_pusher_push_action::_dst_df, _dst_dofs, sheaf::auto_block< T, S >::base(), sheaf::auto_block< T, S >::ct(), fiber_bundle::section_space_schema_member::df(), fields::section_pusher_push_action::dst_df(), fiber_bundle::sec_vd::get_fiber(), initialize(), sheaf::index_space_handle::pod(), fiber_bundle::sec_rep_space_member::schema(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and sheaf::auto_block< T, S >::ub().

Referenced by ~average_push_action().

◆ operator=() [1/2]

fields::average_push_action & fields::average_push_action::operator= ( const section_pusher_push_action xother)
virtual

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Reimplemented from fields::section_pusher_push_action.

Definition at line 272 of file average_push_action.cc.

References invariant(), and is_ancestor_of().

Referenced by clone().

◆ operator=() [2/2]

fields::average_push_action & fields::average_push_action::operator= ( const average_push_action xother)

Assignment operator.

Postcondition

Definition at line 295 of file average_push_action.cc.

References fields::section_pusher_push_action::_dst_df, and invariant().

Member Data Documentation

◆ _branch_cts

block<int> fields::average_push_action::_branch_cts
protected

Number of branches accumulated for each discretization member.

Definition at line 80 of file average_push_action.h.

Referenced by finalize(), initialize(), and operator()().

◆ _disc_ct

int fields::average_push_action::_disc_ct
protected

Discretization count of destination.

Definition at line 90 of file average_push_action.h.

Referenced by finalize(), and initialize().

◆ _disc_seq_id_space

index_space_handle* fields::average_push_action::_disc_seq_id_space
protected

Discretization sequence id space for destination section.

Definition at line 85 of file average_push_action.h.

Referenced by initialize(), and operator()().

◆ _dst_dofs

block<sec_vd_dof_type> fields::average_push_action::_dst_dofs
protected

Buffer for destination dofs.

Definition at line 75 of file average_push_action.h.

Referenced by average_push_action(), finalize(), initialize(), and operator()().


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