SheafSystem  0.0.0.0
fields::zone_centered_tet_refiner Class Reference

A field refiner that subdivides a tet into 4 tets by introducing a new vertex in the center. More...

#include <zone_centered_tet_refiner.h>

Inheritance diagram for fields::zone_centered_tet_refiner:
fields::local_field_refiner sheaf::any

ZONE_CENTERED_TET_REFINER FACET

scoped_index _zone_ctr_id
 The index of the point added by the current base space refinement. More...
 
block< scoped_index_vertex_ids
 The ids of the original vertices. More...
 
 zone_centered_tet_refiner (const field_refinement_policy &xpolicy)
 Creates an instance for refining base space xbase_space using policy xpolicy. More...
 
 zone_centered_tet_refiner (const zone_centered_tet_refiner &xother)
 Copy constructor. More...
 
 zone_centered_tet_refiner ()
 Default constructor; disabled. More...
 
virtual void refine_base_space (field_refinement_buffer &xbuffer)
 Refines the base space or the target. More...
 
void modify_crg (field_refinement_buffer &xbuffer)
 Modifies the cover relation graph of the base space. More...
 
void modify_subposets (field_refinement_buffer &xbuffer)
 Modifies subposets in the base space. More...
 
virtual void refine_coordinates (field_refinement_buffer &xbuffer)
 Refines the coordinates of the target. More...
 

LOCAL_FIELD_REFINER FACET

virtual int db () const
 The base dimension; the dimension of the local coordinates (independent variable). More...
 
virtual const std::string & zone_type_name () const
 The name of the type of zone this creates during refinement. More...
 
virtual size_type refined_zone_ct () const
 The number of refined zones created by this. More...
 
const chart_point_coord_typelocal_coordinates_map (size_type xi) const
 The map from the local coordinates of refined zone xi the the local coordinates of the parent zone. More...
 

ANY FACET

virtual zone_centered_tet_refinerclone () const
 Virtual constructor, creates a new instance of the same type as this. More...
 
virtual zone_centered_tet_refineroperator= (const local_field_refiner &xother)
 Assignment operator. More...
 
zone_centered_tet_refineroperator= (const zone_centered_tet_refiner &xother)
 Assignment operator. More...
 
virtual ~zone_centered_tet_refiner ()
 Destructor. More...
 
virtual bool invariant () const
 Class invariant. More...
 
virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if other conforms to this. More...
 

Additional Inherited Members

- Public Member Functions inherited from fields::local_field_refiner
virtual ~local_field_refiner ()
 Destructor. More...
 
virtual const std::string & vertex_type_name () const
 The name of the type of vertex this creates during refinement. More...
 
const field_refinement_policypolicy () const
 The refinement policy for this refiner. More...
 
void refine (field_refinement_buffer &xbuffer)
 Refines the zone specified by xbuffer.zone_id one level and evaluates the coordinates section on the refined zone. More...
 
const block< scoped_index > & refined_zone_ids () const
 The member ids of the zones created by the most recent execution of refine(). 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::local_field_refiner
 local_field_refiner ()
 Default constructor; disabled. More...
 
 local_field_refiner (const local_field_refiner &xother)
 Copy constructor. More...
 
 local_field_refiner (const field_refinement_policy &xpolicy)
 Creates an instance for refining xtarget using xsource as the reference field. More...
 
void initialize_buffers ()
 Initializes the dof tuple and refined zone buffers. More...
 
pod_index_type create_vertex (base_space_poset &xbase, int xdepth)
 Creates a new vertex at depth xdepth. More...
 
pod_index_type create_zone (base_space_poset &xbase, int xdepth)
 Creates a new quadrangle in base space xbase, with refinement depth xdepth. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fields::local_field_refiner
const field_refinement_policy_policy
 The refinement policy. More...
 
block< scoped_index_point_dof_tuple_ids
 The dof tuple index for point cells at various depths. More...
 
block< scoped_index_zone_dof_tuple_ids
 The dof tuple index for quadrangle cells at various depths. More...
 
block< scoped_index_refined_zone_ids
 The member ids of the zones created by the most recent execution of refine(). More...
 

Detailed Description

A field refiner that subdivides a tet into 4 tets by introducing a new vertex in the center.

Definition at line 39 of file zone_centered_tet_refiner.h.

Constructor & Destructor Documentation

◆ zone_centered_tet_refiner() [1/3]

fields::zone_centered_tet_refiner::zone_centered_tet_refiner ( const field_refinement_policy xpolicy)

Creates an instance for refining base space xbase_space using policy xpolicy.

Postcondition

Definition at line 42 of file zone_centered_tet_refiner.cc.

References invariant(), fields::local_field_refiner::policy(), and zone_centered_tet_refiner().

◆ zone_centered_tet_refiner() [2/3]

