KASKADE 7 development version
Namespaces | Functions
gridGeneration.hh File Reference
#include <boost/math/constants/constants.hpp>
#include <algorithm>
#include <cmath>
#include <memory>
#include <type_traits>
#include <utility>
#include <vector>
#include <dune/common/fvector.hh>
#include "fem/fixdune.hh"
#include "GridGeneration/cube.hh"
#include "utilities/detailed_exception.hh"
#include "utilities/timing.hh"

Go to the source code of this file.

Namespaces

namespace  Kaskade
 
 

Functions

template<class Grid , class Type >
std::unique_ptr< Grid > Kaskade::createGrid (std::vector< Type > const &cubes)
 Extract simplicial grid from list of cubes. More...
 
template<class Grid , class Scalar , int dim, class EdgeLength >
std::unique_ptr< Grid > Kaskade::createCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx, EdgeLength const &dh, bool symmetric=true)
 Creates a uniform simplicial grid on a rectangular or cuboid domain. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createUnitSquare (double dh=1., bool symmetric=true)
 Creates a unit square, filled regularly. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createUnitCube (double dh=1., bool symmetric=true)
 Creates a unit cube. More...
 
template<class Grid , class Scalar >
std::unique_ptr< Grid > Kaskade::createRectangle (Dune::FieldVector< Scalar, 2 > const &x0, Dune::FieldVector< Scalar, 2 > const &dx, Scalar dh, bool symmetric=true)
 Fill rectangle with squares. More...
 
template<class Grid , class Scalar , int dim>
std::unique_ptr< Grid > Kaskade::createLShape (Dune::FieldVector< Scalar, dim > const &x0, Scalar dx, Scalar dy, Dune::FieldVector< Scalar, dim > const &thickness, Scalar dh, bool symmetric=true)
 Fill L-shaped domain with cubes. More...
 
template<class Grid , class Scalar , int dim>
std::unique_ptr< Grid > Kaskade::createTShape (Dune::FieldVector< Scalar, dim > const &x0, Scalar dx, Scalar dy, Dune::FieldVector< Scalar, dim > const &thickness, Scalar dh, bool symmetric=true)
 Fill L-shaped domain with cubes. More...
 
template<class Grid , class Scalar , int dim>
std::unique_ptr< Grid > Kaskade::createTwoLayerCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx1, Dune::FieldVector< Scalar, dim > const &dx2, Dune::FieldVector< Scalar, dim > const &dh1, Scalar dh2, bool symmetric=true)
 
template<class Grid , class Scalar , int dim>
std::unique_ptr< Grid > Kaskade::createTwoLayerCuboid (Dune::FieldVector< Scalar, dim > const &x0, Dune::FieldVector< Scalar, dim > const &dx1, Dune::FieldVector< Scalar, dim > const &dx2, Dune::FieldVector< Scalar, dim > const &dh1, Dune::FieldVector< Scalar, dim > const &dh2, bool symmetric=true)
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createHexahedron ()
 Creates a hexahedron consisting of five tetrahedra. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createOctahedron (Dune::FieldVector< typename Grid::ctype, 3 > extent=Dune::FieldVector< typename Grid::ctype, 3 >(1.0))
 Creates an octahedron consisting of eight tetrahedra. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createIcosahedron ()
 Creates an icosahedron consisting of 20 tetrahedra. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createCylinder (double radius, double height, int layers, int circumEdges=6)
 Creates a cylinder. More...
 
template<class Grid , class Deformation >
std::unique_ptr< Grid > Kaskade::createCylinder (double radius, double height, int layers, int circumEdges, Deformation const &deformation)
 Creates a deformed cylinder. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createPentagon (double radius=1)
 Creates an regular pentagon consisting of five triangles, centered at the origin and with radius r. More...
 
template<class Grid >
std::unique_ptr< Grid > Kaskade::createUshape (double l, double d, double eps)
 Creates an U-shaped domain. More...