getfem  5.4.1
About: The Getfem++ project focuses on the development of a generic and efficient C++ library for finite element methods elementary computations.
  Fossies Dox: getfem-5.4.1.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Mesh

Classes

class  bgeot::mesh_structure
 
class  getfem::mesh
 
struct  getfem::convex_face
 

Typedefs

typedef std::vector< convex_facegetfem::convex_face_ct
 

Functions

const meshgetfem::dummy_mesh ()
 
void APIDECL getfem::extrude (const mesh &in, mesh &out, size_type nb_layers, short_type degree=short_type(1))
 
scalar_type APIDECL getfem::convex_area_estimate (bgeot::pgeometric_trans pgt, const base_matrix &pts, pintegration_method pim)
 
scalar_type APIDECL getfem::convex_quality_estimate (bgeot::pgeometric_trans pgt, const base_matrix &pts)
 
scalar_type APIDECL getfem::convex_radius_estimate (bgeot::pgeometric_trans pgt, const base_matrix &pts)
 
void APIDECL getfem::outer_faces_of_mesh (const mesh &m, const dal::bit_vector &cvlst, convex_face_ct &flist)
 
void getfem::outer_faces_of_mesh (const mesh &m, convex_face_ct &flist)
 
void APIDECL getfem::outer_faces_of_mesh (const mesh &m, const mesh_region &cvlst, mesh_region &flist)
 
void APIDECL getfem::outer_faces_of_mesh (const mesh &m, mesh_region &flist)
 
mesh_region APIDECL getfem::outer_faces_of_mesh (const mesh &m)
 
mesh_region APIDECL getfem::inner_faces_of_mesh (const mesh &m, const mesh_region &mr=mesh_region::all_convexes())
 
mesh_region APIDECL getfem::all_faces_of_mesh (const mesh &m, const mesh_region &mr=mesh_region::all_convexes())
 
mesh_region APIDECL getfem::select_faces_of_normal (const mesh &m, const mesh_region &mr, const base_small_vector &V, scalar_type angle)
 
mesh_region APIDECL getfem::select_faces_in_box (const mesh &m, const mesh_region &mr, const base_node &pt1, const base_node &pt2)
 
mesh_region APIDECL getfem::select_faces_in_ball (const mesh &m, const mesh_region &mr, const base_node &center, scalar_type radius)
 
mesh_region APIDECL getfem::select_convexes_in_box (const mesh &m, const mesh_region &mr, const base_node &pt1, const base_node &pt2)
 
mesh_region APIDECL getfem::select_convexes_in_box (const mesh &m, const base_node &pt1, const base_node &pt2)
 
void getfem::mesh::add_face_to_set (size_type s, size_type c, short_type f) IS_DEPRECATED
 
template<class ITER >
size_type getfem::mesh::add_convex_by_points (bgeot::pgeometric_trans pgt, ITER ipts, const scalar_type tol=scalar_type(0))
 
template<class ITER >
size_type getfem::mesh::add_simplex_by_points (dim_type dim, ITER ipts)
 
template<class ITER >
size_type getfem::mesh::add_parallelepiped (dim_type di, const ITER &ipts)
 
template<class ITER >
size_type getfem::mesh::add_parallelepiped_by_points (dim_type di, const ITER &ps)
 
template<class ITER >
size_type getfem::mesh::add_prism (dim_type di, const ITER &ipts)
 
template<class ITER >
size_type getfem::mesh::add_prism_by_points (dim_type di, const ITER &ps)
 

Detailed Description

Typedef Documentation

◆ convex_face_ct

typedef std::vector<convex_face> getfem::convex_face_ct

Definition at line 611 of file getfem_mesh.h.

Function Documentation

◆ add_convex_by_points()

template<class ITER >
size_type getfem::mesh::add_convex_by_points ( bgeot::pgeometric_trans  pgt,
ITER  ipts,
const scalar_type  tol = scalar_type(0) 
)

Add a convex to the mesh, given a geometric transformation and a list of point coordinates.

As a side-effect, the points are also added to the mesh (if they were not already in the mesh).

Parameters
pgtthe geometric transformation of the convex.
iptsan iterator on a set of getfem::base_node.
Returns
the number of the new convex.

Definition at line 558 of file getfem_mesh.h.

References getfem::mesh::add_convex(), bgeot::basic_mesh::add_point(), and i.

Referenced by getfem::mesh::add_parallelepiped_by_points(), getfem::mesh::add_prism_by_points(), getfem::mesh::add_simplex_by_points(), getfem::mesh::Bank_test_and_refine_convex(), cartesian_mesh(), getfem::mesh_level_set::cut_element(), gf_mesh_set(), elastostatic_contact_problem::init(), and regular_simplices_mesh().

