GooseFEM 1.4.1.dev2+g78f16df
Loading...
Searching...
No Matches
Mesh.h File Reference

Generic mesh operations. More...

#include "ElementQuad4.h"
#include "MatrixDiagonal.h"
#include "Vector.h"
#include "assertions.h"
#include "config.h"

Go to the source code of this file.

Classes

class  GooseFEM::Mesh::Renumber
 Renumber indices to lowest possible index. More...
 
class  GooseFEM::Mesh::RegularBase< D >
 CRTP base class for regular meshes. More...
 
class  GooseFEM::Mesh::RegularBase2d< D >
 CRTP base class for regular meshes in 2d. More...
 
class  GooseFEM::Mesh::RegularBase3d< D >
 CRTP base class for regular meshes in 3d. More...
 
class  GooseFEM::Mesh::ManualStitch
 Stitch two mesh objects, specifying overlapping nodes by hand. More...
 
class  GooseFEM::Mesh::Stitch
 Stitch mesh objects, automatically searching for overlapping nodes. More...
 
class  GooseFEM::Mesh::Vstack
 Vertically stack meshes. More...
 
class  GooseFEM::Mesh::Reorder
 Reorder to lowest possible index, in specific order. More...
 

Namespaces

namespace  GooseFEM
 Toolbox to perform finite element computations.
 
namespace  GooseFEM::Mesh
 Generic mesh operations, and simple mesh definitions.
 

Enumerations

enum class  GooseFEM::Mesh::ElementType { GooseFEM::Mesh::Unknown , GooseFEM::Mesh::Quad4 , GooseFEM::Mesh::Hex8 , GooseFEM::Mesh::Tri3 }
 Enumerator for element-types. More...
 

Functions

template<class D >
std::vector< std::vector< size_t > > GooseFEM::Mesh::nodaltyings (const D &dofs)
 List nodal tyings based on DOF-numbers per node.
 
template<class S , class T >
ElementType GooseFEM::Mesh::defaultElementType (const S &coor, const T &conn)
 Extract the element type based on the connectivity.
 
array_type::tensor< size_t, 2 > GooseFEM::Mesh::dofs (size_t nnode, size_t ndim)
 List with DOF-numbers in sequential order.
 
template<class T >
T GooseFEM::Mesh::renumber (const T &dofs)
 Renumber to lowest possible index (see GooseFEM::Mesh::Renumber).
 
template<class S , class T >
array_type::tensor< size_t, 2 > GooseFEM::Mesh::overlapping (const S &coor_a, const T &coor_b, double rtol=1e-5, double atol=1e-8)
 Find overlapping nodes.
 
template<class E >
array_type::tensor< size_t, 1 > GooseFEM::Mesh::coordination (const E &conn)
 Number of elements connected to each node.
 
template<class E >
std::vector< std::vector< size_t > > GooseFEM::Mesh::elem2node (const E &conn, bool sorted=true)
 Elements connected to each node.
 
template<class E , class D >
std::vector< std::vector< size_t > > GooseFEM::Mesh::elem2node (const E &conn, const D &dofs, bool sorted=true)
 Elements connected to each node.
 
template<class D >
std::vector< std::vector< size_t > > GooseFEM::Mesh::node2dof (const D &dofs, bool sorted=true)
 Nodes connected to each DOF.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::edgesize (const C &coor, const E &conn, ElementType type)
 Return size of each element edge.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::edgesize (const C &coor, const E &conn)
 Return size of each element edge.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::centers (const C &coor, const E &conn, ElementType type)
 Coordinates of the center of each element.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::centers (const C &coor, const E &conn)
 Coordinates of the center of each element.
 
template<class T , class C , class E >
array_type::tensor< size_t, 1 > GooseFEM::Mesh::elemmap2nodemap (const T &elem_map, const C &coor, const E &conn, ElementType type)
 Convert an element-map to a node-map.
 
template<class T , class C , class E >
array_type::tensor< size_t, 1 > GooseFEM::Mesh::elemmap2nodemap (const T &elem_map, const C &coor, const E &conn)
 Convert an element-map to a node-map.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::nodal_mass (const C &coor, const E &conn, ElementType type)
 Compute the mass of each node in the mesh.
 
template<class C , class E >
array_type::tensor< double, 2 > GooseFEM::Mesh::nodal_mass (const C &coor, const E &conn)
 Compute the mass of each node in the mesh.
 
template<class C , class E >
array_type::tensor< double, 1 > GooseFEM::Mesh::center_of_gravity (const C &coor, const E &conn, ElementType type)
 Compute the center of gravity of a mesh.
 
template<class C , class E >
array_type::tensor< double, 1 > GooseFEM::Mesh::center_of_gravity (const C &coor, const E &conn)
 Compute the center of gravity of a mesh.
 

Detailed Description

Generic mesh operations.

License: This project is released under the GNU Public License (GPLv3).

Definition in file Mesh.h.