Flow123d  DF_patch_fe_data_tables-5938e3d
Namespaces | Typedefs | Functions
eigen_tools.hh File Reference

Store finite element data on the actual patch such as shape function values, gradients, Jacobian of the mapping from the reference cell etc. More...

#include "system/asserts.hh"
#include "system/arena_resource.hh"
#include <armadillo>
#include <Eigen/Core>
#include <Eigen/Dense>
#include <unsupported/Eigen/MatrixFunctions>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 eigen_tools
 
 eigen_arena_tools
 

Typedefs

typedef Eigen::Array< double, Eigen::Dynamic, 1 > ArrayDbl
 Definitions of Eigen structures. More...
 
typedef Eigen::Array< uint, Eigen::Dynamic, 1 > ArrayInt
 
typedef Eigen::Vector< ArrayDbl, Eigen::Dynamic > TableDbl
 
typedef Eigen::Vector< ArrayInt, Eigen::Dynamic > TableInt
 

Functions

template<int m, int n>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, m, n > &A)
 Calculates determinant of a rectangular matrix. More...
 
Eigen::Matrix< ArrayDbl, 1, 1 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 1, 2 > &A)
 
Eigen::Matrix< ArrayDbl, 1, 1 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 2, 1 > &A)
 
Eigen::Matrix< ArrayDbl, 1, 1 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 1, 3 > &A)
 
Eigen::Matrix< ArrayDbl, 1, 1 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 3, 1 > &A)
 
Eigen::Matrix< ArrayDbl, 2, 2 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 2, 3 > &A)
 
Eigen::Matrix< ArrayDbl, 2, 2 > eigen_tools::normal_matrix (const Eigen::Matrix< ArrayDbl, 3, 2 > &A)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 1, 1 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 2, 2 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 3, 3 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (FMT_UNUSED const Eigen::Matrix< ArrayDbl, 0, 3 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (FMT_UNUSED const Eigen::Matrix< ArrayDbl, 3, 0 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 1, 2 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 2, 1 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 1, 3 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 3, 1 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 2, 3 > &M)
 
template<>
ArrayDbl eigen_tools::determinant (const Eigen::Matrix< ArrayDbl, 3, 2 > &M)
 
template<int m, int n>
Eigen::Matrix< ArrayDbl, n, m > eigen_tools::inverse (const Eigen::Matrix< ArrayDbl, m, n > &A)
 Calculates inverse of rectangular matrix or pseudoinverse of non-rectangular matrix. More...
 
template<>
Eigen::Matrix< ArrayDbl, 1, 1 > eigen_tools::inverse< 1, 1 > (const Eigen::Matrix< ArrayDbl, 1, 1 > &A)
 
template<>
Eigen::Matrix< ArrayDbl, 2, 2 > eigen_tools::inverse< 2, 2 > (const Eigen::Matrix< ArrayDbl, 2, 2 > &A)
 
template<>
Eigen::Matrix< ArrayDbl, 3, 3 > eigen_tools::inverse< 3, 3 > (const Eigen::Matrix< ArrayDbl, 3, 3 > &A)
 
template<>
Eigen::Matrix< ArrayDbl, 2, 1 > eigen_tools::inverse< 1, 2 > (const Eigen::Matrix< ArrayDbl, 1, 2 > &A)
 
template<>
Eigen::Matrix< ArrayDbl, 3, 1 > eigen_tools::inverse< 1, 3 > (const Eigen::Matrix< ArrayDbl, 1, 3 > &A)
 
template<>
Eigen::Matrix< ArrayDbl, 3, 2 > eigen_tools::inverse< 2, 3 > (const Eigen::Matrix< ArrayDbl, 2, 3 > &A)
 
template<class ET >
void eigen_tools::resize_table (typename Eigen::Vector< ET, Eigen::Dynamic > &table, uint size)
 Resize vector of Eigen::Array to given size. More...
 
template<unsigned int spacedim, unsigned int dim>
Eigen::Matrix< ArrayDbl, spacedim, dim > eigen_tools::jacobian (const Eigen::Matrix< ArrayDbl, spacedim, dim+1 > &coords)
 
template<int m, int n>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, m, n > &A)
 Calculates determinant of a rectangular matrix. More...
 
