ADLinearElastic.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  *
15  * This file is part of the MAteRialMOdellingToolbox (marmot).
16  *
17  * This library is free software; you can redistribute it and/or
18  * modify it under the terms of the GNU Lesser General Public
19  * License as published by the Free Software Foundation; either
20  * version 2.1 of the License, or (at your option) any later version.
21  *
22  * The full text of the license can be found in the file LICENSE.md at
23  * the top level directory of marmot.
24  * ---------------------------------------------------------------------
25  */
26 
27 #pragma once
29 #include "Marmot/MarmotTypedefs.h"
30 #include "autodiff/forward/dual.hpp"
31 #include <Eigen/src/Core/Map.h>
32 #include <iostream>
33 #include <string>
34 #include <vector>
35 
36 using namespace Marmot;
37 
38 namespace Marmot::Materials {
45  public:
46  using MarmotMaterialHypoElasticAD::MarmotMaterialHypoElasticAD;
47 
48  const double& E;
49  const double& nu;
50 
52 
53  protected:
54  void computeStressAD( autodiff::dual* stress,
55  const autodiff::dual* dStrain,
56  const double* timeOld,
57  const double dT,
58  double& pNewDT );
59 
60  StateView getStateView( const std::string& result ) { return { nullptr, 0 }; };
61 
62  int getNumberOfRequiredStateVars() { return 0; }
63  };
64 } // namespace Marmot::Materials
Marmot::Materials::ADLinearElastic::E
const double & E
Definition: ADLinearElastic.h:48
Marmot::Materials::ADLinearElastic::getStateView
StateView getStateView(const std::string &result)
Definition: ADLinearElastic.h:60
Marmot::Materials::ADLinearElastic::ADLinearElastic
ADLinearElastic(const double *materialProperties, int nMaterialProperties, int materialNumber)
Definition: ADLinearElastic.cpp:18
MarmotTypedefs.h
Marmot::Materials
Definition: MarmotKelvinChain.h:34
Marmot::Materials::ADLinearElastic::getNumberOfRequiredStateVars
int getNumberOfRequiredStateVars()
Definition: ADLinearElastic.h:62
Marmot::Materials::ADLinearElastic
Implementation of a isotropic linear elastic material for 3D stress states using automatic differenti...
Definition: ADLinearElastic.h:44
MarmotMaterialHypoElasticAD.h
Marmot::Materials::ADLinearElastic::nu
const double & nu
Definition: ADLinearElastic.h:49
StateView
Definition: MarmotUtils.h:29
Marmot::Materials::ADLinearElastic::computeStressAD
void computeStressAD(autodiff::dual *stress, const autodiff::dual *dStrain, const double *timeOld, const double dT, double &pNewDT)
Definition: ADLinearElastic.cpp:27
Marmot
This file includes functions needed for calculations with stress and strain tensors written in voigt ...
Definition: MarmotTesting.h:37
MarmotMaterialHypoElasticAD
Definition: MarmotMaterialHypoElasticAD.h:32
MarmotMaterial::materialNumber
const int materialNumber
Definition: MarmotMaterial.h:42
MarmotMaterial::nMaterialProperties
const int nMaterialProperties
Definition: MarmotMaterial.h:36
MarmotMaterial::materialProperties
const double * materialProperties
Definition: MarmotMaterial.h:35