jacobi.template
|
#include <geom.h>
Public Member Functions | |
Mesh (int ndim, int nvert_e=0, int ndof_e=0, int nedge_e=0) | |
__attribute__ ((noinline)) Mesh(Mesh const &)=default | |
Mesh & | operator= (Mesh const &)=delete |
virtual | ~Mesh () |
Mesh (std::string const &fname) | |
void | ReadVertexBasedMesh (std::string const &fname) |
int | Nelems () const |
int | NverticesElements () const |
int | NdofsElement () const |
int | Nnodes () const |
int | Ndims () const |
void | Resize_Connectivity (int nelem, int nvert_e) |
const std::vector< int > & | GetConnectivity () const |
std::vector< int > & | GetConnectivity () |
void | Resize_Coords (int nnodes, int ndim) |
const std::vector< double > & | GetCoords () const |
std::vector< double > & | GetCoords () |
void | SetValues (std::vector< double > &v, const std::function< double(double, double)> &func) const |
void | SetBoundaryValues (std::vector< double > &v, const std::function< double(double, double)> &func) const |
void | SetDirchletValues (std::vector< double > &v, const std::function< double(double, double)> &func) const |
void | Debug () const |
void | DebugEdgeBased () const |
virtual std::vector< int > | Index_DirichletNodes () const |
virtual std::vector< int > | Index_BoundaryNodes () const |
void | Write_ascii_matlab (std::string const &fname, std::vector< double > const &v) const |
void | Export_scicomp (std::string const &basename) const |
virtual void | Visualize (std::vector< double > const &v) const |
int | Nedges () const |
int | NedgesElements () const |
const std::vector< int > & | GetEdgeConnectivity () const |
std::vector< int > & | GetEdgeConnectivity () |
const std::vector< int > & | GetEdges () const |
std::vector< int > & | GetEdges () |
std::vector< std::vector< int > > | Node2NodeGraph () const |
virtual const std::vector< int > & | GetFathersOfVertices () const |
void | Del_EdgeConnectivity () |
Protected Member Functions | |
void | SetNelem (int nelem) |
void | SetNverticesElement (int nvert) |
void | SetNdofsElement (int ndof) |
void | SetNnode (int nnode) |
void | SetNdim (int ndim) |
void | SetNedge (int nedge) |
void | ReadVectexBasedMesh (std::string const &fname) |
void | DeriveEdgeFromVertexBased () |
void | DeriveEdgeFromVertexBased_slow () |
void | DeriveEdgeFromVertexBased_fast () |
void | DeriveEdgeFromVertexBased_fast_2 () |
void | DeriveVertexFromEdgeBased () |
int | Nnbedges () const |
virtual bool | Check_array_dimensions () const |
void | PermuteVertices_EdgeBased (std::vector< int > const &old2new) |
Protected Attributes | |
int | _nelem |
number elements More... | |
int | _nvert_e |
number of vertices per element More... | |
int | _ndof_e |
degrees of freedom (d.o.f.) per element More... | |
int | _nnode |
number nodes/vertices More... | |
int | _ndim |
space dimension of the problem (1, 2, or 3) More... | |
std::vector< int > | _ia |
element connectivity More... | |
std::vector< double > | _xc |
coordinates More... | |
std::vector< int > | _bedges |
boundary edges [nbedges][2] storing start/end vertex More... | |
std::vector< int > | _sdedges |
boundary edges [nbedges][2] with left/right subdomain number More... | |
int | _nedge |
number of edges in mesh More... | |
int | _nedge_e |
number of edges per element More... | |
std::vector< int > | _edges |
edges of mesh (vertices ordered ascending) More... | |
std::vector< int > | _ea |
edge based element connectivity More... | |
std::vector< int > | _ebedges |
boundary edges [nbedges] More... | |
Private Member Functions | |
std::vector< std::vector< int > > | Node2NodeGraph_1 () const |
std::vector< std::vector< int > > | Node2NodeGraph_2 () const |
Private Attributes | |
const std::vector< int > | _dummy |
empty dummy vector More... | |
|
explicit |
Constructor initializing the members with default values.
[in] | ndim | space dimensions (dimension for coordinates) |
[in] | nvert_e | number of vertices per element (dimension for connectivity) |
[in] | ndof_e | degrees of freedom per element (= nvert_e for linear elements) |
[in] | nedge_e | number of edges per element (= nvert_e for linear elements in 2D) |
|
virtual |
|
explicit |
Reads mesh data from a binary file.
File format, see ascii_write_mesh.m
[in] | fname | file name |
|
default |
|
protectedvirtual |
Checks whether the array dimensions fit to their appropriate size parameters
Reimplemented in RefinedMesh.
void Mesh::Debug | ( | ) | const |
void Mesh::DebugEdgeBased | ( | ) | const |
void Mesh::Del_EdgeConnectivity | ( | ) |
|
inlineprotected |
|
protected |
void Mesh::Export_scicomp | ( | std::string const & | basename | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Accesses the father-of-nodes relation.
Reimplemented in RefinedMesh.
|
virtual |
Reimplemented in Mesh_2d_3_square.
|
virtual |
Determines the indices of those vertices with Dirichlet boundary conditions
Reimplemented in Mesh_2d_3_square.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
private |
|
private |
Determines all node to node connections from the vertex based mesh.
Faster than Node2NodeGraph_1()
.
|
inline |
|
protected |
|
protected |
Reads vertex based mesh data from a binary file.
File format, see ascii_write_mesh.m
[in] | fname | file name |
void Mesh::ReadVertexBasedMesh | ( | std::string const & | fname | ) |
Reads mesh data from a binary file.
File format, see ascii_write_mesh.m
[in] | fname | file name |
|
inline |
|
inline |
void Mesh::SetBoundaryValues | ( | std::vector< double > & | v, |
const std::function< double(double, double)> & | func | ||
) | const |
void Mesh::SetDirchletValues | ( | std::vector< double > & | v, |
const std::function< double(double, double)> & | func | ||
) | const |
void Mesh::SetValues | ( | std::vector< double > & | v, |
const std::function< double(double, double)> & | func | ||
) | const |
|
virtual |
Visualize v
together with its mesh information via matlab or octave.
Comment/uncomment those code lines in method Mesh:Visualize (geom.cpp) that are supported on your system.
[in] | v | vector |
Reimplemented in ParMesh.
void Mesh::Write_ascii_matlab | ( | std::string const & | fname, |
std::vector< double > const & | v | ||
) | const |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |