G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsExpressions.h File Reference

Defines different expressions. More...

+ Include dependency graph for gsExpressions.h:

Go to the source code of this file.

Classes

class  _expr< E, false >
 Base class for all expressions. More...
 
class  asdiag_expr< E >
 
class  asdiag_expr< E >
 
class  constMat_expr
 
class  exp_expr< E >
 
class  exp_expr< E >
 
class  flat_expr< E >
 
class  gsExprHelper< T >
 
class  gsFeSpace< T >
 
class  gsFeSpace< T >
 
struct  gsFeSpaceData< T >
 Struct containing information for matrix assembly. More...
 
class  gsFeVariable< T >
 
class  gsFeVariable< T >
 
class  idMat_expr
 
class  integral_expr< E >
 
class  integral_expr< E >
 
class  lapl_expr< E >
 
class  matrix_by_space_expr< E1, E2 >
 
class  matrix_by_space_expr_tr< E1, E2 >
 
class  normal_expr< T >
 
class  onormal_expr< T >
 
class  pow_expr< E >
 
class  pow_expr< E >
 
class  ppart_expr< E >
 
class  ppart_expr< E >
 
class  ppartval_expr< E >
 
class  ppartval_expr< E >
 
class  sign_expr< E >
 
class  sign_expr< E >
 
class  tangent_expr< T >
 

Namespaces

 gismo
 The G+Smo namespace, containing all definitions for the library.
 
 gismo::expr
 This namespace contains expressions used for FE computations.
 

Functions

template<class E >
EIGEN_STRONG_INLINE abs_expr< E > abs (const E &u)
 Absolute value.
 
template<class T >
EIGEN_STRONG_INLINE curl_expr< T > curl (const gsFeVariable< T > &u)
 The curl of a finite element variable.
 
template<typename E >
EIGEN_STRONG_INLINE diag_expr
< E > const 
diagonal (E const &u)
 Get diagonal elements of matrix as a vector.
 
template<class T >
EIGEN_STRONG_INLINE dJacG_expr< T > dJac (const gsGeometryMap< T > &G)
 The partial derivatives of the Jacobian matrix of a geometry map.
 
template<class E >
EIGEN_STRONG_INLINE
dJacdc_expr< E > 
dJacdc (const E &u, index_t c)
 The derivative of the jacobian of a geometry map with respect to a coordinate.
 
template<class T >
EIGEN_STRONG_INLINE
fform2nd_expr< T > 
fform2nd (const gsGeometryMap< T > &G)
 The second fundamental form of G.
 
template<typename E >
EIGEN_STRONG_INLINE flat_expr
< E > const 
flat (E const &u)
 Make a matrix 2x2 expression "flat".
 
 GISMO_EXPR_VECTOR_EXPRESSION (norm, norm, 1)
 Eucledian Norm.
 
 GISMO_EXPR_VECTOR_EXPRESSION (sqNorm, squaredNorm, 1)
 Squared Eucledian Norm.
 
 GISMO_EXPR_VECTOR_EXPRESSION (normalized, normalized, 0)
 Normalization of a vector to unit measure.
 
 GISMO_EXPR_VECTOR_EXPRESSION (inv, cramerInverse, 0)
 Inverse of a matrix expression.
 
template<class E >
EIGEN_STRONG_INLINE grad_expr< E > grad (const E &u)
 The gradient of a variable.
 
template<class T >
EIGEN_STRONG_INLINE hess_expr
< gsGeometryMap< T > > 
hess (const gsGeometryMap< T > &u)
 The hessian of a geometry map.
 
template<class T >
EIGEN_STRONG_INLINE hess_expr
< gsFeSolution< T > > 
hess (const gsFeSolution< T > &u)
 The hessian of a solution variable.
 
EIGEN_STRONG_INLINE idMat_expr id (const index_t dim)
 The identity matrix of dimension dim.
 
template<class E >
EIGEN_STRONG_INLINE jac_expr< E > jac (const symbol_expr< E > &u)
 The Jacobian matrix of a FE variable.
 
template<class T >
EIGEN_STRONG_INLINE jac_expr
< gsGeometryMap< T > > 
jac (const gsGeometryMap< T > &G)
 The Jacobian matrix of a geometry map.
 
template<class T >
EIGEN_STRONG_INLINE grad_expr
< gsFeSolution< T > > 
jac (const gsFeSolution< T > &s)
 Jacobian matrix for a solution expression.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE
matrix_by_space_expr< E1, E2 >
const 
matrix_by_space (E1 const &u, E2 const &v)
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE
matrix_by_space_expr_tr< E1,
E2 > const 
matrix_by_space_tr (E1 const &u, E2 const &v)
 
template<class T >
EIGEN_STRONG_INLINE meas_expr< T > meas (const gsGeometryMap< T > &G)
 The measure of a geometry map.
 
template<class T >
EIGEN_STRONG_INLINE nabla_expr< T > nabla (const gsFeVariable< T > &u)
 The nabla ( \(\nabla\)) of a finite element variable.
 
template<class T >
nabla2_expr< T > nabla2 (const gsFeVariable< T > &u)
 The nabla2 ( \(\nabla^2\)) of a finite element variable.
 
template<class T >
EIGEN_STRONG_INLINE
onormal_expr< T > 
nv (const gsGeometryMap< T > &u)
 The (outer pointing) boundary normal of a geometry map.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE
frprod_expr< E1, E2 > const 
operator% (_expr< E1 > const &u, _expr< E2 > const &v)
 Frobenious product (also known as double dot product) operator for expressions.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE mult_expr
< E1, E2 > const 
operator* (_expr< E1 > const &u, _expr< E2 > const &v)
 Multiplication operator for expressions.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE add_expr
< E1, E2 > const 
operator+ (_expr< E1 > const &u, _expr< E2 > const &v)
 Addition operator for expressions.
 
template<typename E >
EIGEN_STRONG_INLINE add_expr
< E, _expr< typename E::Scalar,
true > > 
operator+ (_expr< E > const &u, const typename E::Scalar v)
 Addition operator for expressions and numbers.
 
template<typename E >
EIGEN_STRONG_INLINE add_expr
< E, _expr< typename E::Scalar,
true > > 
operator+ (const typename E::Scalar v, _expr< E > const &u)
 Addition operator for expressions and numbers.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE sub_expr
< E1, E2 > const 
operator- (_expr< E1 > const &u, _expr< E2 > const &v)
 Subtraction operator for expressions.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE
divide_expr< E1, E2 > const 
operator/ (_expr< E1 > const &u, _expr< E2 > const &v)
 Scalar division operator for expressions.
 
template<typename E >
std::ostream & operator<< (std::ostream &os, const _expr< E > &b)
 Stream operator for expressions.
 
template<typename E >
EIGEN_STRONG_INLINE
replicate_expr< E > const 
replicate (E const &u, index_t n, index_t m=1)
 Replicate an expression.
 
template<typename E >
EIGEN_STRONG_INLINE
reshape_expr< E > const 
reshape (E const &u, index_t n, index_t m)
 Reshape an expression.
 
template<typename E1 , typename E2 >
EIGEN_STRONG_INLINE summ_expr
< E1, E2 > const 
summ (E1 const &u, E2 const &M)
 Matrix-summation operator for expressions.
 
template<class T >
EIGEN_STRONG_INLINE
tangent_expr< T > 
tv (const gsGeometryMap< T > &u)
 The tangent boundary vector of a geometry map in 2D.
 

Detailed Description

Defines different expressions.

This file is part of the G+Smo library.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author(s): A. Mantzaflaris