1 /*! 2 * \file mfront/include/MFront/Castem/CastemTraits.hxx 3 * \brief 4 * 5 * \author Thomas Helfer 6 * \date 13/02/2007 7 * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights 8 * reserved. 9 * This project is publicly released under either the GNU GPL Licence 10 * or the CECILL-A licence. A copy of thoses licences are delivered 11 * with the sources of TFEL. CEA or EDF may also distribute this 12 * project under specific licensing conditions. 13 */ 14 15 #ifndef LIB_MFRONT_CASTEMTRAITS_HXX 16 #define LIB_MFRONT_CASTEMTRAITS_HXX 17 18 namespace castem{ 19 20 enum CastemBehaviourType{ 21 STANDARDSTRAINBASEDBEHAVIOUR, 22 STANDARDFINITESTRAINBEHAVIOUR, 23 COHESIVEZONEMODEL 24 }; // end of enum CastemBehaviourType 25 26 enum CastemSymmetryType{ 27 ISOTROPIC, 28 ORTHOTROPIC 29 }; // end of enum CastemSymmetryType 30 31 template<typename Behaviour> 32 struct CastemTraits{ 33 static constexpr CastemBehaviourType btype = castem::STANDARDSTRAINBASEDBEHAVIOUR; 34 // size of the driving variable array (STRAN) 35 static constexpr unsigned short GradientSize = 0u; 36 // size of the thermodynamic force variable array (STESS) 37 static constexpr unsigned short ThermodynamicForceVariableSize = 0u; 38 static constexpr bool useTimeSubStepping = false; 39 static constexpr bool doSubSteppingOnInvalidResults = false; 40 static constexpr unsigned short maximumSubStepping = 0u; 41 static constexpr bool requiresStiffnessTensor = false; 42 static constexpr bool requiresThermalExpansionCoefficientTensor = false; 43 static constexpr unsigned short propertiesOffset = 0u; 44 static constexpr unsigned short material_properties_nb = 0u; 45 static constexpr unsigned short internal_variables_nb = 0u; 46 static constexpr CastemSymmetryType stype = castem::ISOTROPIC; 47 }; // end of class CastemTraits 48 49 } // end of namespace castem 50 51 #endif /* LIB_MFRONT_CASTEMTRAITS_HXX */ 52 53