SheafSystem
0.0.0.0
|
Emulator for a interval of implicit base space members representing a 1 dimensional structured block, that is, a homogeneous collection of connected quads arranged in an i_size() array. More...
#include <structured_block_1d_crg_interval.h>
Friends | |
class | fiber_bundles_namespace |
STRUCTURED_BLOCK_1D_CRG_INTERVAL FACET | |
structured_block_1d_crg_interval () | |
Default Constructor. More... | |
virtual | ~structured_block_1d_crg_interval () |
Destructor. More... | |
size_type | i_size () const |
The number of zones in the i direction in this block. More... | |
ZONES FACET | |
void | initialize_zones (base_space_poset &xhost) |
Initialize the zones id space. More... | |
VERTICES FACET | |
void | initialize_vertices (base_space_poset &xhost) |
Initialize the vertex id space. More... | |
BASE_SPACE_CRG_INTERVAL FACET | |
virtual int | db (pod_index_type 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 |
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 | |
void | initialize_block_vertices () |
Initialize the block vertices id space. More... | |
INTERVAL FACET | |
static void | get_size (size_type xi_size, size_type &result) |
The size for an instance created with parameter xi_size. More... | |
COVER SET FACET | |
virtual void | initialize_lower_covers () |
Initialize the lower covers for this interval. More... | |
virtual void | initialize_upper_covers () |
Initialize the upper cover for this interval. More... | |
DOF_TUPLE_ID FACET | |
static void | get_dof_tuple_ids (poset_state_handle &xhost, size_type xi_size, block< pod_index_type > &result) |
The dof tuple ids for an instance created with parameter xi_size. More... | |
PRIVATE_DATA FACET | |
virtual size_type | implicit_private_data_size () const |
The size of the private data. More... | |
virtual void | get_implicit_private_data (block< pod_index_type > &xdata) const |
The private data for this instance. More... | |
virtual void | put_implicit_private_data (const block< pod_index_type > &xdata) |
Initializes this using private data xdata. More... | |
static void | get_private_data (size_type xi_size, block< pod_index_type > &result) |
The private data for an instance with parameter xi_size. More... | |
FINIALIZE FACET | |
virtual void | finalize (poset_state_handle &xhost) |
Finialize the initialization of this crg interval in the host xhost. More... | |
FACTORY FACET | |
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 structured_block_1d_crg_interval * | clone () 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::homogeneous_block_crg_interval | |
homogeneous_block_crg_interval () | |
Default Constructor. More... | |
virtual | ~homogeneous_block_crg_interval () |
Destructor. 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... | |
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... | |
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... | |
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... | |
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... | |
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... | |
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... | |
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... | |
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... | |
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... | |
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_family & | id_spaces () const |
The id space family for this interval. More... | |
const hub_index_space_handle & | hub_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_handle & | local_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_interval * | new_interval (const std::string &xname) |
Creates a default constructed instance of the the class with name xname. More... | |
Protected Types inherited from fiber_bundle::homogeneous_block_crg_interval | |
enum | member_class_type { BLOCK, ZONE, VERTEX, MEMBER_CLASS_END } |
Memeber class identifiers. More... | |
Protected Types inherited from sheaf::crg_interval | |
typedef unordered::unordered_map< pod_index_type, pod_index_type > | explicit_cover_map_type |
The type of the explicit cover maps.. More... | |
Protected Member Functions inherited from fiber_bundle::homogeneous_block_crg_interval | |
member_class_type | member_class (pod_index_type xmbr_index) const |
The member class of the member with index xmbr_index. 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 | |
Protected Member Functions inherited from sheaf::crg_interval | |
explicit_cover_map_type & | explicit_cover_map (bool xlower) |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces. More... | |
const explicit_cover_map_type & | explicit_cover_map (bool xlower) const |
The lower (xlower true) or upper (xlower false) map to explicit cover id spaces; const version. 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::homogeneous_block_crg_interval | |
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 | _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... | |
pod_index_type | _connectivity_begin |
The beginning offset of the connectivity id spaces in the id space family. More... | |
pod_index_type | _adjacency_begin |
The beginning offset of the adjacency id spaces in the id space family. 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... | |
Emulator for a interval of implicit base space members representing a 1 dimensional structured block, that is, a homogeneous collection of connected quads arranged in an i_size() array.
Definition at line 43 of file structured_block_1d_crg_interval.h.
fiber_bundle::structured_block_1d_crg_interval::structured_block_1d_crg_interval | ( | ) |
Default Constructor.
Definition at line 52 of file structured_block_1d_crg_interval.cc.
References ~structured_block_1d_crg_interval().
|
virtual |
Destructor.
Definition at line 75 of file structured_block_1d_crg_interval.cc.
References i_size(), and sheaf::is_valid().
Referenced by structured_block_1d_crg_interval().
|
virtual |
The name of this class; provided to satisfy factory template.
Reimplemented from fiber_bundle::homogeneous_block_crg_interval.
Definition at line 716 of file structured_block_1d_crg_interval.cc.
References is_ancestor_of().
Referenced by finalize().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Reimplemented from fiber_bundle::homogeneous_block_crg_interval.
Definition at line 776 of file structured_block_1d_crg_interval.cc.
References invariant().
Referenced by is_ancestor_of().
|
virtual |
The id space index for the cells of dimension xd. Returns invalid_pod_index() if there is no id space for dimension xd.
Implements fiber_bundle::base_space_crg_interval.
Definition at line 266 of file structured_block_1d_crg_interval.cc.
References initialize_block_vertices(), and sheaf::invalid_pod_index().
Referenced by db().
|
virtual |
The dimension of the member with id xmbr_id. Does not require access to dof tuple.
Implements fiber_bundle::base_space_crg_interval.
Definition at line 241 of file structured_block_1d_crg_interval.cc.
References d_cells_space_id().
Referenced by initialize_vertices().
|
virtual |
Finialize the initialization of this crg interval in the host xhost.
Reimplemented from sheaf::implicit_crg_interval.
Definition at line 655 of file structured_block_1d_crg_interval.cc.
References sheaf::poset_state_handle::append_upper_cover_of_bottom(), class_name(), and sheaf::read_write_monitor_handle::state_is_read_accessible().
Referenced by put_implicit_private_data().
|
static |
The dof tuple ids for an instance created with parameter xi_size.
Definition at line 536 of file structured_block_1d_crg_interval.cc.
References get_private_data(), sheaf::auto_block< T, S >::reserve(), and sheaf::auto_block< T, S >::set_ct().
Referenced by initialize_upper_covers(), and fiber_bundle::structured_block_1d::new_state().
|
protectedvirtual |
The private data for this instance.
Implements sheaf::implicit_crg_interval.
Definition at line 605 of file structured_block_1d_crg_interval.cc.
References sheaf::auto_block< T, S >::ct(), sheaf::auto_block< T, S >::push_back(), and put_implicit_private_data().
Referenced by implicit_private_data_size().
|
static |
The private data for an instance with parameter xi_size.
Definition at line 574 of file structured_block_1d_crg_interval.cc.
References implicit_private_data_size(), sheaf::auto_block< T, S >::reserve(), and sheaf::auto_block< T, S >::set_ct().
Referenced by get_dof_tuple_ids(), and fiber_bundle::structured_block_1d::new_state().
|
static |
The size for an instance created with parameter xi_size.
Definition at line 380 of file structured_block_1d_crg_interval.cc.
References initialize_lower_covers().
Referenced by initialize_block_vertices(), and fiber_bundle::structured_block_1d::new_state().
sheaf::size_type fiber_bundle::structured_block_1d_crg_interval::i_size | ( | ) | const |
The number of zones in the i direction in this block.
Definition at line 120 of file structured_block_1d_crg_interval.cc.
References initialize_zones().
Referenced by ~structured_block_1d_crg_interval().
|
protectedvirtual |
The size of the private data.
Implements sheaf::implicit_crg_interval.
Definition at line 598 of file structured_block_1d_crg_interval.cc.
References get_implicit_private_data().
Referenced by get_private_data().
|
protected |
Initialize the block vertices id space.
Definition at line 311 of file structured_block_1d_crg_interval.cc.
References get_size(), sheaf::explicit_index_space_handle::index(), and sheaf::gathered_insertion_index_space_handle::push_back().
Referenced by d_cells_space_id().
|
protectedvirtual |
Initialize the lower covers for this interval.
Implements sheaf::crg_interval.
Definition at line 415 of file structured_block_1d_crg_interval.cc.
References initialize_upper_covers(), and sheaf::LOWER.
Referenced by get_size().
|
protectedvirtual |
Initialize the upper cover for this interval.
Implements sheaf::crg_interval.
Definition at line 472 of file structured_block_1d_crg_interval.cc.
References get_dof_tuple_ids(), and sheaf::UPPER.
Referenced by initialize_lower_covers().
|
protected |
Initialize the vertex id space.
Definition at line 197 of file structured_block_1d_crg_interval.cc.
References fiber_bundle::base_space_poset::d_cells(), and db().
Referenced by initialize_zones().
|
protected |
Initialize the zones id space.
Definition at line 151 of file structured_block_1d_crg_interval.cc.
References fiber_bundle::base_space_poset::d_cells(), and initialize_vertices().
Referenced by i_size().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::homogeneous_block_crg_interval.
Definition at line 796 of file structured_block_1d_crg_interval.cc.
References sheaf::is_valid().
Referenced by clone().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from fiber_bundle::homogeneous_block_crg_interval.
Definition at line 756 of file structured_block_1d_crg_interval.cc.
References clone().
Referenced by class_name().
|
protectedvirtual |
Initializes this using private data xdata.
Implements sheaf::implicit_crg_interval.
Definition at line 624 of file structured_block_1d_crg_interval.cc.
References finalize().
Referenced by get_implicit_private_data().