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 "ConcreteLatentHeat.h" 16 : #include "Material.h" 17 : 18 : registerMooseObject("BlackBearApp", ConcreteLatentHeat); 19 : 20 : InputParameters 21 418 : ConcreteLatentHeat::validParams() 22 : { 23 418 : InputParameters params = TimeDerivative::validParams(); 24 836 : params.addCoupledVar("H", "Relative humididty"); 25 418 : params.addClassDescription("Latent heat term for heat transfer in concrete."); 26 418 : return params; 27 0 : } 28 : 29 220 : ConcreteLatentHeat::ConcreteLatentHeat(const InputParameters & parameters) 30 : : TimeDerivative(parameters), 31 220 : _ca(getMaterialProperty<Real>("heat_absorption_of_water")), 32 220 : _moisture_capacity(nullptr), 33 440 : _H_dot(coupledDot("H")) 34 : { 35 440 : if (hasMaterialProperty<Real>("moisture_capacity")) 36 384 : _moisture_capacity = &getMaterialProperty<Real>("moisture_capacity"); 37 220 : } 38 : 39 : Real 40 2561328 : ConcreteLatentHeat::computeQpResidual() 41 : { 42 : // self accumulation term 43 2561328 : if (_moisture_capacity) 44 1324176 : return -_ca[_qp] * (*_moisture_capacity)[_qp] * _H_dot[_qp] * _test[_i][_qp]; 45 : else 46 1237152 : return -_ca[_qp] * _H_dot[_qp] * _test[_i][_qp]; 47 : } 48 : 49 : Real 50 815584 : ConcreteLatentHeat::computeQpJacobian() 51 : { 52 815584 : return 0.0; 53 : } 54 : 55 : Real 56 807520 : ConcreteLatentHeat::computeQpOffDiagJacobian(unsigned int /*jvar*/) 57 : { 58 807520 : return 0.0; 59 : }