◆ add_face_to_set()

void APIDECL getfem::mesh::add_face_to_set ( size_type  s,
size_type  c,
short_type  f 
)
inline

Definition at line 547 of file getfem_mesh.h.

References getfem::mesh_region::add(), c, getfem::mesh::region(), and s.

◆ add_parallelepiped()

template<class ITER >
size_type getfem::mesh::add_parallelepiped ( dim_type  di,
const ITER ipts 
)

Add a parallelepiped to the mesh.

Parameters
didimension of the parallelepiped
iptsiterator on the list of point id.
Returns
the number of the new convex.

Definition at line 572 of file getfem_mesh.h.

References getfem::mesh::add_convex(), and bgeot::parallelepiped_geotrans().

◆ add_parallelepiped_by_points()

template<class ITER >
size_type getfem::mesh::add_parallelepiped_by_points ( dim_type  di,
const ITER ps 
)

Add a parallelepiped to the mesh.

Parameters
didimension of the parallelepiped
psiterator on the list of point coordinates.
Returns
the number of the new convex.

Definition at line 576 of file getfem_mesh.h.

References getfem::mesh::add_convex_by_points(), and bgeot::parallelepiped_geotrans().

◆ add_prism()

template<class ITER >
size_type getfem::mesh::add_prism ( dim_type  di,
const ITER ipts 
)

Add a prism to the mesh.

Parameters
didimension of the prism
iptsiterator on the list of point id.
Returns
the number of the new convex.

Definition at line 581 of file getfem_mesh.h.

References getfem::mesh::add_convex(), and bgeot::prism_geotrans().

◆ add_prism_by_points()

template<class ITER >
size_type getfem::mesh::add_prism_by_points ( dim_type  di,
const ITER ps 
)

Add a prism to the mesh.

Parameters
didimension of the prism
psiterator on the list of point coordinates.
Returns
the number of the new convex.

Definition at line 585 of file getfem_mesh.h.

References getfem::mesh::add_convex_by_points(), and bgeot::prism_geotrans().

Referenced by getfem::parallelepiped_regular_prism_mesh_().

◆ add_simplex_by_points()

template<class ITER >
size_type getfem::mesh::add_simplex_by_points ( dim_type  di,
ITER  ipts 
)

Add a simplex to the mesh, given its dimension and point coordinates.

See also
add_convex_by_points.

Definition at line 568 of file getfem_mesh.h.

References getfem::mesh::add_convex_by_points(), and bgeot::simplex_geotrans().

◆ all_faces_of_mesh()

mesh_region getfem::all_faces_of_mesh ( const mesh m,
const mesh_region mr = mesh_region::all_convexes() 
)

Select all the faces of the given mesh region. The faces are represented* twice if they are shared by two neighbor elements.

Definition at line 858 of file getfem_mesh.cc.

References getfem::mesh_region::add(), getfem::mesh_region::error_if_not_convexes(), getfem::mesh_region::from_mesh(), i, and m.

Referenced by all_faces().

◆ convex_area_estimate()

scalar_type getfem::convex_area_estimate ( bgeot::pgeometric_trans  pgt,
const base_matrix &  G,
pintegration_method  pi 
)

rough estimate of the convex area.

Parameters
pgtthe geometric transformation.
ptsthe convex nodes.
paithe approximate integration used for the computation of the convex area.

Definition at line 745 of file getfem_mesh.cc.

References G, bgeot::geotrans_precomp(), getfem::get_approx_im_or_fail(), i, bgeot::geotrans_interpolation_context::J(), and bgeot::geotrans_interpolation_context::set_ii().

Referenced by getfem::mesh::convex_area_estimate(), and getfem::select_dofs_from_im().

◆ convex_quality_estimate()

scalar_type getfem::convex_quality_estimate ( bgeot::pgeometric_trans  pgt,
const base_matrix &  G 
)

rough estimate of the maximum value of the condition number of the jacobian of the geometric transformation

Definition at line 772 of file getfem_mesh.cc.

References bgeot::basic_structure(), gmm::condition_number(), getfem::equilateral_to_GT_PK_grad(), G, bgeot::geotrans_precomp(), max, gmm::mult(), N, P, q, and bgeot::simplex_structure().

Referenced by getfem::mesh::convex_quality_estimate().

◆ convex_radius_estimate()

scalar_type getfem::convex_radius_estimate ( bgeot::pgeometric_trans  pgt,
const base_matrix &  G 
)

