1 /*! 2 * \file mfront/src/DefaultFiniteStrainDSL.cxx 3 * \brief 4 * \author Thomas Helfer 5 * \date 08 nov 2006 6 * \copyright Copyright (C) 2006-2018 CEA/DEN, EDF R&D. All rights 7 * reserved. 8 * This project is publicly released under either the GNU GPL Licence 9 * or the CECILL-A licence. A copy of thoses licences are delivered 10 * with the sources of TFEL. CEA or EDF may also distribute this 11 * project under specific licensing conditions. 12 */ 13 14 #include<string> 15 #include<fstream> 16 #include<stdexcept> 17 18 #include"MFront/AbstractBehaviourInterface.hxx" 19 #include"MFront/BehaviourInterfaceFactory.hxx" 20 #include"MFront/DefaultFiniteStrainDSL.hxx" 21 22 namespace mfront{ 23 DefaultFiniteStrainDSL()24 DefaultFiniteStrainDSL::DefaultFiniteStrainDSL() { 25 this->mb.setDSLName("DefaultFiniteStrain"); 26 this->mb.declareAsAFiniteStrainStandardBehaviour(false); 27 } 28 getDescription()29 std::string DefaultFiniteStrainDSL::getDescription() { 30 return "this parser is the most generic one as it does not make any restriction " 31 "on the behaviour or the integration method that may be used"; 32 } // end of DefaultFiniteStrainDSL::getDescription 33 getName()34 std::string DefaultFiniteStrainDSL::getName() { 35 return "DefaultFiniteStrainDSL"; 36 } 37 writeBehaviourParserSpecificIncludes(std::ostream & os) const38 void DefaultFiniteStrainDSL::writeBehaviourParserSpecificIncludes( 39 std::ostream& os) const { 40 DefaultDSLBase::writeBehaviourParserSpecificIncludes(os); 41 os << "#include\"TFEL/Math/tensor.hxx\"\n"; 42 } // end of DefaultFiniteStrainDSL::writeBehaviourParserSpecificIncludes 43 getBehaviourDSLDescription() const44 BehaviourDSLDescription DefaultFiniteStrainDSL::getBehaviourDSLDescription() const { 45 auto d = mfront::getDefaultFiniteStrainBehaviourDSLDescription(); 46 d.integrationScheme = IntegrationScheme::USERDEFINEDSCHEME; 47 d.typicalCodeBlocks = {BehaviourData::ComputePredictionOperator, 48 BehaviourData::Integrator, 49 BehaviourData::ComputeTangentOperator}; 50 d.minimalMFrontFileBody = "@Integrator{}\n\n"; 51 return d; 52 } // end of DefaultFiniteStrainDSL::getBehaviourDSLDescription 53 54 DefaultFiniteStrainDSL::~DefaultFiniteStrainDSL() = default; 55 56 } // end of namespace mfront 57