accu.template
|
#include <geom.h>
Public Member Functions | |
RefinedMesh (Mesh const &cmesh, std::vector< bool > const &ibref) | |
RefinedMesh (Mesh const &cmesh) | |
RefinedMesh (RefinedMesh const &)=delete | |
RefinedMesh & | operator= (RefinedMesh const &)=delete |
virtual | ~RefinedMesh () override |
Mesh | RefineElements (std::vector< bool > const &ibref) |
void | RefineAllElements (int nref=1) |
const std::vector< int > & | GetFathersOfVertices () const override |
Public Member Functions inherited from Mesh | |
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 |
void | Del_EdgeConnectivity () |
Protected Member Functions | |
bool | Check_array_dimensions () const override |
void | PermuteVertices_EdgeBased (std::vector< int > const &old2new) |
Protected Member Functions inherited from Mesh | |
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 |
void | PermuteVertices_EdgeBased (std::vector< int > const &old2new) |
Private Attributes | |
const std::vector< bool > | _ibref |
refinement info More... | |
int | _nref |
number of regular refinements performed More... | |
std::vector< int > | _vfathers |
stores the 2 fathers of each vertex (equal fathers denote original coarse vertex) More... | |
Additional Inherited Members | |
Protected Attributes inherited from Mesh | |
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... | |
RefinedMesh::RefinedMesh | ( | Mesh const & | cmesh, |
std::vector< bool > const & | ibref | ||
) |
Constructs a refined mesh according to the marked elements in ibref
.
If the vector ibref
has size 0 then all elements will be refined.
[in] | cmesh | original mesh for coarsening. |
[in] | ibref | vector containing True/False regarding refinement for each element |
|
inlineexplicit |
|
delete |
|
overrideprotectedvirtual |
|
inlineoverridevirtual |
|
delete |
|
protected |
void RefinedMesh::RefineAllElements | ( | int | nref = 1 | ) |
Mesh RefinedMesh::RefineElements | ( | std::vector< bool > const & | ibref | ) |
|
private |
|
private |
|
private |