37 #ifndef GETFEM_REGULAR_MESHES_H__ 
   38 #define GETFEM_REGULAR_MESHES_H__ 
   56   void parallelepiped_regular_simplex_mesh_(mesh &me, dim_type N,
 
   57     const base_node &org, 
const base_small_vector *ivect, 
const size_type *iref);
 
   59   template<
class ITER1, 
class ITER2>
 
   60     void parallelepiped_regular_simplex_mesh(mesh &me,
 
   62              const base_node &org, ITER1 ivect, ITER2 iref)
 
   64     std::vector<base_small_vector> vect(N);
 
   65     std::copy(ivect, ivect+N, vect.begin());
 
   66     std::vector<size_type> ref(N);
 
   67     std::copy(iref, iref+N, ref.begin());
 
   68     parallelepiped_regular_simplex_mesh_(me, N, org, &(vect[0]),
 
   72   void parallelepiped_regular_prism_mesh_(mesh &me, dim_type N,
 
   73       const base_node &org, 
const base_small_vector *ivect, 
const size_type *iref);
 
   75   template<
class ITER1, 
class ITER2>
 
   76     void parallelepiped_regular_prism_mesh(mesh &me,
 
   78              const base_node &org, ITER1 ivect, ITER2 iref)
 
   80     std::vector<base_small_vector> vect(N);
 
   81     std::copy(ivect, ivect+N, vect.begin());
 
   82     std::vector<size_type> ref(N);
 
   83     std::copy(iref, iref+N, ref.begin());
 
   84     parallelepiped_regular_prism_mesh_(me, N, org, &(vect[0]),
 
   88   void parallelepiped_regular_mesh_(mesh &me, dim_type N,
 
   89     const base_node &org, 
const base_small_vector *ivect, 
const size_type *iref, 
bool linear_gt);
 
   91   template<
class ITER1, 
class ITER2>
 
   92     void parallelepiped_regular_mesh(mesh &me,
 
   94                                      const base_node &org, ITER1 ivect, ITER2 iref, 
bool linear_gt=
false)
 
   96     std::vector<base_small_vector> vect(N);
 
   97     std::copy(ivect, ivect+N, vect.begin());
 
   98     std::vector<size_type> ref(N);
 
   99     std::copy(iref, iref+N, ref.begin());
 
  100     parallelepiped_regular_mesh_(me, N, org, &(vect[0]), &(ref[0]), linear_gt);
 
  103   void parallelepiped_regular_pyramid_mesh_(mesh &me, 
const base_node &org,
 
  104    const base_small_vector *ivect, 
const size_type *iref);
 
  106   template<
class ITER1, 
class ITER2>
 
  107     void parallelepiped_regular_pyramid_mesh(mesh &me,
 
  108                                      const base_node &org, ITER1 ivect, ITER2 iref)
 
  111     std::vector<base_small_vector> vect(N);
 
  112     std::copy(ivect, ivect+N, vect.begin());
 
  113     std::vector<size_type> ref(N);
 
  114     std::copy(iref, iref+N, ref.begin());
 
  115     parallelepiped_regular_pyramid_mesh_(me, org, &(vect[0]), &(ref[0]));
 
Define a getfem::getfem_mesh object.
 
size_t size_type
used as the common size type in the library
 
std::shared_ptr< const bgeot::geometric_trans > pgeometric_trans
pointer type for a geometric transformation
 
GEneric Tool for Finite Element Methods.
 
void regular_mesh(mesh &m, const std::string &st)
Build a regular mesh parametrized by the string st.
 
void regular_ball_mesh(mesh &m, const std::string &st)
Build a regular mesh on a ball, parametrized by the string st.
 
void regular_unit_mesh(mesh &m, std::vector< size_type > nsubdiv, bgeot::pgeometric_trans pgt, bool noised=false)
Build a regular mesh of the unit square/cube/, etc.
 
void regular_ball_shell_mesh(mesh &m, const std::string &st)
Build a regular mesh on a ball shell, parametrized by the string st.