NiHu  2.0

implementation of fields and field views More...

#include "../util/crtp_base.hpp"
#include "corner_angle.hpp"
#include "element.hpp"
#include "field_dimension.hpp"
Include dependency graph for field.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  NiHu::field_option::isoparametric
 tag to describe an isoparametric field More...
 
struct  NiHu::field_option::constant
 tag to describe a constant field More...
 
struct  NiHu::field_traits::elem_type< Derived >
 assigns the element type to the field More...
 
struct  NiHu::field_traits::nset_type< Derived >
 assigns the N-set type to the field More...
 
struct  NiHu::field_traits::quantity_dimension< Derived >
 assigns the dimensionality of the interpolated physical quantity More...
 
struct  NiHu::field_traits::is_dof_vector_stored< Derived >
 indicate if the field stores its DOF vector or computes it on the fly More...
 
struct  NiHu::field_traits::is_dirac< Derived >
 indicate if the field is a Dirac field or not More...
 
struct  NiHu::field_traits::id< Derived >
 assign a numeric ID to the field More...
 
struct  NiHu::field_traits::dof_vector_type< Derived >
 assign the DOF vector value type to the field type More...
 
struct  NiHu::field_traits::dof_vector_return_type< Derived >
 assign the DOF vector return type to the field type More...
 
struct  NiHu::field_traits::eval_return_type< Derived >
 return type of the eval method More...
 
class  NiHu::field_base< Derived >
 CRTP base class of all fields. More...
 
class  NiHu::field_impl< Derived >
 implementation class of a general field More...
 
class  NiHu::dirac_field< Field >
 dirac view of a field More...
 
struct  NiHu::field_traits::elem_type< dirac_field< Derived > >
 
struct  NiHu::field_traits::nset_type< dirac_field< Derived > >
 
struct  NiHu::field_traits::quantity_dimension< dirac_field< Derived > >
 
struct  NiHu::field_traits::is_dirac< dirac_field< Derived > >
 
class  NiHu::dirac_field< Field >
 dirac view of a field More...
 
class  NiHu::field_view< ElemType, Option, Dimension >
 Field automatically generated from an element using a field generation option. More...
 
struct  NiHu::field_traits::elem_type< field_view< ElemType, FieldOption, Dimension > >
 assign an element type to a field view More...
 
struct  NiHu::field_traits::nset_type< field_view< ElemType, field_option::isoparametric, Dimension > >
 assign an N-set type to a field view More...
 
struct  NiHu::field_traits::nset_type< field_view< ElemType, field_option::constant, Dimension > >
 assign an N-set type to a constant field view More...
 
struct  NiHu::field_traits::quantity_dimension< field_view< ElemType, FieldOption, Dimension > >
 assign the dimension of the interpolated quantity to a field view More...
 
class  NiHu::field_impl< field_view< ElemType, field_option::isoparametric, Dimension > >
 Specialisation of class field_impl for the isoparametric field view case. More...
 
class  NiHu::field_impl< field_view< ElemType, field_option::constant, Dimension > >
 Specialisation of class NiHu::field_impl for the case of a constant field view. More...
 
class  NiHu::field_view< ElemType, Option, Dimension >
 Field automatically generated from an element using a field generation option. More...
 
class  NiHu::field< ElemType, NSet, Dimension >
 field class that stores the dof vector and an element by value More...
 
struct  NiHu::field_traits::elem_type< field< ElemType, NSet, Dimension > >
 assign an element type to a field More...
 
struct  NiHu::field_traits::nset_type< field< ElemType, NSet, Dimension > >
 assign an N-set type to a field More...
 
struct  NiHu::field_traits::quantity_dimension< field< ElemType, NSet, Dimension > >
 assign the dimension of the interpolated quantity to a field More...
 
class  NiHu::field_impl< field< ElemType, NSet, Dimension > >
 the field class that stores the dof vector and the element by value More...
 
class  NiHu::field< ElemType, NSet, Dimension >
 field class that stores the dof vector and an element by value More...
 
class  NiHu::directional_derivative_field< Field >
 field class that computes the directional derivative of a field More...
 
struct  NiHu::field_traits::elem_type< directional_derivative_field< Field > >
 
struct  NiHu::field_traits::nset_type< directional_derivative_field< Field > >
 
struct  NiHu::field_traits::quantity_dimension< directional_derivative_field< Field > >
 
struct  NiHu::field_traits::eval_return_type< directional_derivative_field< Field > >
 
class  NiHu::directional_derivative_field< Field >
 field class that computes the directional derivative of a field More...
 

Namespaces

 NiHu::field_option
 collect options used to convert an element into a field view
 

Functions

template<class Elem , class Option , class Dimension = field_dimension::_1d>
const field_view< Elem, Option, Dimension > & NiHu::create_field_view (element_base< Elem > const &e, Option, Dimension dim=Dimension())
 field view factory
 
template<class Field , class Direction >
directional_derivative_field< Field > NiHu::directional_derivative (field_base< Field > const &field, Eigen::MatrixBase< Direction > const &direction)
 factory function to create a directional derivative field More...
 
template<class Elem , class Dimension = field_dimension::_1d>
const field_view< Elem, field_option::constant, Dimension > & NiHu::constant_view (element_base< Elem > const &e, Dimension dim=Dimension())
 constant field view factory
 
template<class Elem , class Dimension = field_dimension::_1d>
const field_view< Elem, field_option::isoparametric, Dimension > & NiHu::isoparametric_view (element_base< Elem > const &e, Dimension dim=Dimension())
 isoparametric field view factory
 
template<class Field >
const dirac_field< Field > & NiHu::dirac (field_base< Field > const &f)
 dirac field view factory
 

Detailed Description

implementation of fields and field views

Fields are elements extended with a shape set and dof description. Fields can be generated ,,by hand'' or by extending an element with automatic field generation options. This file implements class NiHu::field, class NiHu::field_view and class NiHu::dirac_field. All field-type classes are derived from the CRTP base NiHu::field_base

Definition in file field.hpp.

Function Documentation

◆ directional_derivative()

template<class Field , class Direction >
directional_derivative_field<Field> NiHu::directional_derivative ( field_base< Field > const &  field,
Eigen::MatrixBase< Direction > const &  direction 
)

factory function to create a directional derivative field

Template Parameters
Fieldthe parent field type
Directionthe direction type
Parameters
[in]fieldthe parent field
[in]directionthe derivative direction

Definition at line 604 of file field.hpp.