KASKADE 7 development version
Classes | Namespaces | Functions
tools.hh File Reference
#include <algorithm>
#include <cassert>
#include <cmath>
#include <iostream>
#include <memory>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "fem/barycentric.hh"
#include "fem/lagrangespace.hh"
#include "fem/hierarchicspace.hh"
#include "fem/fetransfer.hh"
#include "utilities/member_variable_macro.hh"
#include "utilities/geometry/geomtools.hh"
#include "utilities/detailed_exception.hh"
#include "utilities/linalg/scalarproducts.hh"

Go to the source code of this file.

Classes

struct  Dune::Capabilities::hasHierarchicIndexSet< Grid >
 
struct  Dune::Capabilities::hasHierarchicIndexSet< const Grid >
 
struct  Kaskade::InterpolationTools::NormalCollection< Scalar_, dim_ >
 Container storing normals together with some additional information. More...
 
struct  Kaskade::InterpolationTools::NormalContainer< Scalar, 2 >
 2D specialization. More...
 
struct  Kaskade::InterpolationTools::NormalContainer< Scalar, 3 >
 3D specilization More...
 
struct  Kaskade::Policy::IgnoreInnerBoundary
 Default policy for inner boundaries. Ignores them. More...
 
struct  Kaskade::Policy::ConsiderInnerBoundary
 Policy for inner boundaries. Considers all of them. More...
 
struct  Kaskade::Policy::SpecifyInnerBoundary< IdVector, skipSpecifiedIds >
 Allows to specify parts of the inner boundary. Inner boundaries are characterized by a change of the material id. More...
 
struct  Kaskade::Policy::IgnoreOuterBoundary
 Default policy for outer boundary. Ignores them. More...
 
struct  Kaskade::Policy::ConsiderOuterBoundary
 Policy for inner boundaries. Considers all of them. More...
 
struct  Kaskade::Policy::SpecifyOuterBoundary< IdVector, skipSpecifiedIds >
 Allows to specify parts of the outer boundary. More...
 
struct  Kaskade::Policy::NoGradientThreshold< Scalar >
 
struct  Kaskade::Policy::ApplyGradientThreshold< Scalar >
 Threshold for feature detection. More...
 
struct  Kaskade::Policy::RelativeDeformation< Scalar >
 
struct  Kaskade::Policy::ConstantDamping< Scalar >
 
struct  Kaskade::Policy::MergedPolicy< Policies >
 
struct  Kaskade::Distance< Interpolation >
 

Namespaces

namespace  Dune
 Necessary information for Dune::GeometryGrid.
 
namespace  Dune::Capabilities
 
namespace  Kaskade
 
 
namespace  Kaskade::InterpolationTools
 
namespace  Kaskade::Policy
 

Functions

template<class Type >
Type Kaskade::InterpolationTools::getMaximumValue (std::vector< Type > const &vec)
 Get maximum value in a vector. More...
 
template<class Type >
bool Kaskade::InterpolationTools::contains (Type const entry, std::vector< Type > const &vec)
 Check if entry is contained in vec. More...
 
template<bool inVertex, class NormalCollection >
void Kaskade::InterpolationTools::computeMeanNormal (NormalCollection &collection)
 
template<class Entity , class GridView >
std::vector< int > Kaskade::InterpolationTools::getGlobalVertexIds (Entity const &entity, GridView const &gridView)
 Get global vertex ids of the entities corners. More...
 
template<class Entity >
std::vector< int > Kaskade::InterpolationTools::getEdgeCornerIdsInEntity (Entity const &entity, int edgeId)
 Get local coordinates of the edges vertices in the codim<0> entity. More...
 
template<class Entity , class GridView >
std::vector< int > Kaskade::InterpolationTools::getGlobalEdgeCornerIds (Entity const &entity, int edgeId, GridView const &gridView)
 Get global indices of the edges vertices. More...
 
template<class NormalCollection , class Vector >
void Kaskade::InterpolationTools::getVertexNormals (std::vector< int > const &vid, NormalCollection const &vertexNormals, std::vector< Vector > &localNormals, typename Vector::field_type const tissueId)
 Get the normals assoicated to the global vertex indices in vid. More...
 
template<class FaceIterator , class Scalar , int dim>
Dune::FieldVector< Scalar, dim+1 > Kaskade::getWeights (FaceIterator &iter, FaceIterator &iend, Dune::FieldVector< Scalar, dim > const &x, std::vector< Dune::FieldVector< Scalar, dim > > &normals)
 
template<class Vector >
Vector::field_type Kaskade::dist (Vector const &point, Vector const &start, Vector const &end)
 
template<class Entity , class Scalar , int dim>
Scalar Kaskade::dist (Entity const &entity, Dune::FieldVector< Scalar, dim > const &x)
 
template<class Scalar >
Scalar Kaskade::invert (Scalar const entry)
 
template<class Scalar >
Scalar Kaskade::invert2 (Scalar const entry)
 
template<class Scalar >
Scalar Kaskade::invert3 (Scalar const entry)
 
template<class Vector >
Vector Kaskade::getLinearWeights (Vector const &weights, typename Vector::field_type(*fun)(typename Vector::field_type const))
 
template<class Vector >
Vector Kaskade::getNormalizedWeights (Vector const &weights, typename Vector::field_type(*fun)(typename Vector::field_type const))
 
template<class GridView , class Entity , class Vector , class Deformation >
Vector Kaskade::interpolateDeformation (GridView const &gridView, Entity const &entity, Vector const &x_local, Deformation const &deformation)
 
template<class Distance , class Cell , class Vector , class Scalar = typename Vector::field_type>
void Kaskade::relaxVertex (Distance const &distance, Cell const &cell, Vector &x, Scalar const &h, Scalar eta=0.3, size_t rad=3)
 
template<class Grid , class Deformation , class Vector , class DeformationPolicy , class DampingPolicy >
bool Kaskade::adjustDampingFactor (Grid &grid, Deformation const &deformation, Vector const &initialVolume, DeformationPolicy const &deformationPolicy, DampingPolicy &dampingPolicy)
 
template<class Grid , class DefFunction , template< class > class AcceptDeformationPolicy = Policy::RelativeDeformation, template< class > class DampingPolicy = Policy::ConstantDamping>
void Kaskade::deformGrid (Grid &grid, DefFunction const &deformation, bool allCells, bool doreset, AcceptDeformationPolicy< typename Grid::ctype > deformationPolicy=AcceptDeformationPolicy< typename Grid::ctype >(), DampingPolicy< typename Grid::ctype > dampingPolicy=DampingPolicy< typename Grid::ctype >())