HughesWinget.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  *
16  * This file is part of the MAteRialMOdellingToolbox (marmot).
17  *
18  * This library is free software; you can redistribute it and/or
19  * modify it under the terms of the GNU Lesser General Public
20  * License as published by the Free Software Foundation; either
21  * version 2.1 of the License, or (at your option) any later version.
22  *
23  * The full text of the license can be found in the file LICENSE.md at
24  * the top level directory of marmot.
25  * ---------------------------------------------------------------------
26  */
27 
28 #pragma once
29 #include "Marmot/MarmotVoigt.h"
30 
32  class HughesWinget {
33  public:
34  enum Formulation {
36 
37  };
38 
39  HughesWinget( const Eigen::Matrix3d& FOld, const Eigen::Matrix3d& FNew, Formulation formulation );
40 
44 
46  const Eigen::Matrix3d& FInv,
47  const Marmot::Matrix6d& dChauchyDEps );
48  Eigen::Matrix3d compute_dScalar_dF( const Eigen::Matrix3d& FInv, const Marmot::Vector6d& dScalarDEps );
49 
50  private:
56  };
57 } // namespace Marmot::NumericalAlgorithms
Marmot::NumericalAlgorithms::HughesWinget::dR
Eigen::Matrix3d dR
Definition: HughesWinget.h:54
Marmot::NumericalAlgorithms::HughesWinget::HughesWinget
HughesWinget(const Eigen::Matrix3d &FOld, const Eigen::Matrix3d &FNew, Formulation formulation)
Definition: HughesWinget.cpp:8
Marmot::NumericalAlgorithms
Definition: MarmotNumericalDifferentiation.h:34
Marmot::NumericalAlgorithms::HughesWinget::compute_dScalar_dF
Eigen::Matrix3d compute_dScalar_dF(const Eigen::Matrix3d &FInv, const Marmot::Vector6d &dScalarDEps)
Definition: HughesWinget.cpp:82
Marmot::NumericalAlgorithms::HughesWinget::dEps
Marmot::Vector6d dEps
Definition: HughesWinget.h:55
Marmot::Matrix6d
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: MarmotTypedefs.h:35
Marmot::NumericalAlgorithms::HughesWinget::theFormulation
Formulation theFormulation
Definition: HughesWinget.h:51
MarmotVoigt.h
Marmot::NumericalAlgorithms::HughesWinget::l
Eigen::Matrix3d l
Definition: HughesWinget.h:52
Marmot::NumericalAlgorithms::HughesWinget::compute_dS_dF
Marmot::EigenTensors::Tensor633d compute_dS_dF(const Marmot::Vector6d &stress, const Eigen::Matrix3d &FInv, const Marmot::Matrix6d &dChauchyDEps)
Definition: HughesWinget.cpp:39
Marmot::NumericalAlgorithms::HughesWinget::Formulation
Formulation
Definition: HughesWinget.h:34
Marmot::Matrix3d
Eigen::Matrix< double, 3, 3 > Matrix3d
Definition: MarmotTypedefs.h:40
Marmot::Vector6d
Eigen::Matrix< double, 6, 1 > Vector6d
Definition: MarmotTypedefs.h:43
Marmot::EigenTensors::Tensor633d
Eigen::TensorFixedSize< double, Eigen::Sizes< 6, 3, 3 > > Tensor633d
Definition: MarmotTypedefs.h:66
Marmot::NumericalAlgorithms::HughesWinget
Definition: HughesWinget.h:32
Marmot::NumericalAlgorithms::HughesWinget::getRotationIncrement
Eigen::Matrix3d getRotationIncrement()
Definition: HughesWinget.cpp:27
Marmot::NumericalAlgorithms::HughesWinget::rotateTensor
Marmot::Vector6d rotateTensor(const Marmot::Vector6d &tensor)
Definition: HughesWinget.cpp:32
Marmot::NumericalAlgorithms::HughesWinget::getStrainIncrement
Marmot::Vector6d getStrainIncrement()
Definition: HughesWinget.cpp:22
Marmot::NumericalAlgorithms::HughesWinget::AbaqusLike
@ AbaqusLike
Definition: HughesWinget.h:35
Marmot::NumericalAlgorithms::HughesWinget::dOmega
Eigen::Matrix3d dOmega
Definition: HughesWinget.h:53