SheafSystem  0.0.0.0
fiber_bundle::base_space_crg_interval Class Referenceabstract

Abstract emulator for a interval of implicit base space members. More...

#include <base_space_crg_interval.h>

Inheritance diagram for fiber_bundle::base_space_crg_interval:
sheaf::implicit_crg_interval sheaf::crg_interval sheaf::any fiber_bundle::homogeneous_block_crg_interval fiber_bundle::point_block_crg_interval fiber_bundle::structured_block_1d_crg_interval fiber_bundle::structured_block_2d_crg_interval fiber_bundle::structured_block_3d_crg_interval fiber_bundle::zone_nodes_block_crg_interval

Friends

SHEAF_DLL_SPEC size_t deep_size (const base_space_crg_interval &m)
 

BASE_SPACE_CRG_INTERVAL FACET

 base_space_crg_interval ()
 Default Constructor. More...
 
virtual ~base_space_crg_interval ()
 Destructor. More...
 
virtual pod_index_type cells_begin () const =0
 The beginning of the local cells interval. More...
 
void cells_begin (scoped_index &result) const
 The beginning of the local cells interval. More...
 
virtual pod_index_type cells_end () const =0
 The end of the local cells interval. More...
 
void cells_end (scoped_index &result) const
 The end of the local cells interval. More...
 
virtual int db (pod_index_type xmbr_id) const =0
 The dimension of the member with id xmbr_id. Does not require access to dof tuple. More...
 
int db (const scoped_index &xmbr_id) const
 The dimension of the member with id xmbr_id. Does not require access to dof tuple. More...
 
virtual pod_index_type d_cells_space_id (int xd) const =0
 The id space index for the cells of dimension xd. Returns invalid_pod_index() if there is no id space for dimension xd. More...
 

BLOCK VERTICES FACET

bool _block_vertices_initialized
 True if the block vertices id space has been initialized. More...
 
pod_index_type _block_vertices_space_id
 The id space index of the block vertices id space. More...
 
bool block_vertices_initialized () const
 True if the block vertices id space has been initialized. More...
 
pod_index_type block_vertices_space_id () const
 The id space index of the block vertices id space. More...
 
std::string block_vertices_name () const
 The name of the block vertices id space. More...
 

DOF TUPLE FACET

virtual pod_index_type block_dof_tuple_id () const =0
 Dof tuple id for the block itself. More...
 

FACTORY FACET

virtual bool is_initialized () const
 True if fully initialized. More...
 
void initialize (const namespace_poset &xnamespace)
 Sets is_initialized() == true; dummy routine provided to satisfy factory template. More...
 
virtual const std::string & class_name () const
 The name of this class; provided to satisfy factory template. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 
virtual base_space_crg_intervalclone () const =0
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from sheaf::implicit_crg_interval
virtual bool is_jim (pod_index_type xmbr_index) const =0
 True if and only if the member with index xmbr_index is join-irreducible. More...
 
bool is_jim (const scoped_index &xmbr_index) const
 True if and only if the member with index xmbr_index is join-irreducible. More...
 
virtual pod_index_type dof_tuple_id (pod_index_type xmbr_index) const =0
 The dof tuple id of the member with index xmbr_index. More...
 
pod_index_type dof_tuple_id (const scoped_index &xmbr_index) const
 The dof tuple id of the member with index xmbr_index. More...
 
block< pod_index_type > & dof_tuple_ids ()
 The ids of the dof tuples associated with this interval. More...
 
const block< pod_index_type > & dof_tuple_ids () const
 The ids of the dof tuples associated with this interval; const version. More...
 
bool dof_tuple_ids_initialized () const
 True if dof tuple ids have been initialized. More...
 
void initialize_dof_tuple_ids (const block< pod_index_type > &xdof_tuple_ids)
 Allocates and initializes dof_tuple_ids() with xdof_tuple_ids. More...
 
size_type private_data_size () const
 The size of the private data. More...
 
void get_private_data (block< pod_index_type > &xdata) const
 Initializes this using private data xdata. More...
 
void put_private_data (const block< pod_index_type > &xdata)
 Initializes this using private data xdata. More...
 
bool private_data_initialized () const
 True if private data has been initialized. More...
 
virtual void finalize (poset_state_handle &xhost)
 Finialize the initialization of this crg interval in the host xhost. More...
 
 implicit_crg_interval ()
 Default Constructor; constructs an uninitialized interval. More...
 
