Digital Image Correlation Engine  Version 1.0
A modular, high-performance, image correlation tool used to compute full-field displacements and strains from digital images
Public Member Functions | Private Attributes | List of all members
DICe::mesh::Subelement Class Reference

Elements are divided up in to subelements for CVFEM. More...

#include <DICe_Mesh.h>

Inheritance diagram for DICe::mesh::Subelement:
DICe::mesh::Mesh_Object

Public Member Functions

 Subelement (Teuchos::RCP< Element > element, const int_t local_id, const int_t global_id)
 
 Subelement (const connectivity_vector &connectivity, Teuchos::RCP< Element > element, const int_t local_id, const int_t global_id, const int_t block_id)
 
 ~Subelement ()
 Destuctor.
 
int_t block_id () const
 Returns the block id for this object.
 
const connectivity_vectorconnectivity () const
 Returns a pointer to the connectivity for this element.
 
Teuchos::RCP< Elementparent_element ()
 Returns a pointer to the parent element that this element derived from.
 
- Public Member Functions inherited from DICe::mesh::Mesh_Object
 Mesh_Object (const int_t global_id, const int_t local_id)
 Basic and only constructor. More...
 
virtual ~Mesh_Object ()
 destructor
 
int_t global_id () const
 Returns the global id of the mesh object.
 
int_t local_id () const
 Returns the local id of the mesh object.
 
int_t overlap_local_id () const
 Returns the local overlap id of mesh objects that are shared accross processors.
 
int_t overlap_neighbor_local_id () const
 
bool operator< (const Mesh_Object &right) const
 
const std::set< int_t > * shallow_relations (const field_enums::Entity_Rank entity_rank) const
 
const std::vector< Teuchos::RCP< Mesh_Object > > * deep_relations (const field_enums::Entity_Rank entity_rank) const
 
shallow_relations_mapget_shallow_relations_map ()
 Returns a pointer to the map of shallow relations for this mesh object.
 
deep_relations_mapget_deep_relations_map ()
 Returns a pointer to the map of deep relations for this mesh object.
 
std::vector< int_t > * get_shallow_elem_relations ()
 Returns a pointer to the shallow elem relations vector.
 
std::vector< Teuchos::RCP< Bond > > * get_deep_bond_relations ()
 Returns a pointer to the bond deep relations.
 
void add_shallow_relation (const field_enums::Entity_Rank entity_rank, const int_t global_id) const
 Add a shallow relation to this mesh object. More...
 
void add_deep_relation (const Teuchos::RCP< Element > element) const
 Add a deep relation for the given mesh object. More...
 
void add_deep_relation (const Teuchos::RCP< Node > node) const
 Add a deep relation for the given mesh object. More...
 
void add_deep_relation (const Teuchos::RCP< Internal_Face_Edge > internal_face_edge) const
 Add a deep relation for the given mesh object. More...
 
void add_deep_relation (const Teuchos::RCP< Internal_Cell > internal_cell) const
 Add a deep relation for the given mesh object. More...
 
void add_deep_relation (const Teuchos::RCP< Bond > bond) const
 Add a deep relation for the given mesh object. More...
 
int_t is_elem_relation (const int_t gid, scalar_t &sign)
 
size_t num_shallow_relations (const field_enums::Entity_Rank entity_rank) const
 
size_t num_deep_relations (const field_enums::Entity_Rank entity_rank) const
 
int_t num_initial_relations (const field_enums::Entity_Rank entity_rank) const
 
void update_local_id (const int_t local_id)
 
void update_overlap_local_id (const int_t overlap_local_id)
 
void update_overlap_neighbor_local_id (const int_t overlap_neighbor_local_id)
 
void set_initial_num_relations (const int_t num_relations, const field_enums::Entity_Rank relation_rank) const
 

Private Attributes

int_t block_id_
 block id for this subelement
 
connectivity_vector connectivity_
 connectivity vector
 
Teuchos::RCP< Elementparent_element_
 pointer to the element from which this subelement was derived
 

Additional Inherited Members

- Protected Attributes inherited from DICe::mesh::Mesh_Object
int_t global_id_
 global id
 
int_t local_id_
 local id
 
int_t overlap_local_id_
 overlap local id
 
int_t overlap_neighbor_local_id_
 overlap neighbor local id (this is the index in the list that includes neighbor's neighbors shared accross processors)
 
shallow_relations_map shallow_relations_map_
 Map of shallow relations (ids only not pointers to the objects)
 
std::vector< int_tshallow_elem_relations_
 Vector of shallow elem relations.
 
deep_relations_map deep_relations_map_
 Map of deep relations (not just ids, but actual pointers to the objects)
 
std::vector< Teuchos::RCP< Bond > > deep_bond_relations_
 Vector of pointers to bond relations.
 
int_t initial_num_node_relations_
 Number of initial node relations.
 
int_t initial_num_elem_relations_
 Number of initial element relations.
 

Detailed Description

Elements are divided up in to subelements for CVFEM.

Constructor & Destructor Documentation

◆ Subelement() [1/2]

DICe::mesh::Subelement::Subelement ( Teuchos::RCP< Element element,
const int_t  local_id,
const int_t  global_id 
)

Constructor that uses a pointer to an element to subdivide the element

Parameters
elementthe parent element
local_idThe local id to assign to this subelement
global_idThe global id to assign to this subelement

◆ Subelement() [2/2]

DICe::mesh::Subelement::Subelement ( const connectivity_vector connectivity,
Teuchos::RCP< Element element,
const int_t  local_id,
const int_t  global_id,
const int_t  block_id 
)

Constructor that uses a pointer to an element to subdivide the element as well as the connectivity vector. In this case, the block ids, etc. may be changed from the parent element

Parameters
connectivityConnectivity vector
elementThe parent element
local_idThe local id to assign to this subelement
global_idThe global id to assign to this subelement
block_idThe block id to assign to this subelement