Eigen::Matrix< ArenaVec< double >, 1, 1 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 1, 2 > &A)
 
Eigen::Matrix< ArenaVec< double >, 1, 1 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 2, 1 > &A)
 
Eigen::Matrix< ArenaVec< double >, 1, 1 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 1, 3 > &A)
 
Eigen::Matrix< ArenaVec< double >, 1, 1 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 3, 1 > &A)
 
Eigen::Matrix< ArenaVec< double >, 2, 2 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 2, 3 > &A)
 
Eigen::Matrix< ArenaVec< double >, 2, 2 > eigen_arena_tools::normal_matrix (const Eigen::Matrix< ArenaVec< double >, 3, 2 > &A)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 1, 1 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 2, 2 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 3, 3 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (FMT_UNUSED const Eigen::Matrix< ArenaVec< double >, 0, 3 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (FMT_UNUSED const Eigen::Matrix< ArenaVec< double >, 3, 0 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 1, 2 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 2, 1 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 1, 3 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 3, 1 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 2, 3 > &M)
 
template<>
ArenaVec< double > eigen_arena_tools::determinant (const Eigen::Matrix< ArenaVec< double >, 3, 2 > &M)
 
template<int m, int n>
Eigen::Matrix< ArenaVec< double >, n, m > eigen_arena_tools::inverse (const Eigen::Matrix< ArenaVec< double >, m, n > &A)
 Calculates inverse of rectangular matrix or pseudoinverse of non-rectangular matrix. More...
 
template<>
Eigen::Matrix< ArenaVec< double >, 1, 1 > eigen_arena_tools::inverse< 1, 1 > (const Eigen::Matrix< ArenaVec< double >, 1, 1 > &A)
 
template<>
Eigen::Matrix< ArenaVec< double >, 2, 2 > eigen_arena_tools::inverse< 2, 2 > (const Eigen::Matrix< ArenaVec< double >, 2, 2 > &A)
 
template<>
Eigen::Matrix< ArenaVec< double >, 3, 3 > eigen_arena_tools::inverse< 3, 3 > (const Eigen::Matrix< ArenaVec< double >, 3, 3 > &A)
 
template<>
Eigen::Matrix< ArenaVec< double >, 2, 1 > eigen_arena_tools::inverse< 1, 2 > (const Eigen::Matrix< ArenaVec< double >, 1, 2 > &A)
 
template<>
Eigen::Matrix< ArenaVec< double >, 3, 1 > eigen_arena_tools::inverse< 1, 3 > (const Eigen::Matrix< ArenaVec< double >, 1, 3 > &A)
 
template<>
Eigen::Matrix< ArenaVec< double >, 3, 2 > eigen_arena_tools::inverse< 2, 3 > (const Eigen::Matrix< ArenaVec< double >, 2, 3 > &A)
 

Detailed Description

Store finite element data on the actual patch such as shape function values, gradients, Jacobian of the mapping from the reference cell etc.

 * Copyright (C) 2015 Technical University of Liberec. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Author
David Flanderka

Definition in file eigen_tools.hh.

Typedef Documentation

◆ ArrayDbl

typedef Eigen::Array<double,Eigen::Dynamic,1> ArrayDbl

Definitions of Eigen structures.

Definition at line 33 of file eigen_tools.hh.

◆ ArrayInt

typedef Eigen::Array<uint,Eigen::Dynamic,1> ArrayInt

Definition at line 34 of file eigen_tools.hh.

◆ TableDbl

typedef Eigen::Vector<ArrayDbl,Eigen::Dynamic> TableDbl

Definition at line 35 of file eigen_tools.hh.

◆ TableInt

typedef Eigen::Vector<ArrayInt,Eigen::Dynamic> TableInt

Definition at line 36 of file eigen_tools.hh.