#include <lagrangemesh.h>
Collaboration diagram for LagrangeMesh:
Public Member Functions | |
LagrangeMesh (mesh::TetMesh *mesh, int order, int sym_plane_config) | |
~LagrangeMesh () | |
mesh::id_t | gdof (mesh::id_t ldof) const |
bool | is_owned_gdof (mesh::id_t gdof) const |
mesh::id_t | map_dof (mesh::id_t orig_dof) const |
mesh::id_t | get_num_my_dofs (int order) const |
mesh::id_t | get_num_global_mdofs (int order) const |
mesh::id_t | get_num_global_dofs (int order) const |
Private Member Functions | |
void | set_map (unsigned int sym_plane_config) |
Private Attributes | |
mesh::TetMesh * | _mesh |
mesh::ParallelTetMesh * | _pmesh |
int | _order |
std::vector< mesh::id_t > | _map |
std::vector< mesh::id_t > | _nof_orig_dofs |
std::vector< mesh::id_t > | _nof_mapped_dofs |
std::vector< mesh::id_t > | _num_global_dofs |
std::map< mesh::id_t, mesh::id_t > | _mgid_map |
Definition at line 29 of file lagrangemesh.h.
LagrangeMesh::LagrangeMesh | ( | mesh::TetMesh * | mesh, | |
int | order, | |||
int | sym_plane_config | |||
) |
Definition at line 23 of file lagrangemesh.cpp.
References _mesh, _nof_orig_dofs, _num_global_dofs, _pmesh, mesh::TetMesh::get_nof_edges(), mesh::TetMesh::get_nof_points(), mesh::ParallelTetMesh::get_num_global_edges(), mesh::ParallelTetMesh::get_num_global_points(), and set_map().
Here is the call graph for this function:
LagrangeMesh::~LagrangeMesh | ( | ) |
Definition at line 60 of file lagrangemesh.cpp.
mesh::id_t LagrangeMesh::gdof | ( | mesh::id_t | ldof | ) | const |
Convert local dof id (ldof) to global dof id.
Definition at line 152 of file lagrangemesh.cpp.
References _mesh, _pmesh, mesh::ParallelTetMesh::edge_gid(), mesh::TetMesh::get_nof_points(), mesh::ParallelTetMesh::get_num_global_points(), and mesh::ParallelTetMesh::point_gid().
Referenced by map_dof(), QuadraticEigsolvOperators::matrixAssembly(), LinearEigsolvOperators::matrixAssembly(), and set_map().
Here is the call graph for this function:
mesh::id_t LagrangeMesh::get_num_global_dofs | ( | int | order | ) | const |
Definition at line 71 of file lagrangemesh.cpp.
References _num_global_dofs.
Referenced by is_owned_gdof(), and set_map().
mesh::id_t LagrangeMesh::get_num_global_mdofs | ( | int | order | ) | const |
Return number of mapped dofs belonging to element order "order" or return total number of original dofs if "order" is zero.
Definition at line 67 of file lagrangemesh.cpp.
References _nof_mapped_dofs.
Referenced by FemaxMesh::constructY(), FemaxMesh::constructY_transp(), and QuadraticEigsolvOperators::QuadraticEigsolvOperators().
mesh::id_t LagrangeMesh::get_num_my_dofs | ( | int | order | ) | const |
Return number of original (unmapped) dofs belonging to element order "order" or return total number of original dofs if "order" is zero.
Definition at line 63 of file lagrangemesh.cpp.
References _nof_orig_dofs.
Referenced by QuadraticEigsolvOperators::matrixAssembly(), LinearEigsolvOperators::matrixAssembly(), and set_map().
bool LagrangeMesh::is_owned_gdof | ( | mesh::id_t | gdof | ) | const |
Returns true if gdof is owned by calling processor.
Definition at line 160 of file lagrangemesh.cpp.
References _pmesh, get_num_global_dofs(), mesh::ParallelTetMesh::is_owned_edge(), and mesh::ParallelTetMesh::is_owned_point().
Referenced by QuadraticEigsolvOperators::matrixAssembly(), and LinearEigsolvOperators::matrixAssembly().
Here is the call graph for this function:
mesh::id_t LagrangeMesh::map_dof | ( | mesh::id_t | orig_dof | ) | const |
Return the id of the corresponding mapped dof given the id of an unmapped dof or -1 if the unmapped dof is eliminated.
Definition at line 170 of file lagrangemesh.cpp.
References _mgid_map, gdof(), and mesh::ID_NONE.
Referenced by FemaxMesh::constructY(), FemaxMesh::constructY_transp(), QuadraticEigsolvOperators::matrixAssembly(), LinearEigsolvOperators::matrixAssembly(), and set_map().
Here is the call graph for this function:
void LagrangeMesh::set_map | ( | unsigned int | sym_plane_config | ) | [private] |
Compute _map
Definition at line 75 of file lagrangemesh.cpp.
References _mesh, _mgid_map, _nof_mapped_dofs, _order, _pmesh, parallel::compute_mgid_map(), gdof(), mesh::ParallelTetMesh::get_comm(), mesh::TetMesh::get_edge(), mesh::ParallelTetMesh::get_node_gids(), mesh::TetMesh::get_nof_edges(), mesh::TetMesh::get_nof_points(), get_num_global_dofs(), get_num_my_dofs(), mesh::TetMesh::get_point(), map_dof(), mesh::ParallelTetMesh::point_gid(), and rDebugAll.
Referenced by LagrangeMesh().
Here is the call graph for this function:
std::vector<mesh::id_t> LagrangeMesh::_map [private] |
array for mapping original dofs to mapped dofs
Definition at line 74 of file lagrangemesh.h.
mesh::TetMesh* LagrangeMesh::_mesh [private] |
Unstructured mesh
Definition at line 68 of file lagrangemesh.h.
Referenced by gdof(), LagrangeMesh(), and set_map().
std::map<mesh::id_t, mesh::id_t> LagrangeMesh::_mgid_map [private] |
Map for transforming local dof ids to global mapped dof ids.
Definition at line 86 of file lagrangemesh.h.
std::vector<mesh::id_t> LagrangeMesh::_nof_mapped_dofs [private] |
number of mapped dofs by element order
Definition at line 78 of file lagrangemesh.h.
Referenced by get_num_global_mdofs(), and set_map().
std::vector<mesh::id_t> LagrangeMesh::_nof_orig_dofs [private] |
number of original (unmapped) dofs by element order
Definition at line 76 of file lagrangemesh.h.
Referenced by get_num_my_dofs(), and LagrangeMesh().
std::vector<mesh::id_t> LagrangeMesh::_num_global_dofs [private] |
Number of global unmapped dofs by element order.
Definition at line 81 of file lagrangemesh.h.
Referenced by get_num_global_dofs(), and LagrangeMesh().
int LagrangeMesh::_order [private] |
Order of all Nedelec elements in mesh (_order >= 1)
Definition at line 72 of file lagrangemesh.h.
Referenced by set_map().
mesh::ParallelTetMesh* LagrangeMesh::_pmesh [private] |
Pointer to paralleltetmesh
Definition at line 70 of file lagrangemesh.h.
Referenced by gdof(), is_owned_gdof(), LagrangeMesh(), and set_map().