LagrangeMesh Class Reference

#include <lagrangemesh.h>

Collaboration diagram for LagrangeMesh:

Collaboration graph
[legend]
List of all members.

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

Detailed Description

Unstructured FE mesh for hierarchical Lagrangian elements
Author:
Roman Geus

Definition at line 29 of file lagrangemesh.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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:


Member Data Documentation

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.

Referenced by map_dof(), and set_map().

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().


The documentation for this class was generated from the following files:
Generated on Fri Oct 26 13:35:16 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7