SheafSystem  0.0.0.0
fiber_bundle::hex_connectivity Class Reference

Nodal connectivity for a block containing zones of type hex. More...

#include <hex_connectivity.h>

Inheritance diagram for fiber_bundle::hex_connectivity:
fiber_bundle::block_connectivity fiber_bundle::block_relation sheaf::any

HEX_CONNECTIVITY FACET

enum  static_const_int { NODES_PER_ELEMENT = 8 }
 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...
 
 hex_connectivity ()
 Default constructor. Equivalent to hex_connectivity(1, 1, 1) More...
 
 hex_connectivity (const hex_connectivity &xother)
 Copy constructor. More...
 
 hex_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...
 
 hex_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...
 
virtual ~hex_connectivity ()
 Destructor. 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 hex_connectivityclone () 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_typenode_ids ()
 The nodal connectivity array. More...
 
const pod_index_typenode_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_connectivityoperator= (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...
 

Detailed Description

Nodal connectivity for a block containing zones of type hex.

Definition at line 39 of file hex_connectivity.h.

Member Enumeration Documentation

◆ static_const_int

Static const integral data members.

Hack:
Inline initialization of static const integral data members causes link error in MSC++; use enum instead.

Definition at line 93 of file hex_connectivity.h.

Constructor & Destructor Documentation

◆ hex_connectivity() [1/4]

◆ hex_connectivity() [2/4]

fiber_bundle::hex_connectivity::hex_connectivity ( const hex_connectivity xother)

Copy constructor.

Postcondition
  • postcondition_of(block_connectivity(xother))

Definition at line 52 of file hex_connectivity.cc.

References fiber_bundle::block_connectivity::block_connectivity(), and hex_connectivity().

◆ hex_connectivity() [3/4]

fiber_bundle::hex_connectivity::hex_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.

Precondition
  • xnode_id_ct > 0
  • (xnode_id_ct % NODES_PER_ELEMENT) == 0
Postcondition
  • !delete_node_ids()

Definition at line 65 of file hex_connectivity.cc.

References fiber_bundle::block_connectivity::delete_node_ids(), fiber_bundle::block_connectivity::element_ct(), hex_connectivity(), fiber_bundle::block_connectivity::node_ct(), fiber_bundle::block_connectivity::node_id_ct(), fiber_bundle::block_connectivity::node_ids(), and fiber_bundle::block_connectivity::nodes_per_element().

◆ hex_connectivity() [4/4]

fiber_bundle::hex_connectivity::hex_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.

Postcondition
  • node_ct() == (xi_size+1)*(xj_size+1)*(xk_size+1)

Definition at line 90 of file hex_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 ~hex_connectivity().

◆ ~hex_connectivity()

fiber_bundle::hex_connectivity::~hex_connectivity ( )
virtual

Destructor.

Definition at line 121 of file hex_connectivity.cc.

References create_connectivity().

Referenced by hex_connectivity().

Member Function Documentation

◆ clone()

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

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

Postcondition
  • result->is_same_type(this)

Implements fiber_bundle::block_connectivity.

Definition at line 210 of file hex_connectivity.cc.

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

Referenced by element_type().

◆ create_connectivity()

◆ element_type()

fiber_bundle::block_connectivity::cell_type fiber_bundle::hex_connectivity::element_type ( ) const
virtual

The element type.

Implements fiber_bundle::block_relation.

Definition at line 199 of file hex_connectivity.cc.

References clone().

Referenced by node_id().

◆ invariant()

bool fiber_bundle::hex_connectivity::invariant ( ) const
virtual

◆ is_ancestor_of()

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

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from fiber_bundle::block_connectivity.

Definition at line 262 of file hex_connectivity.cc.

Referenced by invariant().

◆ node_id()

size_type fiber_bundle::hex_connectivity::node_id ( size_type  xi,
size_type  xj,
size_type  xk 
) const
protected

The node id associated with (xi,xj,xk).

Definition at line 188 of file hex_connectivity.cc.

References _j_vertex_size, _k_vertex_size, fiber_bundle::block_connectivity::_start_id, and element_type().

Referenced by create_connectivity().

Member Data Documentation

◆ _i_vertex_size

size_type fiber_bundle::hex_connectivity::_i_vertex_size
protected

The number of vertices in the i-direction.

Definition at line 107 of file hex_connectivity.h.

Referenced by hex_connectivity().

◆ _j_vertex_size

size_type fiber_bundle::hex_connectivity::_j_vertex_size
protected

The number of vertices in the j-direction.

Definition at line 112 of file hex_connectivity.h.

Referenced by hex_connectivity(), and node_id().

◆ _k_vertex_size

size_type fiber_bundle::hex_connectivity::_k_vertex_size
protected

The number of vertices in the k-direction.

Definition at line 117 of file hex_connectivity.h.

Referenced by hex_connectivity(), and node_id().


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