MarmotMaterialHypoElasticAD.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
30 #include "autodiff/forward/dual.hpp"
31 
56 
57 public:
58  using MarmotMaterialMechanical::MarmotMaterialMechanical;
59 
69  void setCharacteristicElementLength( double length );
70 
86  virtual void computeStress( double* stress,
87  double* dStressDDStrain,
88  const double* FOld,
89  const double* FNew,
90  const double* timeOld,
91  const double dT,
92  double& pNewDT ) override;
93 
107  virtual void computeStress( autodiff::dual* stress,
108  const autodiff::dual* dStrain,
109  const double* timeOld,
110  const double dT,
111  double& pNewDT ) = 0;
112 
117  virtual void computePlaneStress( double* stress2D,
118  double* dStress_dStrain2D,
119  const double* dStrain2D,
120  const double* timeOld,
121  const double dT,
122  double& pNewDT );
123 
128  virtual void computeUniaxialStress( double* stress1D,
129  double* dStress_dStrain1D,
130  const double* dStrain,
131  const double* timeOld,
132  const double dT,
133  double& pNewDT );
134 };
MarmotMaterialMechanical.h
MarmotMaterialHypoElasticAD::computeStress
virtual void computeStress(double *stress, double *dStressDDStrain, const double *FOld, const double *FNew, const double *timeOld, const double dT, double &pNewDT) override
Definition: MarmotMaterialHypoElasticAD.cpp:21
MarmotMaterialHypoElasticAD::computeUniaxialStress
virtual void computeUniaxialStress(double *stress1D, double *dStress_dStrain1D, const double *dStrain, const double *timeOld, const double dT, double &pNewDT)
Definition: MarmotMaterialHypoElasticAD.cpp:155
MarmotMaterialHypoElasticAD::computeStress
virtual void computeStress(autodiff::dual *stress, const autodiff::dual *dStrain, const double *timeOld, const double dT, double &pNewDT)=0
MarmotMaterialHypoElasticAD::setCharacteristicElementLength
void setCharacteristicElementLength(double length)
Definition: MarmotMaterialHypoElasticAD.cpp:16
MarmotMaterialHypoElasticAD::computePlaneStress
virtual void computePlaneStress(double *stress2D, double *dStress_dStrain2D, const double *dStrain2D, const double *timeOld, const double dT, double &pNewDT)
Definition: MarmotMaterialHypoElasticAD.cpp:80
MarmotMaterialHypoElasticAD::characteristicElementLength
double characteristicElementLength
Characteristic element length.
Definition: MarmotMaterialHypoElasticAD.h:61
MarmotMaterialMechanical::computePlaneStress
virtual void computePlaneStress(double *stress2D, double *dStress_dF2DNew, const double *FOld2D, const double *FNew2D, const double *timeOld, const double dT, double &pNewDT)
Definition: MarmotMaterialMechanical.cpp:26
MarmotMaterialMechanical::computeUniaxialStress
virtual void computeUniaxialStress(double *stress1D, double *dStress1D_dF1DNew, const double *F1DOld, const double *F1DNew, const double *timeOld, const double dT, double &pNewDT)
Definition: MarmotMaterialMechanical.cpp:106
MarmotMaterialHypoElasticAD
Definition: MarmotMaterialHypoElasticAD.h:55
MarmotMaterialMechanical
Definition: MarmotMaterialMechanical.h:53