SheafSystem  0.0.0.0
fiber_bundle::homogeneous_block_crg_interval Class Reference

Emulator for a interval of implicit base space members representing a homogeneous collection of cells. More...

#include <homogeneous_block_crg_interval.h>

Inheritance diagram for fiber_bundle::homogeneous_block_crg_interval:
fiber_bundle::base_space_crg_interval sheaf::implicit_crg_interval sheaf::crg_interval sheaf::any 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

HOMOGENEOUS_BLOCK_CRG_INTERVAL FACET

enum  member_class_type { BLOCK, ZONE, VERTEX, MEMBER_CLASS_END }
 Memeber class identifiers. More...
 
 homogeneous_block_crg_interval ()
 Default Constructor. More...
 
virtual ~homogeneous_block_crg_interval ()
 Destructor. More...
 
member_class_type member_class (pod_index_type xmbr_index) const
 The member class of the member with index xmbr_index. More...
 

ZONES FACET

bool _zones_initialized
 True if the zone id space has been initialized. More...
 
pod_index_type _zones_space_id
 The index of the zone id space. More...
 
bool zones_initialized () const
 True if the zone id space has been initialized. More...
 
pod_index_type zones_space_id () const
 The index of the zone id space. More...
 

VERTICES FACET

bool _vertices_initialized
 True if the vertex id space has been initialized. More...
 
pod_index_type _vertices_space_id
 The index of the vertex id space. More...
 
bool vertices_initialized () const
 True if the vertex id space has been initialized. More...
 
pod_index_type vertices_space_id () const
 The index of the vertex id space. More...
 

CONNECTIVITY FACET

pod_index_type _connectivity_begin
 The beginning offset of the connectivity id spaces in the id space family. More...
 
pod_index_type connectivity_space_id (pod_index_type xzone_id) const
 The index of the connectivity id space for zone with id xzone_id. More...
 

ADJACENCY FACET

pod_index_type _adjacency_begin
 The beginning offset of the adjacency id spaces in the id space family. More...
 
pod_index_type adjacency_space_id (pod_index_type xvertex_id) const
 The index of the adjacency id space for vertex with id xvertex_id. More...
 

BASE_SPACE_CRG_INTERVAL FACET

virtual pod_index_type cells_begin () const
 The beginning of the local cells interval. More...
 
virtual pod_index_type cells_end () const
 The end of the local cells interval. More...
 

DOF_TUPLE_ID FACET