virtual ~implicit_crg_interval ()
 Destructor. More...
 
pod_index_type implicit_begin () const
 The beginning of the implicit member interval (begin(), end()), excludes interval member; synonym for begin() + 1. More...
 
void implicit_begin (scoped_index &result) const
 The beginning of the implicit member interval (begin(), end()), excludes interval member; synonym for begin() + 1. More...
 
pod_index_type interval_member () const
 The index of the interval member itself; synonym for begin(). More...
 
void interval_member (scoped_index &result) const
 The index of the interval member itself; synonym for begin(). More...
 
bool is_interval_member (pod_index_type xindex) const
 True if xindex is the interval member. More...
 
bool is_interval_member (const scoped_index &xindex) const
 True if xindex is the interval member. More...
 
void clean_cover (bool xlower, pod_index_type xmbr_index)
 Removes members of the cover that are no longer members of the crg. More...
 
void initialize (const namespace_poset &xnamespace)
 Sets is_initialized() == true; dummy routine provided to satisfy factory template. More...
 
- Public Member Functions inherited from sheaf::crg_interval
bool cover_is_explicit (bool xlower, pod_index_type xmbr_index) const
 True if and only if the lower (xlower true) or upper (xlower false) cover with index xmbr_index is explicit. More...
 
pod_index_type force_explicit_cover (bool xlower, pod_index_type xmbr_index, bool xinitialize=true)
 The explicit lower (xlower true) or upper (xlower false) cover id space of the member with index xmbr_index; creates an explict cover id space if the cover id space is not already explicit and, if xinitialize, initializes it with the contents of the implicit cover id space, if any. Returns the space id of the explicit cover. More...
 
const index_space_familyid_spaces () const
 The id space family for this interval. More...
 
const hub_index_space_handlehub_id_space () const
 The hub id space of this interval. More...
 
void initialize_id_spaces (index_space_family &xid_spaces)
 Set the index space family to xid_spaces. More...
 
bool id_spaces_initialized () const
 True if the index space family has been initialized. More...
 
const primary_index_space_handlelocal_id_space () const
 The local id space of this interval. More...
 
void initialize_local_id_space (const index_space_handle &xlocal_id_space)
 Sets the local id space to xlocal_id_space and initializes local ids. More...
 
bool local_id_space_initialized () const
 True if local id space has been initialized. More...
 
pod_index_type cover_id_space_id (bool xlower, pod_index_type xmbr_index) const
 The id for the lower (xlower true) or upper (xlower false) cover id space with index xmbr_index. More...
 
bool covers_initialized (bool xlower) const
 True if and only if the lower (xlower true) or upper (xlower false) covers has been initialized for this interval. More...
 
void initialize_covers ()
 Initialize the upper and lower covers for this interval. More...
 
 crg_interval ()
 Default Constructor; constructs an uninitialized interval. More...
 
virtual ~crg_interval ()
 Destructor. More...
 
pod_index_type begin () const
 The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More...
 
void begin (scoped_index &result) const
 The beginning of the member interval; this emulates members in the interval [begin(), end()), includes interval member. More...
 
pod_index_type end () const
 The end of the member interval. More...
 
void end (scoped_index &result) const
 The end of the member interval. More...
 
size_type size () const
 The number of members in the member interval. More...
 
bool contains_member (pod_index_type xindex) const
 True if and only if the index xindex is contained in this interval. More...
 
bool contains_member (const scoped_index &xindex) const
 True if and only if the index xindex is contained in this interval. More...
 
void initialize (const namespace_poset &xnamespace)
 Sets is_initialized() == true; dummy routine provided to satisfy factory template. 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...
 
- Static Public Member Functions inherited from sheaf::crg_interval
static std::string local_id_space_name (pod_index_type xindex)
 The reserved name for the local id space of the ramge member with index xindex. More...
 
static factory< crg_interval > & interval_factory ()
 A factory for making descendants of this class. More...
 
static crg_intervalnew_interval (const std::string &xname)
 Creates a default constructed instance of the the class with name xname. More...
 
- Protected Types inherited from sheaf::crg_interval
typedef unordered::unordered_map< pod_index_type, pod_index_typeexplicit_cover_map_type
 The type of the explicit cover maps.. More...
 
