Line data Source code
1 : /****************************************************************/ 2 : /* DO NOT MODIFY THIS HEADER */ 3 : /* BlackBear */ 4 : /* */ 5 : /* (c) 2017 Battelle Energy Alliance, LLC */ 6 : /* ALL RIGHTS RESERVED */ 7 : /* */ 8 : /* Prepared by Battelle Energy Alliance, LLC */ 9 : /* Under Contract No. DE-AC07-05ID14517 */ 10 : /* With the U. S. Department of Energy */ 11 : /* */ 12 : /* See COPYRIGHT for full restrictions */ 13 : /****************************************************************/ 14 : 15 : #include "ConcreteASRMicrocrackingDamage.h" 16 : 17 : registerMooseObject("BlackBearApp", ConcreteASRMicrocrackingDamage); 18 : 19 : InputParameters 20 866 : ConcreteASRMicrocrackingDamage::validParams() 21 : { 22 866 : InputParameters params = ScalarDamageBase::validParams(); 23 866 : params.addClassDescription("Scalar damage model based on ASR extent"); 24 1732 : params.addRequiredRangeCheckedParam<Real>( 25 : "residual_youngs_modulus_fraction", 26 : "residual_youngs_modulus_fraction >= 0.0 & residual_youngs_modulus_fraction <= 1.0", 27 : "Residual fraction of youngs_modulus at full ASR reaction"); 28 866 : return params; 29 0 : } 30 : 31 666 : ConcreteASRMicrocrackingDamage::ConcreteASRMicrocrackingDamage(const InputParameters & parameters) 32 : : ScalarDamageBase(parameters), 33 666 : _beta_e(getParam<Real>("residual_youngs_modulus_fraction")), 34 1998 : _ASR_extent(getMaterialProperty<Real>("ASR_extent")) 35 : { 36 666 : } 37 : 38 : void 39 473516 : ConcreteASRMicrocrackingDamage::updateQpDamageIndex() 40 : { 41 473516 : _damage_index[_qp] = std::max(_damage_index_old[_qp], (1.0 - _beta_e) * _ASR_extent[_qp]); 42 473516 : }