fields::zone_centered_tet_refiner::zone_centered_tet_refiner ( const zone_centered_tet_refiner xother)

Copy constructor.

Not Implemented.

Postcondition

Definition at line 59 of file zone_centered_tet_refiner.cc.

References invariant(), and zone_centered_tet_refiner().

◆ zone_centered_tet_refiner() [3/3]

fields::zone_centered_tet_refiner::zone_centered_tet_refiner ( )
protected

Default constructor; disabled.

Not Implemented.

Postcondition

Definition at line 78 of file zone_centered_tet_refiner.cc.

References invariant(), and refine_base_space().

Referenced by clone(), and zone_centered_tet_refiner().

◆ ~zone_centered_tet_refiner()

fields::zone_centered_tet_refiner::~zone_centered_tet_refiner ( )
virtual

Destructor.

Postcondition

Definition at line 498 of file zone_centered_tet_refiner.cc.

References invariant().

Referenced by operator=().

Member Function Documentation

◆ clone()

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

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

Postcondition
  • result != 0
  • is_same_type(result)

Implements fields::local_field_refiner.

Definition at line 435 of file zone_centered_tet_refiner.cc.

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

Referenced by local_coordinates_map().

◆ db()

int fields::zone_centered_tet_refiner::db ( ) const
virtual

The base dimension; the dimension of the local coordinates (independent variable).

Postcondition
  • result == 2

Implements fields::local_field_refiner.

Definition at line 323 of file zone_centered_tet_refiner.cc.

References zone_type_name().

Referenced by refine_coordinates().

◆ invariant()

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • xother != 0

Reimplemented from fields::local_field_refiner.

Definition at line 543 of file zone_centered_tet_refiner.cc.

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

◆ local_coordinates_map()

const fiber_bundle::chart_point_coord_type * fields::zone_centered_tet_refiner::local_coordinates_map ( size_type  xi) const
virtual

The map from the local coordinates of refined zone xi the the local coordinates of the parent zone.

Precondition
Not Implemented.
Todo:
initialize lmap.

Implements fields::local_field_refiner.

Definition at line 387 of file zone_centered_tet_refiner.cc.

References clone(), and refined_zone_ct().

Referenced by refined_zone_ct().

◆ modify_crg()

void fields::zone_centered_tet_refiner::modify_crg ( field_refinement_buffer xbuffer)
protected

◆ modify_subposets()

◆ operator=() [1/2]

fields::zone_centered_tet_refiner & fields::zone_centered_tet_refiner::operator= ( const local_field_refiner xother)
virtual

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Reimplemented from fields::local_field_refiner.

Definition at line 457 of file zone_centered_tet_refiner.cc.

References invariant(), and is_ancestor_of().

Referenced by clone().

◆ operator=() [2/2]

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

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Definition at line 477 of file zone_centered_tet_refiner.cc.

References invariant(), is_ancestor_of(), and ~zone_centered_tet_refiner().

◆ refine_base_space()

void fields::zone_centered_tet_refiner::refine_base_space ( field_refinement_buffer xbuffer)
protectedvirtual

Refines the base space or the target.

Precondition
  • xbuffer.base_space != 0
  • xbuffer.base_space->in_jim_edit_mode()

Implements fields::local_field_refiner.

Definition at line 95 of file zone_centered_tet_refiner.cc.

References fields::field_refinement_buffer::base_space, sheaf::poset_state_handle::in_jim_edit_mode(), modify_crg(), and modify_subposets().

Referenced by zone_centered_tet_refiner().

◆ refine_coordinates()

◆ refined_zone_ct()

sheaf::size_type fields::zone_centered_tet_refiner::refined_zone_ct ( ) const
virtual

The number of refined zones created by this.

Postcondition
  • result > 1

Implements fields::local_field_refiner.

Definition at line 365 of file zone_centered_tet_refiner.cc.

References local_coordinates_map().

Referenced by local_coordinates_map(), and zone_type_name().

◆ zone_type_name()

const std::string & fields::zone_centered_tet_refiner::zone_type_name ( ) const
virtual

The name of the type of zone this creates during refinement.

Postcondition
  • !result.empty()

Implements fields::local_field_refiner.

Definition at line 345 of file zone_centered_tet_refiner.cc.

References refined_zone_ct().

Referenced by db().

Member Data Documentation

◆ _vertex_ids

block<scoped_index> fields::zone_centered_tet_refiner::_vertex_ids
protected

The ids of the original vertices.

Definition at line 75 of file zone_centered_tet_refiner.h.

Referenced by modify_crg().

◆ _zone_ctr_id

scoped_index fields::zone_centered_tet_refiner::_zone_ctr_id
protected

The index of the point added by the current base space refinement.

Definition at line 70 of file zone_centered_tet_refiner.h.

Referenced by modify_crg(), modify_subposets(), and refine_coordinates().


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