1 /*! 2 * \file mfront/include/MFront/CalculiX/CalculiXTraits.hxx 3 * \brief 4 * 5 * \author Thomas Helfer 6 * \date 13 f�v 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_CALCULIXTRAITS_HXX 16 #define LIB_MFRONT_CALCULIXTRAITS_HXX 17 18 namespace calculix{ 19 20 enum CalculiXBehaviourType{ 21 STANDARDSTRAINBASEDBEHAVIOUR, 22 STANDARDFINITESTRAINBEHAVIOUR 23 }; // end of enum CALCULIXBehaviourType 24 25 enum CalculiXSymmetryType{ 26 ISOTROPIC, 27 ORTHOTROPIC 28 }; // end of enum CalculiXSymmetryType 29 30 template<typename Behaviour> 31 struct CalculiXTraits{ 32 static constexpr CalculiXBehaviourType btype = calculix::STANDARDSTRAINBASEDBEHAVIOUR; 33 // size of the driving variable array (STRAN) 34 static constexpr unsigned short GradientSize = 0u; 35 // size of the thermodynamic force variable array (STESS) 36 static constexpr unsigned short ThermodynamicForceVariableSize = 0u; 37 static constexpr bool requiresStiffnessTensor = false; 38 static constexpr bool requiresUnAlteredStiffnessTensor = true; 39 static constexpr bool requiresThermalExpansionCoefficientTensor = false; 40 static constexpr unsigned short elasticPropertiesOffset = 0u; 41 static constexpr unsigned short thermalExpansionPropertiesOffset = 0u; 42 // Type of the behaviour of the material (isotropic or orthotropic) 43 static constexpr CalculiXSymmetryType type = calculix::ISOTROPIC; 44 // Type of the elastic behaviour of the material (isotropic or orthotropic) 45 static constexpr CalculiXSymmetryType etype = calculix::ISOTROPIC; 46 }; // end of class CALCULIXTraits 47 48 } // end of namespace calculix 49 50 #endif /* LIB_MFRONT_CALCULIXTRAITS_HXX */ 51 52