- Protected Member Functions inherited from sheaf::implicit_crg_interval
virtual size_type implicit_private_data_size () const =0
 The size of the private data. More...
 
virtual void get_implicit_private_data (block< pod_index_type > &xdata) const =0
 Initializes this using private data xdata. More...
 
virtual void put_implicit_private_data (const block< pod_index_type > &xdata)=0
 Initializes this using private data xdata. More...
 
- Protected Member Functions inherited from sheaf::crg_interval
explicit_cover_map_typeexplicit_cover_map (bool xlower)
 The lower (xlower true) or upper (xlower false) map to explicit cover id spaces. More...
 
const explicit_cover_map_typeexplicit_cover_map (bool xlower) const
 The lower (xlower true) or upper (xlower false) map to explicit cover id spaces; const version. More...
 
virtual void initialize_lower_covers ()=0
 Initialize the lower covers for this interval. More...
 
virtual void initialize_upper_covers ()=0
 Initialize the upper cover for this interval. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Static Protected Member Functions inherited from sheaf::implicit_crg_interval
static std::string implicit_cover_name (bool xlower, const scoped_index &xmbr_index)
 Creates a name for the implicit cover id space for member with index, xmbr_index. More...
 
static std::string implicit_cover_name (bool xlower, pod_index_type xmbr_index)
 Creates a name for the implicit cover id space for member with index, xmbr_index. More...
 
- Static Protected Member Functions inherited from sheaf::crg_interval
static std::string explicit_cover_name (bool xlower, const scoped_index &xmbr_index)
 Creates a name for the explicit cover id space for member with index, xmbr_index. More...
 
static std::string explicit_cover_name (bool xlower, pod_index_type xmbr_index)
 Creates a name for the explicit cover id space for member with index, xmbr_index. More...
 
- Protected Attributes inherited from sheaf::implicit_crg_interval
block< pod_index_type_dof_tuple_ids
 The ids of the dof tuples associated with this interval. More...
 
bool _dof_tuple_ids_initialized
 True if dof tuple ids have been initialized. More...
 
bool _private_data_initialized
 True if private data has been initialized. More...
 
bool _is_finalized
 True if the initialization of this crg interval has been finalized. More...
 
- Protected Attributes inherited from sheaf::crg_interval
explicit_cover_map_type _explicit_upper_cover_map
 The map from ids to explicit upper cover id spaces. More...
 
explicit_cover_map_type _explicit_lower_cover_map
 The map from ids to explicit lower cover id spaces. More...
 
index_space_family_id_spaces
 The id space family of this interval. More...
 
bool _id_spaces_initialized
 True if the id space family has been initialized. More...
 
primary_index_space_handle _local_id_space
 The id space of this interval. More...
 
bool _local_id_space_initialized
 True if local id space has been initialized. More...
 
pod_index_type _lower_covers_begin
 The offset into the id space family for the interval of lower covers. More...
 
bool _lower_covers_initialized
 True if and only if the lower cover is initialized. More...
 
pod_index_type _upper_covers_begin
 The offset into the id space family for the interval of upper covers. More...
 
bool _upper_covers_initialized
 True if and only if the upper cover is initialized. More...
 

Detailed Description

Abstract emulator for a interval of implicit base space members.

Issue:
this class really should be named homogeneous_block_crg_interval.

Definition at line 52 of file base_space_crg_interval.h.

Constructor & Destructor Documentation

◆ base_space_crg_interval()

fiber_bundle::base_space_crg_interval::base_space_crg_interval ( )

Default Constructor.

Postcondition
  • !is_initialized()

Definition at line 41 of file base_space_crg_interval.cc.

References sheaf::invalid_pod_index(), invariant(), is_initialized(), and ~base_space_crg_interval().

◆ ~base_space_crg_interval()

fiber_bundle::base_space_crg_interval::~base_space_crg_interval ( )
virtual

Member Function Documentation

◆ block_dof_tuple_id()

virtual pod_index_type fiber_bundle::base_space_crg_interval::block_dof_tuple_id ( ) const
pure virtual

Dof tuple id for the block itself.

Implemented in fiber_bundle::homogeneous_block_crg_interval.

◆ block_vertices_initialized()

bool fiber_bundle::base_space_crg_interval::block_vertices_initialized ( ) const

True if the block vertices id space has been initialized.

Postcondition
  • is_basic_query

