![]() |
Dune-Fufem 2.11-git
|
Description
Utilities for handling function space bases.
Functions | |
| template<class Range = double, class Vector = std::monostate, class Basis > | |
| void | Dune::Fufem::writeBasis (const Basis &basis, std::string name, int order=-1) |
| Write basis functions as vtk-sequence. | |
| template<class Range = double, class Vector = std::monostate, class Basis , class Constraints > | |
| void | Dune::Fufem::writeBasis (const Basis &basis, std::string name, const Constraints &constraints, int order=-1) |
| Write basis functions of constrained space as vtk-sequence. | |
| template<class IntersectionSet , class Basis , class Vector > requires (Dune::Fufem::Forms::IsBoundaryDomain<IntersectionSet>::value or Dune::Fufem::Forms::IsSkeletonDomain<IntersectionSet>::value) | |
| void | Dune::Fufem::markIntersectionDofs (const IntersectionSet &intersectionSet, const Basis &basis, Vector &vector) |
| For a given basis and intersection set, determine all degrees of freedom on the patch. | |
| template<class GridView , class Basis , class Vector > | |
| void | Dune::Fufem::markBoundaryPatchDofs (const BoundaryPatch< GridView > &boundaryPatch, const Basis &basis, Vector &vector) |
| For a given basis and boundary patch, determine all degrees of freedom on the patch. | |
| template<class Basis , class Vector > | |
| void | Dune::Fufem::markBoundaryDofs (const Basis &basis, Vector &vector) |
| For a given basis determine all degrees of freedom on the boundary. | |
Function Documentation
◆ markBoundaryDofs()
| void Dune::Fufem::markBoundaryDofs | ( | const Basis & | basis, |
| Vector & | vector | ||
| ) |
For a given basis determine all degrees of freedom on the boundary.
Set each entry of the vector to true, that corresponds to a DOF associated to an intersection (or a subentity) contained in the boundary. If the passed vector does not implement the VectorBackend concept, it is automatically wrapped in a Dune::Functions::ISTLVectorBackend.
- Parameters
-
basis Mark DOFS of this basis vector A bit vector corresponding to the basis DOFs
◆ markBoundaryPatchDofs()
| void Dune::Fufem::markBoundaryPatchDofs | ( | const BoundaryPatch< GridView > & | boundaryPatch, |
| const Basis & | basis, | ||
| Vector & | vector | ||
| ) |
For a given basis and boundary patch, determine all degrees of freedom on the patch.
This is an alias for markIntersectionDofs for a BoundaryPatch.
- Parameters
-
boundaryPatch Only mark boundary DOFs associated to intersections in this patch. basis Mark DOFS of this basis vector A bit vector corresponding to the basis DOFs
◆ markIntersectionDofs()
requires (Dune::Fufem::Forms::IsBoundaryDomain<IntersectionSet>::value or Dune::Fufem::Forms::IsSkeletonDomain<IntersectionSet>::value)
| void Dune::Fufem::markIntersectionDofs | ( | const IntersectionSet & | intersectionSet, |
| const Basis & | basis, | ||
| Vector & | vector | ||
| ) |
For a given basis and intersection set, determine all degrees of freedom on the patch.
Set each entry of the vector to true, that corresponds to a DOF associated to an intersection (or a subentity) contained in the given IntersectionSet. If the passed vector does not implement the VectorBackend concept, it is automatically wrapped in a Dune::Functions::ISTLVectorBackend.
- Template Parameters
-
IntersectionSet Type of IntersectionSet. This should satisfy Forms::IsBoundaryDomain or Forms::IsSkeletonDomain. This is e.g. the case for BoundaryPatch and Forms::Boundary.
- Parameters
-
intersectionSet Only mark intersection DOFs associated to intersections in this set. basis Mark DOFS of this basis vector A bit vector corresponding to the basis DOFs
◆ writeBasis() [1/2]
| void Dune::Fufem::writeBasis | ( | const Basis & | basis, |
| std::string | name, | ||
| const Constraints & | constraints, | ||
| int | order = -1 |
||
| ) |
Write basis functions of constrained space as vtk-sequence.
- Template Parameters
-
Range Use this as range type for the basis function (default: double)Vector A suitable vector type for the basis (default: std::monostate)Basis Type of basis to write
- Parameters
-
basis Write basis functions of this basis name File names are generated by sprintf passing a flat index to this format string. constraints An affine constraints object describing the constrained subspace order Write data as polynomials of this order to VTK (default: -1)
If the default Vector=std::monostate is used, the vector is deduced automatically using basis.containerDescriptor(). If the default order=-1 is used, the actual order is deduced to be the maximal polynomial order of all local finite elements. This will apply constraints.interpolate(v) to the coefficient vectors before writing to guarantee that they satisfy the constraints.
◆ writeBasis() [2/2]
| void Dune::Fufem::writeBasis | ( | const Basis & | basis, |
| std::string | name, | ||
| int | order = -1 |
||
| ) |
Write basis functions as vtk-sequence.
- Template Parameters
-
Range Use this as range type for the basis function (default: double)Vector A suitable vector type for the basis (default: std::monostate)Basis Type of basis to write
- Parameters
-
basis Write basis functions of this basis name File names are generated by sprintf passing a flat index to this format string. order Write data as polynomials of this order to VTK (default: -1)
If the default Vector=std::monostate is used, the vector is deduced automatically using basis.containerDescriptor(). If the default order=-1 is used, the actual order is deduced to be the maximal polynomial order of all local finite elements.
