// // Description: storing class for Non Local Damage Gurson Thermo Mechanics // // // Author: <L. Noels>, (C) 2014 // // Copyright: See COPYING file that comes with this distribution // // #include "ipNonLocalDamageGursonThermoMechanics.h" IPNonLocalDamageGursonThermoMechanics::IPNonLocalDamageGursonThermoMechanics() : IPNonLocalPorosity(),_thermalEnergy(0.), _DirreversibleEnergyDT(0.), _ThermoElasticCoupling(0.) {}; IPNonLocalDamageGursonThermoMechanics::IPNonLocalDamageGursonThermoMechanics(const IPNonLocalDamageGursonThermoMechanics &source) : IPNonLocalPorosity(source), _thermalEnergy(source._thermalEnergy), _DirreversibleEnergyDT(0.), _ThermoElasticCoupling(0.) {}; IPNonLocalDamageGursonThermoMechanics::IPNonLocalDamageGursonThermoMechanics(double fVinitial, const J2IsotropicHardening *j2IH, const CLengthLaw *cll, const std::vector<NucleationLaw*> *ipvgdnContainer,const CoalescenceLaw *coaleslaw) :IPNonLocalPorosity(fVinitial,j2IH,cll,ipvgdnContainer,coaleslaw), _thermalEnergy(0.), _DirreversibleEnergyDT(0.), _ThermoElasticCoupling(0.) {}; IPNonLocalDamageGursonThermoMechanics& IPNonLocalDamageGursonThermoMechanics::operator=(const IPVariable &source) { IPNonLocalPorosity::operator=(source); const IPNonLocalDamageGursonThermoMechanics* src = dynamic_cast<const IPNonLocalDamageGursonThermoMechanics*>(&source); if(src) { _DirreversibleEnergyDT = src->_DirreversibleEnergyDT; _ThermoElasticCoupling = src->_ThermoElasticCoupling; _thermalEnergy=src->_thermalEnergy; } return *this; } double IPNonLocalDamageGursonThermoMechanics::defoEnergy() const { return IPNonLocalPorosity::defoEnergy(); } double IPNonLocalDamageGursonThermoMechanics::plasticEnergy() const { return IPNonLocalPorosity::plasticEnergy(); } void IPNonLocalDamageGursonThermoMechanics::restart(){ IPNonLocalPorosity::restart(); restartManager::restart(_thermalEnergy); restartManager::restart(_DirreversibleEnergyDT); restartManager::restart(_ThermoElasticCoupling); }