MarmotTypedefs.h
Go to the documentation of this file.
1 /* ---------------------------------------------------------------------
2  * _
3  * _ __ ___ __ _ _ __ _ __ ___ ___ | |_
4  * | '_ ` _ \ / _` | '__| '_ ` _ \ / _ \| __|
5  * | | | | | | (_| | | | | | | | | (_) | |_
6  * |_| |_| |_|\__,_|_| |_| |_| |_|\___/ \__|
7  *
8  * Unit of Strength of Materials and Structural Analysis
9  * University of Innsbruck,
10  * 2020 - today
11  *
12  * festigkeitslehre@uibk.ac.at
13  *
14  * Matthias Neuner matthias.neuner@uibk.ac.at
15  * Magdalena Schreter magdalena.schreter@uibk.ac.at
16  *
17  * This file is part of the MAteRialMOdellingToolbox (marmot).
18  *
19  * This library is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU Lesser General Public
21  * License as published by the Free Software Foundation; either
22  * version 2.1 of the License, or (at your option) any later version.
23  *
24  * The full text of the license can be found in the file LICENSE.md at
25  * the top level directory of marmot.
26  * ---------------------------------------------------------------------
27  */
28 
29 #pragma once
30 #include "Eigen/Core"
31 #include "Eigen/Dense"
32 #include "unsupported/Eigen/CXX11/Tensor"
33 
34 namespace Marmot {
35  typedef Eigen::Matrix< double, 6, 6 > Matrix6d;
36  typedef Eigen::Matrix< double, 6, 9 > Matrix69d;
37  typedef Eigen::Matrix< double, 9, 9 > Matrix99d;
38  typedef Eigen::Matrix< double, 3, 4 > Matrix34d;
39  typedef Eigen::Map< Matrix6d > mMatrix6d;
40  typedef Eigen::Matrix< double, 3, 3 > Matrix3d;
41 
42  typedef Eigen::Matrix< double, 3, 1 > Vector3d;
43  typedef Eigen::Matrix< double, 6, 1 > Vector6d;
44  typedef Eigen::Matrix< double, 7, 1 > Vector7d;
45  typedef Eigen::Matrix< double, 8, 1 > Vector8d;
46  typedef Eigen::Matrix< double, 9, 1 > Vector9d;
47  typedef Eigen::Matrix< int, 8, 1 > Vector8i;
48  typedef Eigen::Matrix< double, 1, 6 > RowVector6d;
49  typedef Eigen::Map< Vector6d > mVector6d;
50  typedef Eigen::Map< Eigen::VectorXd > mVectorXd;
51  typedef Eigen::Map< const Marmot::Vector6d > mConstVector6d;
52 
53  typedef Eigen::Matrix< double, 3, 6 > Matrix36d;
54  typedef Eigen::Matrix< double, 3, 6 > Matrix36;
55  typedef Eigen::Matrix< double, 6, 3 > Matrix63d;
56  typedef Eigen::Matrix< double, 9, 9 > Matrix9d;
57 
58  // complex matrix definitions
59  typedef std::complex< double > complexDouble;
60  typedef Eigen::Matrix< complexDouble, 6, 1 > Vector6cd;
61 
62  // definitions for dual numbers
63 
64  namespace EigenTensors {
65 
66  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 6, 3, 3 > > Tensor633d;
67  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 2, 2 > > Tensor322d;
68  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 3, 3, 3 > > Tensor3333d;
69  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 3, 3 > > Tensor333d;
70  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 1, 2, 2 > > Tensor122d;
71  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 2, 2, 2 > > Tensor2222d;
72  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 2, 1, 2 > > Tensor2212d;
73  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 1, 2, 2 > > Tensor2122d;
74  typedef Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 1, 1, 2 > > Tensor2112d;
75 
76  } // namespace EigenTensors
77 
78 } // namespace Marmot
Marmot::Matrix34d
Eigen::Matrix< double, 3, 4 > Matrix34d
Definition: MarmotTypedefs.h:38
Marmot::mConstVector6d
Eigen::Map< const Marmot::Vector6d > mConstVector6d
Definition: MarmotTypedefs.h:51
Marmot::EigenTensors::Tensor2122d
Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 1, 2, 2 > > Tensor2122d
Definition: MarmotTypedefs.h:73
Marmot::Vector7d
Eigen::Matrix< double, 7, 1 > Vector7d
Definition: MarmotTypedefs.h:44
Marmot::Vector8d
Eigen::Matrix< double, 8, 1 > Vector8d
Definition: MarmotTypedefs.h:45
Marmot::Matrix9d
Eigen::Matrix< double, 9, 9 > Matrix9d
Definition: MarmotTypedefs.h:56
Marmot::mMatrix6d
Eigen::Map< Matrix6d > mMatrix6d
Definition: MarmotTypedefs.h:39
Marmot::Matrix99d
Eigen::Matrix< double, 9, 9 > Matrix99d
Definition: MarmotTypedefs.h:37
Marmot::Matrix6d
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: MarmotTypedefs.h:35
Marmot::Vector3d
Eigen::Matrix< double, 3, 1 > Vector3d
Definition: MarmotTypedefs.h:42
Marmot::mVector6d
Eigen::Map< Vector6d > mVector6d
Definition: MarmotTypedefs.h:49
Marmot::EigenTensors::Tensor2212d
Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 2, 1, 2 > > Tensor2212d
Definition: MarmotTypedefs.h:72
Marmot::EigenTensors::Tensor2112d
Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 1, 1, 2 > > Tensor2112d
Definition: MarmotTypedefs.h:74
Marmot::Matrix69d
Eigen::Matrix< double, 6, 9 > Matrix69d
Definition: MarmotTypedefs.h:36
Marmot::Matrix3d
Eigen::Matrix< double, 3, 3 > Matrix3d
Definition: MarmotTypedefs.h:40
Marmot::EigenTensors::Tensor3333d
Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 3, 3, 3 > > Tensor3333d
Definition: MarmotTypedefs.h:68
Marmot
This file includes functions needed for calculations with stress and strain tensors written in voigt ...
Definition: MarmotTesting.h:30
Marmot::Vector9d
Eigen::Matrix< double, 9, 1 > Vector9d
Definition: MarmotTypedefs.h:46
Marmot::EigenTensors::Tensor2222d
Eigen::TensorFixedSize< double, Eigen::Sizes< 2, 2, 2, 2 > > Tensor2222d
Definition: MarmotTypedefs.h:71
Marmot::Matrix63d
Eigen::Matrix< double, 6, 3 > Matrix63d
Definition: MarmotTypedefs.h:55
Marmot::Vector8i
Eigen::Matrix< int, 8, 1 > Vector8i
Definition: MarmotTypedefs.h:47
Marmot::Vector6d
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: MarmotTypedefs.h:43
Marmot::complexDouble
std::complex< double > complexDouble
Definition: MarmotTypedefs.h:59
Marmot::EigenTensors::Tensor633d
Eigen::TensorFixedSize< double, Eigen::Sizes< 6, 3, 3 > > Tensor633d
Definition: MarmotTypedefs.h:66
Marmot::EigenTensors::Tensor322d
Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 2, 2 > > Tensor322d
Definition: MarmotTypedefs.h:67
Marmot::RowVector6d
Eigen::Matrix< double, 1, 6 > RowVector6d
Definition: MarmotTypedefs.h:48
Marmot::Vector6cd
Eigen::Matrix< complexDouble, 6, 1 > Vector6cd
Definition: MarmotTypedefs.h:60
Marmot::EigenTensors::Tensor122d
Eigen::TensorFixedSize< double, Eigen::Sizes< 1, 2, 2 > > Tensor122d
Definition: MarmotTypedefs.h:70
Marmot::mVectorXd
Eigen::Map< Eigen::VectorXd > mVectorXd
Definition: MarmotTypedefs.h:50
Marmot::EigenTensors::Tensor333d
Eigen::TensorFixedSize< double, Eigen::Sizes< 3, 3, 3 > > Tensor333d
Definition: MarmotTypedefs.h:69
Marmot::Matrix36d
Eigen::Matrix< double, 3, 6 > Matrix36d
Definition: MarmotTypedefs.h:53
Marmot::Matrix36
Eigen::Matrix< double, 3, 6 > Matrix36
Definition: MarmotTypedefs.h:54