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::Element Class Reference

Standard finite element object. More...

#include <DICe_Mesh.h>

Inheritance diagram for DICe::mesh::Element:
DICe::mesh::Mesh_Object

Public Member Functions

 Element (const connectivity_vector &connectivity, const int_t global_id, const int_t local_id, const int_t block_id, const int_t block_local_id)
 
 ~Element ()
 Destructor.
 
int_t block_id () const
 Returns the block id for this object.
 
int_t index_in_block () const
 Returns the block local id for this object.
 
const connectivity_vectorconnectivity () const
 Returns a pointer to the connectivity for this element.
 
const connectivity_vector get_connectivity () const
 Returns a copy of the connectivity for this element.
 
std::set< int_t > * global_id_sensitivities ()
 Returns a list of all the elements that this element has a sensitivity to in the stiffness matrix.
 
- 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 that this element belongs to
 
int_t block_local_id_
 index of the block that this element belongs to on this processor
 
connectivity_vector connectivity_
 
std::set< int_tglobal_id_sensitivities_
 set of ids that represent all the stiffness sensitivities of this element
 

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

Standard finite element object.

Constructor & Destructor Documentation

◆ Element()

DICe::mesh::Element::Element ( const connectivity_vector connectivity,
const int_t  global_id,
const int_t  local_id,
const int_t  block_id,
const int_t  block_local_id 
)

Constructor

Parameters
connectivityThe connectivity that defines the element nodes
global_idthe global id to set for this element
local_idThe local id for this element
block_idThe block that this element belongs to
block_local_idThe index of the block on this processor

Member Data Documentation

◆ connectivity_

connectivity_vector DICe::mesh::Element::connectivity_
private

connectivity vector that defines the nodes that make up this element needs to be a vector not a set so it keeps its order