1 /*! 2 * \file DDIF2Brick.hxx 3 * \brief 4 * \author Thomas Helfer 5 * \date October,20 2014 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 #ifndef LIB_MFRONT_DDIF2BRICKBEHAVIOURBRICK_HXX 15 #define LIB_MFRONT_DDIF2BRICKBEHAVIOURBRICK_HXX 16 17 #include <memory> 18 #include "MFront/BehaviourBrickBase.hxx" 19 #include "MFront/BehaviourBrick/StressPotential.hxx" 20 21 namespace mfront { 22 23 namespace bbrick { 24 25 // forward declaration 26 struct StressPotential; 27 } 28 29 /*! 30 * This brick provides the DDIF2 damage behaviour as a basis to build complex 31 * behaviours. 32 */ 33 struct DDIF2Brick : public BehaviourBrickBase { 34 /*! 35 * \brief constructor 36 * \param[in] dsl_ : calling domain specific language 37 * \param[in] bd_ : mechanical behaviour description 38 * \param[in] p : parameters 39 * \param[in] d : data 40 */ 41 DDIF2Brick(AbstractBehaviourDSL&, 42 BehaviourDescription&, 43 const Parameters&, 44 const DataMap&); 45 //! \return the name of the brick 46 std::string getName() const override; 47 /*! 48 * \return the list of supported modelling hypotheses. 49 */ 50 std::vector<Hypothesis> getSupportedModellingHypotheses() const override; 51 //! complete the variable description 52 void completeVariableDeclaration() const override; 53 //! method called at the end of the input file processing 54 void endTreatment() const override; 55 //! destructor 56 ~DDIF2Brick() override; 57 58 protected: 59 std::shared_ptr<bbrick::StressPotential> ddif2; 60 }; // end of struct DDIF2Brick 61 62 } // end of namespace mfront 63 64 #endif /* LIB_MFRONT_DDIF2BRICKBEHAVIOURBRICK_H */ 65