rough estimate of the radius of the convex using the largest eigenvalue of the jacobian of the geometric transformation

Definition at line 798 of file getfem_mesh.cc.

References gmm::condition_number(), G, bgeot::geotrans_precomp(), max, gmm::mult(), N, q, gmm::sqrt(), and gmm::transposed().

Referenced by getfem::mesh::convex_radius_estimate(), getfem::torus_mesh::convex_radius_estimate(), and getfem::ga_exec().

◆ dummy_mesh()

◆ extrude()

◆ inner_faces_of_mesh()

mesh_region getfem::inner_faces_of_mesh ( const mesh m,
const mesh_region mr = mesh_region::all_convexes() 
)

Select all the faces sharing at least two element of the given mesh region. Each face is represented only once and is arbitrarily chosen between the two neighbor elements.

Definition at line 877 of file getfem_mesh.cc.

References getfem::mesh_region::add(), getfem::mesh_region::error_if_not_convexes(), getfem::mesh_region::from_mesh(), i, getfem::mesh_region::is_in(), j, m, and gmm::ok().

Referenced by getfem::error_estimate(), and inner_faces().

◆ outer_faces_of_mesh() [1/5]

mesh_region APIDECL getfem::outer_faces_of_mesh ( const mesh m)
inline

Definition at line 643 of file getfem_mesh.h.

References m, and getfem::outer_faces_of_mesh().

◆ outer_faces_of_mesh() [2/5]

◆ outer_faces_of_mesh() [3/5]

void getfem::outer_faces_of_mesh ( const mesh m,
const mesh_region cvlst,
mesh_region flist 
)

Definition at line 837 of file getfem_mesh.cc.

References getfem::mesh_region::add(), cvlst, i, and m.

◆ outer_faces_of_mesh() [4/5]

void getfem::outer_faces_of_mesh ( const mesh m,
convex_face_ct flist 
)
inline

Definition at line 633 of file getfem_mesh.h.

References m, and getfem::outer_faces_of_mesh().

◆ outer_faces_of_mesh() [5/5]

void APIDECL getfem::outer_faces_of_mesh ( const mesh m,
mesh_region flist 
)
inline

Definition at line 639 of file getfem_mesh.h.

References m, and getfem::outer_faces_of_mesh().

◆ select_convexes_in_box() [1/2]

mesh_region APIDECL getfem::select_convexes_in_box ( const mesh m,
const base_node &  pt1,
const base_node &  pt2 
)
inline

Definition at line 695 of file getfem_mesh.h.

References m, and getfem::select_convexes_in_box().

◆ select_convexes_in_box() [2/2]

mesh_region getfem::select_convexes_in_box ( const mesh m,
const mesh_region mr,
const base_node &  pt1,
const base_node &  pt2 
)

Definition at line 984 of file getfem_mesh.cc.

References getfem::mesh_region::add(), GMM_ASSERT1, i, j, m, and N.

Referenced by getfem::select_convexes_in_box().

◆ select_faces_in_ball()

mesh_region getfem::select_faces_in_ball ( const mesh m,
const mesh_region mr,
const base_node &  center,
scalar_type  radius 
)

Select in the region mr the faces of the mesh m lying entirely in the ball delimated by pt1 and radius.

Definition at line 960 of file getfem_mesh.cc.

References getfem::mesh_region::add(), gmm::tab_ref_index_ref< ITER, ITER_INDEX >::begin(), gmm::tab_ref_index_ref< ITER, ITER_INDEX >::end(), GMM_ASSERT1, i, j, m, N, radius(), and gmm::sqrt().

◆ select_faces_in_box()

mesh_region getfem::select_faces_in_box ( const mesh m,
const mesh_region mr,
const base_node &  pt1,
const base_node &  pt2 
)

Select in the region mr the faces of the mesh m lying entirely in the box delimated by pt1 and pt2.

Definition at line 937 of file getfem_mesh.cc.

References getfem::mesh_region::add(), gmm::tab_ref_index_ref< ITER, ITER_INDEX >::begin(), gmm::tab_ref_index_ref< ITER, ITER_INDEX >::end(), GMM_ASSERT1, i, j, m, and N.

◆ select_faces_of_normal()

mesh_region getfem::select_faces_of_normal ( const mesh m,
const mesh_region mr,
const base_small_vector &  V,
scalar_type  angle 
)

Select in the region mr the faces of the mesh m with their unit outward vector having a maximal angle "angle" with the vector V.

Definition at line 923 of file getfem_mesh.cc.

References getfem::mesh_region::add(), E, i, m, V, gmm::vect_norm2(), and gmm::vect_sp().

Referenced by test_new_assembly().