virtual bool is_jim (pod_index_type 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
 The dof tuple id of the member with index xmbr_index. More...
 
pod_index_type block_dof_tuple_id () const
 Dof tuple id for the block itself. More...
 
pod_index_type zone_dof_tuple_id () const
 Dof tuple id for zones. More...
 
pod_index_type vertex_dof_tuple_id () const
 Dof tuple id for vertices. 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 homogeneous_block_crg_intervalclone () const
 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 fiber_bundle::base_space_crg_interval
 base_space_crg_interval ()
 Default Constructor. More...
 
virtual ~base_space_crg_interval ()
 Destructor. More...
 
void cells_begin (scoped_index &result) const
 The beginning 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...
 
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...
 
void initialize (const namespace_poset &xnamespace)
 Sets is_initialized() == true; dummy routine provided to satisfy factory template. More...
 
- Public Member Functions inherited from sheaf::implicit_crg_interval
bool is_jim (const scoped_index &xmbr_index) const
 True if and only if the member with index xmbr_index is join-irreducible. 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 fiber_bundle::base_space_crg_interval
std::string block_vertices_name () const
 The name of the block vertices id space. 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 fiber_bundle::base_space_crg_interval
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...
 
- 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

Emulator for a interval of implicit base space members representing a homogeneous collection of cells.

Definition at line 43 of file homogeneous_block_crg_interval.h.

Member Enumeration Documentation

◆ member_class_type

Memeber class identifiers.

Definition at line 68 of file homogeneous_block_crg_interval.h.

Constructor & Destructor Documentation

◆ homogeneous_block_crg_interval()

fiber_bundle::homogeneous_block_crg_interval::homogeneous_block_crg_interval ( )

◆ ~homogeneous_block_crg_interval()

fiber_bundle::homogeneous_block_crg_interval::~homogeneous_block_crg_interval ( )
virtual

Member Function Documentation

◆ adjacency_space_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::adjacency_space_id ( pod_index_type  xvertex_id) const

The index of the adjacency id space for vertex with id xvertex_id.

Precondition
  • id_spaces().contains_hub(vertices_space_id(), xvertex_id)
Postcondition
  • is_basic_query

Definition at line 276 of file homogeneous_block_crg_interval.cc.

References _adjacency_begin, _vertices_space_id, cells_begin(), sheaf::crg_interval::id_spaces(), sheaf::index_space_family::pod(), and vertices_space_id().

Referenced by connectivity_space_id(), fiber_bundle::base_space_poset::get_adjacency_id_space(), and fiber_bundle::base_space_poset::get_adjacency_id_space_iterator().

◆ block_dof_tuple_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::block_dof_tuple_id ( ) const
virtual

Dof tuple id for the block itself.

Implements fiber_bundle::base_space_crg_interval.

Definition at line 411 of file homogeneous_block_crg_interval.cc.

References sheaf::implicit_crg_interval::_dof_tuple_ids, and zone_dof_tuple_id().

Referenced by dof_tuple_id().

◆ cells_begin()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::cells_begin ( ) const
virtual

The beginning of the local cells interval.

Implements fiber_bundle::base_space_crg_interval.

Definition at line 320 of file homogeneous_block_crg_interval.cc.

References cells_end(), and sheaf::implicit_crg_interval::implicit_begin().

Referenced by adjacency_space_id().

◆ cells_end()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::cells_end ( ) const
virtual

The end of the local cells interval.

Implements fiber_bundle::base_space_crg_interval.

Definition at line 327 of file homogeneous_block_crg_interval.cc.

References sheaf::crg_interval::end(), and is_jim().

Referenced by cells_begin().

◆ class_name()

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

◆ clone()

fiber_bundle::homogeneous_block_crg_interval * fiber_bundle::homogeneous_block_crg_interval::clone ( ) const
virtual

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

Is Abstract.

Postcondition
  • result != 0
  • is_same_type(result)

Implements fiber_bundle::base_space_crg_interval.

Reimplemented in fiber_bundle::zone_nodes_block_crg_interval, fiber_bundle::structured_block_3d_crg_interval, fiber_bundle::structured_block_2d_crg_interval, fiber_bundle::point_block_crg_interval, and fiber_bundle::structured_block_1d_crg_interval.

Definition at line 516 of file homogeneous_block_crg_interval.cc.

References invariant(), and sheaf::any::is_same_type().

Referenced by is_ancestor_of().

◆ connectivity_space_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::connectivity_space_id ( pod_index_type  xzone_id) const

The index of the connectivity id space for zone with id xzone_id.

Precondition
Postcondition
  • is_basic_query

Definition at line 243 of file homogeneous_block_crg_interval.cc.

References _connectivity_begin, _zones_space_id, adjacency_space_id(), sheaf::crg_interval::id_spaces(), sheaf::index_space_family::pod(), and zones_space_id().

Referenced by fiber_bundle::base_space_poset::get_connectivity_id_space(), fiber_bundle::base_space_poset::get_connectivity_id_space_iterator(), and vertices_space_id().

◆ dof_tuple_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::dof_tuple_id ( pod_index_type  xmbr_index) const
virtual

The dof tuple id of the member with index xmbr_index.

Precondition
  • contains_member(xmbr_index)
Postcondition
  • is_valid(result)

Implements sheaf::implicit_crg_interval.

Definition at line 387 of file homogeneous_block_crg_interval.cc.

References sheaf::implicit_crg_interval::_dof_tuple_ids, block_dof_tuple_id(), sheaf::crg_interval::contains_member(), sheaf::is_valid(), and member_class().

Referenced by is_jim().

◆ initialize()

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

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

Postcondition

Definition at line 443 of file homogeneous_block_crg_interval.cc.

References _vertices_initialized, _zones_initialized, fiber_bundle::base_space_crg_interval::initialize(), and is_initialized().

Referenced by vertex_dof_tuple_id().

◆ invariant()

◆ is_ancestor_of()

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

◆ is_initialized()

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

◆ is_jim()

bool fiber_bundle::homogeneous_block_crg_interval::is_jim ( pod_index_type  xmbr_index) const
virtual

True if and only if the member with index xmbr_index is join-irreducible.

Implements sheaf::implicit_crg_interval.

Definition at line 378 of file homogeneous_block_crg_interval.cc.

References dof_tuple_id(), and sheaf::implicit_crg_interval::is_interval_member().

Referenced by cells_end().

◆ member_class()

fiber_bundle::homogeneous_block_crg_interval::member_class_type fiber_bundle::homogeneous_block_crg_interval::member_class ( pod_index_type  xmbr_index) const
protected

The member class of the member with index xmbr_index.

Precondition
  • contains_member(xmbr_index)

Definition at line 99 of file homogeneous_block_crg_interval.cc.

References sheaf::crg_interval::_id_spaces, _vertices_space_id, _zones_space_id, sheaf::index_space_family::contains_hub(), sheaf::crg_interval::contains_member(), and zones_initialized().

Referenced by dof_tuple_id(), and ~homogeneous_block_crg_interval().

◆ vertex_dof_tuple_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::vertex_dof_tuple_id ( ) const

Dof tuple id for vertices.

Definition at line 425 of file homogeneous_block_crg_interval.cc.

References sheaf::implicit_crg_interval::_dof_tuple_ids, and initialize().

Referenced by zone_dof_tuple_id().

◆ vertices_initialized()

bool fiber_bundle::homogeneous_block_crg_interval::vertices_initialized ( ) const

True if the vertex id space has been initialized.

Postcondition
  • is_basic_query

Definition at line 192 of file homogeneous_block_crg_interval.cc.

References _vertices_initialized, and vertices_space_id().

Referenced by fiber_bundle::base_space_poset::contains_vertex_id_space(), vertices_space_id(), and zones_space_id().

◆ vertices_space_id()

◆ zone_dof_tuple_id()

sheaf::pod_index_type fiber_bundle::homogeneous_block_crg_interval::zone_dof_tuple_id ( ) const

Dof tuple id for zones.

Definition at line 418 of file homogeneous_block_crg_interval.cc.

References sheaf::implicit_crg_interval::_dof_tuple_ids, and vertex_dof_tuple_id().

Referenced by block_dof_tuple_id().

◆ zones_initialized()

bool fiber_bundle::homogeneous_block_crg_interval::zones_initialized ( ) const

True if the zone id space has been initialized.

Postcondition
  • is_basic_query

Definition at line 141 of file homogeneous_block_crg_interval.cc.

References _zones_initialized, and zones_space_id().

Referenced by fiber_bundle::base_space_poset::contains_zone_id_space(), member_class(), and zones_space_id().

◆ zones_space_id()

Member Data Documentation

◆ _adjacency_begin

pod_index_type fiber_bundle::homogeneous_block_crg_interval::_adjacency_begin
protected

The beginning offset of the adjacency id spaces in the id space family.

Definition at line 192 of file homogeneous_block_crg_interval.h.

Referenced by adjacency_space_id().

◆ _connectivity_begin

pod_index_type fiber_bundle::homogeneous_block_crg_interval::_connectivity_begin
protected

The beginning offset of the connectivity id spaces in the id space family.

Definition at line 168 of file homogeneous_block_crg_interval.h.

Referenced by connectivity_space_id().

◆ _vertices_initialized

bool fiber_bundle::homogeneous_block_crg_interval::_vertices_initialized
protected

True if the vertex id space has been initialized.

Definition at line 139 of file homogeneous_block_crg_interval.h.

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

◆ _vertices_space_id

pod_index_type fiber_bundle::homogeneous_block_crg_interval::_vertices_space_id
protected

The index of the vertex id space.

Definition at line 144 of file homogeneous_block_crg_interval.h.

Referenced by adjacency_space_id(), member_class(), vertices_space_id(), and ~homogeneous_block_crg_interval().

◆ _zones_initialized

bool fiber_bundle::homogeneous_block_crg_interval::_zones_initialized
protected

True if the zone id space has been initialized.

Definition at line 105 of file homogeneous_block_crg_interval.h.

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

◆ _zones_space_id

pod_index_type fiber_bundle::homogeneous_block_crg_interval::_zones_space_id
protected

The index of the zone id space.

Definition at line 110 of file homogeneous_block_crg_interval.h.

Referenced by connectivity_space_id(), member_class(), zones_space_id(), and ~homogeneous_block_crg_interval().


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