|
accu.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 |
| 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 std::vector< int > const & | 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 | |
| int | _nvert_e |
| number of vertices per element | |
| int | _ndof_e |
| degrees of freedom (d.o.f.) per element | |
| int | _nnode |
| number nodes/vertices | |
| int | _ndim |
| space dimension of the problem (1, 2, or 3) | |
| std::vector< int > | _ia |
| element connectivity | |
| std::vector< double > | _xc |
| coordinates | |
| std::vector< int > | _bedges |
| boundary edges [nbedges][2] storing start/end vertex | |
| std::vector< int > | _sdedges |
| boundary edges [nbedges][2] with left/right subdomain number | |
| int | _nedge |
| number of edges in mesh | |
| int | _nedge_e |
| number of edges per element | |
| std::vector< int > | _edges |
| edges of mesh (vertices ordered ascending) | |
| std::vector< int > | _ea |
| edge based element connectivity | |
| std::vector< int > | _ebedges |
| boundary edges [nbedges] | |
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 | |
|
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 |
| void Mesh::Visualize | ( | std::vector< double > const & | v | ) | const |
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 |
| void Mesh::Write_ascii_matlab | ( | std::string const & | fname, |
| std::vector< double > const & | v | ||
| ) | const |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |