Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 3 : //* 4 : //* All rights reserved, see COPYRIGHT for full restrictions 5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT 6 : //* 7 : //* Licensed under LGPL 2.1, please see LICENSE for details 8 : //* https://www.gnu.org/licenses/lgpl-2.1.html 9 : 10 : #include "ComputeIncrementalStrainBase.h" 11 : #include "MooseMesh.h" 12 : 13 : InputParameters 14 21352 : ComputeIncrementalStrainBase::validParams() 15 : { 16 21352 : InputParameters params = ComputeStrainBase::validParams(); 17 21352 : return params; 18 : } 19 : 20 16008 : ComputeIncrementalStrainBase::ComputeIncrementalStrainBase(const InputParameters & parameters) 21 : : ComputeStrainBase(parameters), 22 32016 : _grad_disp_old(3), 23 16008 : _strain_rate(declareProperty<RankTwoTensor>(_base_name + "strain_rate")), 24 16008 : _strain_increment(declareProperty<RankTwoTensor>(_base_name + "strain_increment")), 25 16008 : _rotation_increment(declareProperty<RankTwoTensor>(_base_name + "rotation_increment")), 26 16008 : _deformation_gradient(declareProperty<RankTwoTensor>(_base_name + "deformation_gradient")), 27 32016 : _mechanical_strain_old(getMaterialPropertyOld<RankTwoTensor>(_base_name + "mechanical_strain")), 28 32016 : _total_strain_old(getMaterialPropertyOld<RankTwoTensor>(_base_name + "total_strain")), 29 32016 : _eigenstrains_old(_eigenstrain_names.size()) 30 : { 31 18984 : for (unsigned int i = 0; i < _eigenstrains_old.size(); ++i) 32 2976 : _eigenstrains_old[i] = &getMaterialPropertyOld<RankTwoTensor>(_eigenstrain_names[i]); 33 16008 : } 34 : 35 : void 36 14022 : ComputeIncrementalStrainBase::initialSetup() 37 : { 38 14022 : ComputeStrainBase::initialSetup(); 39 56088 : for (unsigned int i = 0; i < 3; ++i) 40 : { 41 42066 : if (_fe_problem.isTransient() && i < _ndisp) 42 39783 : _grad_disp_old[i] = &coupledGradientOld("displacements", i); 43 : else 44 2283 : _grad_disp_old[i] = &_grad_zero; 45 : } 46 14022 : } 47 : 48 : void 49 1232164 : ComputeIncrementalStrainBase::initQpStatefulProperties() 50 : { 51 1232164 : _mechanical_strain[_qp].zero(); 52 1232164 : _total_strain[_qp].zero(); 53 1232164 : _deformation_gradient[_qp].setToIdentity(); 54 1232164 : _rotation_increment[_qp].setToIdentity(); 55 1232164 : } 56 : 57 : void 58 61228522 : ComputeIncrementalStrainBase::subtractEigenstrainIncrementFromStrain(RankTwoTensor & strain) 59 : { 60 65798412 : for (unsigned int i = 0; i < _eigenstrains.size(); ++i) 61 : { 62 4569890 : strain -= (*_eigenstrains[i])[_qp]; 63 4569890 : strain += (*_eigenstrains_old[i])[_qp]; 64 : } 65 61228522 : }