FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
mapping.hpp
1// FEAT3: Finite Element Analysis Toolbox, Version 3
2// Copyright (C) 2010 by Stefan Turek & the FEAT group
3// FEAT3 is released under the GNU General Public License version 3,
4// see the file 'copyright.txt' in the top level directory for details.
5
6#pragma once
7
8// includes, FEAT
9#include <kernel/trafo/mapping_base.hpp>
10#include <kernel/trafo/isosphere/evaluator.hpp>
11
12namespace FEAT
13{
14 namespace Trafo
15 {
19 namespace IsoSphere
20 {
33 template<typename Mesh_>
34 class Mapping :
35 public MappingBase<Mesh_>
36 {
37 public:
41 typedef Mesh_ MeshType;
43 typedef typename MeshType::VertexSetType::CoordType CoordType;
45 typedef typename MeshType::ShapeType ShapeType;
46
47 // make sure that the mesh is a sub-dimensional mesh
48 static_assert(MeshType::shape_dim < MeshType::world_dim, "mesh must be sub-dimensional for IsoSphere trafo mapping");
49 // only 1D or 2D Simplex meshes are allowed
50 static_assert(MeshType::shape_dim <= 2, "only Simplex<1> and Simplex<2> shapes are allowed (yet)");
51
52 public:
54 template<
55 typename Shape_ = ShapeType,
56 typename CoordType_ = Real>
58 {
59 private:
62
63 public:
66 };
67
68 public:
75 explicit Mapping(MeshType& mesh) :
76 BaseClass(mesh)
77 {
78 }
79 }; // class Mapping<...>
80 } // namespace IsoSphere
81 } // namespace Trafo
82} // namespace FEAT
Iso-Sphere trafo evaluator class template.
Definition: evaluator.hpp:95
Trafo evaluator class template.
Definition: mapping.hpp:58
Trafo::IsoSphere::Evaluator< Mapping, EvalPolicy > Type
evaluator type
Definition: mapping.hpp:65
Trafo::StandardEvalPolicy< Shape_, CoordType_, MeshType::world_dim > EvalPolicy
evaluation policy
Definition: mapping.hpp:61
Iso-Sphere transformation mapping class template.
Definition: mapping.hpp:36
Mapping(MeshType &mesh)
Constructor.
Definition: mapping.hpp:75
MeshType::ShapeType ShapeType
shape type
Definition: mapping.hpp:45
MeshType::VertexSetType::CoordType CoordType
data type
Definition: mapping.hpp:43
MappingBase< Mesh_ > BaseClass
base-class typedef
Definition: mapping.hpp:39
Trafo-Mapping base class.
FEAT namespace.
Definition: adjactor.hpp:12
double Real
Real data type.
Standard evaluation policy class template.
Definition: base.hpp:44