Definition at line 175 of file base_space_crg_interval.cc.

References _block_vertices_initialized, and block_vertices_space_id().

Referenced by block_vertices_space_id(), and d_cells_space_id().

◆ block_vertices_name()

std::string fiber_bundle::base_space_crg_interval::block_vertices_name ( ) const
protected

The name of the block vertices id space.

Postcondition
  • !result.empty()

Definition at line 217 of file base_space_crg_interval.cc.

References initialize(), sheaf::implicit_crg_interval::interval_member(), and sheaf::poset_path::make_reserved_name().

Referenced by block_vertices_space_id().

◆ block_vertices_space_id()

pod_index_type fiber_bundle::base_space_crg_interval::block_vertices_space_id ( ) const

The id space index of the block vertices id space.

Precondition
Postcondition
  • is_basic_query

Definition at line 194 of file base_space_crg_interval.cc.

References _block_vertices_space_id, block_vertices_initialized(), and block_vertices_name().

Referenced by block_vertices_initialized(), and fiber_bundle::base_space_poset::insert_interval_in_standard_subposets().

◆ cells_begin() [1/2]

virtual pod_index_type fiber_bundle::base_space_crg_interval::cells_begin ( ) const
pure virtual

◆ cells_begin() [2/2]

void fiber_bundle::base_space_crg_interval::cells_begin ( scoped_index result) const

The beginning of the local cells interval.

Postcondition
  • result.is_hub_scope()

Definition at line 74 of file base_space_crg_interval.cc.

References cells_begin(), cells_end(), sheaf::crg_interval::hub_id_space(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::put().

◆ cells_end() [1/2]

virtual pod_index_type fiber_bundle::base_space_crg_interval::cells_end ( ) const
pure virtual

◆ cells_end() [2/2]

void fiber_bundle::base_space_crg_interval::cells_end ( scoped_index result) const

The end of the local cells interval.

Postcondition
  • result.is_hub_scope()

Definition at line 93 of file base_space_crg_interval.cc.

References cells_end(), db(), sheaf::crg_interval::hub_id_space(), sheaf::scoped_index::is_hub_scope(), and sheaf::scoped_index::put().

◆ class_name()

const std::string & fiber_bundle::base_space_crg_interval::class_name ( ) const
virtual

◆ clone()

◆ d_cells_space_id()

sheaf::pod_index_type fiber_bundle::base_space_crg_interval::d_cells_space_id ( int  xd) const
pure virtual

◆ db() [1/2]

int fiber_bundle::base_space_crg_interval::db ( pod_index_type  xmbr_id) const
pure virtual

◆ db() [2/2]

int fiber_bundle::base_space_crg_interval::db ( const scoped_index xmbr_id) const

The dimension of the member with id xmbr_id. Does not require access to dof tuple.

Precondition
  • contains_member(xmbr_id)

Definition at line 133 of file base_space_crg_interval.cc.

References sheaf::crg_interval::contains_member(), d_cells_space_id(), db(), and sheaf::scoped_index::hub_pod().

◆ initialize()

void fiber_bundle::base_space_crg_interval::initialize ( const namespace_poset xnamespace)

Sets is_initialized() == true; dummy routine provided to satisfy factory template.

Postcondition

Definition at line 257 of file base_space_crg_interval.cc.

References _block_vertices_initialized, sheaf::implicit_crg_interval::initialize(), and is_initialized().

Referenced by block_vertices_name(), and fiber_bundle::homogeneous_block_crg_interval::initialize().

◆ invariant()

◆ is_ancestor_of()

bool fiber_bundle::base_space_crg_interval::is_ancestor_of ( const any other) const
virtual

◆ is_initialized()

bool fiber_bundle::base_space_crg_interval::is_initialized ( ) const
virtual

Member Data Documentation

◆ _block_vertices_initialized

bool fiber_bundle::base_space_crg_interval::_block_vertices_initialized
protected

True if the block vertices id space has been initialized.

Definition at line 146 of file base_space_crg_interval.h.

Referenced by block_vertices_initialized(), initialize(), and is_initialized().

◆ _block_vertices_space_id

pod_index_type fiber_bundle::base_space_crg_interval::_block_vertices_space_id
protected

The id space index of the block vertices id space.

Definition at line 151 of file base_space_crg_interval.h.

Referenced by block_vertices_space_id(), and ~base_space_crg_interval().


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