SheafSystem
0.0.0.0
|
Nodal connectivity for a block containing zones of type tetra. More...
#include <tetra_connectivity.h>
TETRA_CONNECTIVITY FACET | |
enum | static_const_int { NODES_PER_ELEMENT = 4 } |
Static const integral data members. More... | |
size_type | _i_vertex_size |
The number of vertices in the i-direction. More... | |
size_type | _j_vertex_size |
The number of vertices in the j-direction. More... | |
size_type | _k_vertex_size |
The number of vertices in the k-direction. More... | |
tetra_connectivity () | |
Default constructor. Equivalent to tetra_connectivity(1, 1, 1) More... | |
tetra_connectivity (const tetra_connectivity &xother) | |
Copy constructor. More... | |
virtual | ~tetra_connectivity () |
Destructor. More... | |
tetra_connectivity (const pod_index_type *xnode_ids, size_type xnode_id_ct, size_type xnode_ct) | |
Creates an instance corresponding to the general arrangement of vertices given by node_ids() == xnode_ids and node_id_ct() == xnode_id_ct. If xnode_ct == 0, node_ct() will be computed from node_ids(), otherwise, node_ct() == xnode_ct. More... | |
tetra_connectivity (size_type xi_size, size_type xj_size, size_type xk_size, pod_index_type xstart_id=0) | |
Creates an instance corresponding to a cubical array of vertices (xi_size + 1)*(x_jsize + 1)*(xk_size + 1), that is, xi_size, xj_size and xk_size are the number of edges in the i, j, and k direction, respectively. Xstart_id is the id of the first vertex, that is, i=0, j=0. More... | |
void | create_connectivity (size_type xi_size, size_type xj_size, size_type xk_size, pod_index_type xstart_id=0) |
Allocates and initializes the connectivity array. More... | |
size_type | node_id (size_type xi, size_type xj, size_type xk) const |
The node id associated with (xi,xj,xk). More... | |
BLOCK_RELATION FACET | |
virtual cell_type | element_type () const |
The element type. More... | |
ANY FACET | |
virtual tetra_connectivity * | clone () const |
Virtual constructor, makes a new instance of the same type as this. More... | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual bool | is_ancestor_of (const any *other) const |
Conformance test; true if other conforms to this. More... | |
Additional Inherited Members | |
Public Types inherited from fiber_bundle::block_relation | |
enum | cell_type { POINT, LINE, QUAD, TRIANGLE, HEX, TETRA, CELL_TYPE_END } |
Cell types. More... | |
Public Member Functions inherited from fiber_bundle::block_connectivity | |
virtual | ~block_connectivity () |
Destructor. More... | |
size_type | element_ct () const |
The number of elements. More... | |
size_type | node_ct () const |
The number of distinct nodes. More... | |
pod_index_type * | node_ids () |
The nodal connectivity array. More... | |
const pod_index_type * | node_ids () const |
The nodal connectivity array. More... | |
bool | delete_node_ids () const |
True if destructor of this should delete _node_ids. More... | |
size_type | node_id_ct () const |
The number of entries in node_ids(). More... | |
size_type | nodes_per_element () const |
The number of nodes per element. More... | |
pod_index_type | start_id () const |
The id given to the first node id generated. More... | |
virtual void | to_stream (std::ostream &xos) const |
Print to stream xos. More... | |
block_connectivity & | operator= (const block_connectivity &xother) |
Assignment operator. More... | |
virtual bool | operator== (const block_connectivity &xother) const |
Equality operator. More... | |
Public Member Functions inherited from fiber_bundle::block_relation | |
block_relation () | |
Default constructor. More... | |
virtual | ~block_relation () |
Destructor. 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 fiber_bundle::block_connectivity | |
block_connectivity () | |
Default constructor. More... | |
block_connectivity (const block_connectivity &xother) | |
Copy constructor. More... | |
block_connectivity (const pod_index_type *xnode_ids, size_type xnode_id_ct, size_type xnodes_per_element, size_type xnode_ct) | |
Creates an instance with node_ids() == xnode_ids, node_id_ct() == xnode_id_ct, and start_id() == xstart_id. If xnode_ct == 0, the number of distinct nodes will be computed, otherwise node_ct() == xnode_ct. More... | |
block_connectivity (pod_index_type xstart_id) | |
Parameter xstart_id is the id given to the first node id generated. Mostly only useful for creating 1 (vs 0) based node numbering. More... | |
Protected Member Functions inherited from sheaf::any | |
any () | |
default constructor More... | |
Protected Attributes inherited from fiber_bundle::block_connectivity | |
size_type | _element_ct |
The number of elements. More... | |
size_type | _node_ct |
The number of distinct nodes. More... | |
size_type | _node_id_ct |
the number of entyries in _node_ids. More... | |
pod_index_type * | _node_ids |
The nodal connectivity array. More... | |
bool | _delete_node_ids |
True if destructor of this should delete _node_ids. More... | |
size_type | _nodes_per_element |
The number of nodes per element. More... | |
pod_index_type | _start_id |
The id given to the first node id generated. Mostly only useful for creating 1 (vs 0) based node numbering. More... | |
Nodal connectivity for a block containing zones of type tetra.
Definition at line 39 of file tetra_connectivity.h.
Static const integral data members.
Definition at line 92 of file tetra_connectivity.h.
fiber_bundle::tetra_connectivity::tetra_connectivity | ( | ) |
Default constructor. Equivalent to tetra_connectivity(1, 1, 1)
Definition at line 31 of file tetra_connectivity.cc.
References fiber_bundle::block_connectivity::_nodes_per_element, fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), and fiber_bundle::block_connectivity::start_id().
Referenced by clone(), and tetra_connectivity().
fiber_bundle::tetra_connectivity::tetra_connectivity | ( | const tetra_connectivity & | xother | ) |
Copy constructor.
Definition at line 52 of file tetra_connectivity.cc.
References fiber_bundle::block_connectivity::block_connectivity(), and tetra_connectivity().
|
virtual |
Destructor.
Definition at line 123 of file tetra_connectivity.cc.
References create_connectivity().
Referenced by tetra_connectivity().
fiber_bundle::tetra_connectivity::tetra_connectivity | ( | const pod_index_type * | xnode_ids, |
size_type | xnode_id_ct, | ||
size_type | xnode_ct | ||
) |
Creates an instance corresponding to the general arrangement of vertices given by node_ids() == xnode_ids and node_id_ct() == xnode_id_ct. If xnode_ct == 0, node_ct() will be computed from node_ids(), otherwise, node_ct() == xnode_ct.
Definition at line 65 of file tetra_connectivity.cc.
References fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), and tetra_connectivity().
fiber_bundle::tetra_connectivity::tetra_connectivity | ( | size_type | xi_size, |
size_type | xj_size, | ||
size_type | xk_size, | ||
pod_index_type | xstart_id = 0 |
||
) |
Creates an instance corresponding to a cubical array of vertices (xi_size + 1)*(x_jsize + 1)*(xk_size + 1), that is, xi_size, xj_size and xk_size are the number of edges in the i, j, and k direction, respectively. Xstart_id is the id of the first vertex, that is, i=0, j=0.
Definition at line 90 of file tetra_connectivity.cc.
References _i_vertex_size, _j_vertex_size, _k_vertex_size, create_connectivity(), fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), fiber_bundle::block_connectivity::start_id(), and ~tetra_connectivity().
|
virtual |
Virtual constructor, makes a new instance of the same type as this.
Implements fiber_bundle::block_connectivity.
Definition at line 243 of file tetra_connectivity.cc.
References invariant(), sheaf::any::is_same_type(), and tetra_connectivity().
Referenced by element_type().
|
protected |
Allocates and initializes the connectivity array.
Definition at line 134 of file tetra_connectivity.cc.
References fiber_bundle::block_connectivity::_delete_node_ids, fiber_bundle::block_connectivity::_element_ct, fiber_bundle::block_connectivity::_node_ct, fiber_bundle::block_connectivity::_node_id_ct, fiber_bundle::block_connectivity::_node_ids, fiber_bundle::block_connectivity::_nodes_per_element, fiber_bundle::block_connectivity::_start_id, fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), fiber_bundle::block_connectivity::node_ct(), node_id(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), fiber_bundle::block_connectivity::nodes_per_element(), and fiber_bundle::block_connectivity::start_id().
Referenced by tetra_connectivity(), and ~tetra_connectivity().
|
virtual |
The element type.
Implements fiber_bundle::block_relation.
Definition at line 232 of file tetra_connectivity.cc.
References clone().
Referenced by node_id().
|
virtual |
Class invariant.
Reimplemented from fiber_bundle::block_connectivity.
Definition at line 265 of file tetra_connectivity.cc.
References sheaf::any::disable_invariant_check(), sheaf::any::enable_invariant_check(), fiber_bundle::block_connectivity::invariant(), sheaf::any::invariant_check(), and is_ancestor_of().
Referenced by clone().
|
virtual |
Conformance test; true if other conforms to this.
Reimplemented from fiber_bundle::block_connectivity.
Definition at line 295 of file tetra_connectivity.cc.
Referenced by invariant().
|
protected |
The node id associated with (xi,xj,xk).
Definition at line 221 of file tetra_connectivity.cc.
References _j_vertex_size, _k_vertex_size, fiber_bundle::block_connectivity::_start_id, and element_type().
Referenced by create_connectivity().
|
protected |
The number of vertices in the i-direction.
Definition at line 107 of file tetra_connectivity.h.
Referenced by tetra_connectivity().
|
protected |
The number of vertices in the j-direction.
Definition at line 112 of file tetra_connectivity.h.
Referenced by node_id(), and tetra_connectivity().
|
protected |
The number of vertices in the k-direction.
Definition at line 117 of file tetra_connectivity.h.
Referenced by node_id(), and tetra_connectivity().