dune-vtk 2.8
|
#include <dune/vtk/gridcreators/lagrangegridcreator.hh>
Classes | |
struct | ElementParametrization |
struct | EntitySet |
class | LocalFunction |
class | LocalParametrization |
Public Types | |
using | Self = LagrangeGridCreator |
using | Super = GridCreatorInterface< GridType, Self > |
using | GlobalCoordinate = typename Super::GlobalCoordinate |
using | Nodes = std::vector< GlobalCoordinate > |
using | Parametrization = std::vector< ElementParametrization > |
using | Element = typename GridType::template Codim< 0 >::Entity |
using | LocalCoordinate = typename Element::Geometry::LocalCoordinate |
using | LocalGeometry = MultiLinearGeometry< typename Element::Geometry::ctype, Element::dimension, Element::dimension > |
template<class F > | |
using | HasParametrizedElements = decltype(std::declval< F >().insertElement(std::declval< GeometryType >(), std::declval< std::vector< unsigned int > const & >(), std::declval< std::function< GlobalCoordinate(LocalCoordinate)> >())) |
using | Grid = GridType |
using | Derived = LagrangeGridCreator< GridType > |
Public Member Functions | |
void | insertVerticesImpl (std::vector< GlobalCoordinate > const &points, std::vector< std::uint64_t > const &) |
Implementation of the interface function insertVertices() More... | |
void | insertElementsImpl (std::vector< std::uint8_t > const &types, std::vector< std::int64_t > const &offsets, std::vector< std::int64_t > const &connectivity) |
Implementation of the interface function insertElements() More... | |
LocalParametrization | localParametrization (unsigned int insertionIndex) const |
Construct an element parametrization. More... | |
LocalParametrization | localParametrization (Element const &element) const |
Construct an element parametrization. More... | |
LocalGeometry | localGeometry (Element const &element) const |
Construct a transformation of local element coordinates. More... | |
int | order (GeometryType type, std::size_t nNodes) const |
Determine lagrange order from number of points. More... | |
int | order (ElementParametrization const &localParam) const |
int | order () const |
Determine lagrange order from number of points from the first element parametrization. More... | |
std::string | name () const |
int | numComponents () const |
Vtk::DataTypes | dataType () const |
EntitySet | entitySet () const |
Dummy function returning a placeholder entityset. More... | |
GlobalCoordinate | operator() (GlobalCoordinate const &) const |
Dummy function returning a placeholder entityset. More... | |
GridFactory< Grid > & | factory () |
Return the associated GridFactory. More... | |
GridFactory< Grid > const & | factory () const |
Return the associated (const) GridFactory. More... | |
void | insertVertices (std::vector< GlobalCoordinate > const &points, std::vector< std::uint64_t > const &point_ids) |
Insert all points as vertices into the factory. More... | |
void | insertElements (std::vector< std::uint8_t > const &types, std::vector< std::int64_t > const &offsets, std::vector< std::int64_t > const &connectivity) |
Create elements based on type and connectivity description. More... | |
void | insertPieces (std::vector< std::string > const &pieces) |
Insert part of a grid stored in file into factory. More... | |
std::unique_ptr< Grid > | createGrid () const |
Construct the actual grid using the GridFactory. More... | |
auto | comm () const |
Return the mpi collective communicator. More... | |
void | insertPiecesImpl (std::vector< std::string > const &) |
Protected Member Functions | |
Derived & | asDerived () |
const Derived & | asDerived () const |
Protected Attributes | |
std::shared_ptr< GridFactory< Grid > > | factory_ |
The grid is created from the first nodes of a cell parametrization, representing the corner vertices. Thus a piecewise "flat" grid is constructed. The parametrization is 1. passed as a local element parametrization to the insertElement()
function of a gridFactory to allow the grid itself to handle the parametrization and 2. is stored internally that can be accessed by using this GridCreator object as a grid function, or by extracting locally the parametrization on each existing grid element after creation of the grid.
So, the LagrangeGridCreator models both, a GridCreator
and a GridFunction
.
|
inherited |
using Dune::Vtk::LagrangeGridCreator< GridType >::Element = typename GridType::template Codim<0>::Entity |
using Dune::Vtk::LagrangeGridCreator< GridType >::GlobalCoordinate = typename Super::GlobalCoordinate |
|
inherited |
using Dune::Vtk::LagrangeGridCreator< GridType >::HasParametrizedElements = decltype(std::declval<F>().insertElement(std::declval<GeometryType>(), std::declval<std::vector<unsigned int> const&>(), std::declval<std::function<GlobalCoordinate(LocalCoordinate)> >())) |
using Dune::Vtk::LagrangeGridCreator< GridType >::LocalCoordinate = typename Element::Geometry::LocalCoordinate |
using Dune::Vtk::LagrangeGridCreator< GridType >::LocalGeometry = MultiLinearGeometry<typename Element::Geometry::ctype,Element::dimension,Element::dimension> |
using Dune::Vtk::LagrangeGridCreator< GridType >::Nodes = std::vector<GlobalCoordinate> |
using Dune::Vtk::LagrangeGridCreator< GridType >::Parametrization = std::vector<ElementParametrization> |
using Dune::Vtk::LagrangeGridCreator< GridType >::Self = LagrangeGridCreator |
using Dune::Vtk::LagrangeGridCreator< GridType >::Super = GridCreatorInterface<GridType, Self> |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
Return the mpi collective communicator.
|
inlineinherited |
Construct the actual grid using the GridFactory.
|
inline |
|
inline |
Dummy function returning a placeholder entityset.
|
inline |
Return the associated GridFactory.
|
inline |
Return the associated (const) GridFactory.
|
inlineinherited |
Create elements based on type and connectivity description.
|
inline |
Implementation of the interface function insertElements()
|
inlineinherited |
Insert part of a grid stored in file into factory.
|
inlineinherited |
|
inlineinherited |
Insert all points as vertices into the factory.
|
inline |
Implementation of the interface function insertVertices()
|
inline |
Construct a transformation of local element coordinates.
An element might have a different local coordinate system than the coordinate system used to defined the element parametrization. Thus coordinate transform of the local parametrization is needed for element-local evaluations. This local geometry transform is obtained by figuring out the permutation of corners in the element corresponding to the inserted corner vertices.
|
inline |
Construct an element parametrization.
The returned LocalParametrization is a mapping GlobalCoordinate(LocalCoordinate)
where LocalCoordinate is w.r.t. the local coordinate system in the passed element and
GlobalCoordinate` a world coordinate in the parametrized grid.
|
inline |
Construct an element parametrization.
The returned LocalParametrization is a mapping GlobalCoordinate(LocalCoordinate)
where LocalCoordinate is w.r.t. the local coordinate system in an element with given
insertionIndex<tt>(defined by the inserted corner vertices) and GlobalCoordinate` a world coordinate in the parametrized grid.
|
inline |
|
inline |
|
inline |
Dummy function returning a placeholder entityset.
|
inline |
Determine lagrange order from number of points from the first element parametrization.
|
inline |
|
inline |
Determine lagrange order from number of points.
|
protectedinherited |