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
|
A mesh object is the base class for elements, nodes, faces, that make up the computational domain. More...
#include <DICe_Mesh.h>
Public Member Functions | |
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_map * | get_shallow_relations_map () |
Returns a pointer to the map of shallow relations for this mesh object. | |
deep_relations_map * | get_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 |
Protected Attributes | |
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_t > | shallow_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. | |
A mesh object is the base class for elements, nodes, faces, that make up the computational domain.
Basic and only constructor.
global_id | the global id of the mesh object |
local_id | the local id of the mesh object |
void DICe::mesh::Mesh_Object::add_deep_relation | ( | const Teuchos::RCP< Bond > | bond | ) | const |
Add a deep relation for the given mesh object.
bond | The mesh object to add a deep relation for |
void DICe::mesh::Mesh_Object::add_deep_relation | ( | const Teuchos::RCP< Element > | element | ) | const |
Add a deep relation for the given mesh object.
element | The mesh object to add a deep relation for |
Note: Be careful with deep relations, the relations need to be local to this process and the mesh object can be altered through the relations
void DICe::mesh::Mesh_Object::add_deep_relation | ( | const Teuchos::RCP< Internal_Cell > | internal_cell | ) | const |
Add a deep relation for the given mesh object.
internal_cell | The mesh object to add a deep relation for |
void DICe::mesh::Mesh_Object::add_deep_relation | ( | const Teuchos::RCP< Internal_Face_Edge > | internal_face_edge | ) | const |
Add a deep relation for the given mesh object.
internal_face_edge | The mesh object to add a deep relation for |
void DICe::mesh::Mesh_Object::add_deep_relation | ( | const Teuchos::RCP< Node > | node | ) | const |
Add a deep relation for the given mesh object.
node | The mesh object to add a deep relation for |
void DICe::mesh::Mesh_Object::add_shallow_relation | ( | const field_enums::Entity_Rank | entity_rank, |
const int_t | global_id | ||
) | const |
Add a shallow relation to this mesh object.
entity_rank | The entity rank determines which list to add the relation to |
global_id | The global id of the mesh object to add as a relation |
Only save off the global id of the relation and nothing else. Good for off processor elements
|
inline |
Returns a pointer to the set of deep relations (actual pointers to the objects themselves, not just the id as in shallow relations)
entity_rank | The rank of the relations to gather |
Returns true if the given global id is a relation for this element
gid | Global id of the element in question |
sign | [out] The sign of the normal vector pointing to this relation (used for fluxes) |
|
inline |
Returns the number of deep relations for this mesh object
entity_rank | The rank determines what the relation type is |
|
inline |
Returns the number of initial shallow relations for this mesh object
entity_rank | The rank determines what the relation type is |
|
inline |
Returns the number of shallow relations for this mesh object
entity_rank | The rank determines what the relation type is |
|
inline |
Less than operator for creating maps or sets of mesh objects
right | The mesh object to compre to |
|
inline |
Returns the local neighbor overlap id (this overlap map contains neighbor relations that are shared accross processors as well)
void DICe::mesh::Mesh_Object::set_initial_num_relations | ( | const int_t | num_relations, |
const field_enums::Entity_Rank | relation_rank | ||
) | const |
Set the number of initial relations
num_relations | The number of relations |
relation_rank | The type of mesh object that this number applies to |
|
inline |
Returns a pointer to the set of shallow relations (id of relation only)
entity_rank | The rank of the relations to gather |
|
inline |
Update the local id of this mesh object
local_id | The new id |
|
inline |
Update the overlap local id of this mesh object
overlap_local_id | The new id |
|
inline |
Update the overlap neighbor local id of this mesh object (this is the index in the shared map that includes neighbor's neighbors)
overlap_neighbor_local_id | The new id |