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 "Assembly.h" 11 : #include "CZMComputeLocalTractionBase.h" 12 : 13 : InputParameters 14 272 : CZMComputeLocalTractionBase::validParams() 15 : { 16 272 : InputParameters params = InterfaceMaterial::validParams(); 17 : 18 272 : params.addClassDescription("Base class for implementing cohesive zone constitutive material " 19 : "models that can be formulated using the total displacement jump"); 20 544 : params.addRequiredCoupledVar("displacements", 21 : "The string of displacements suitable for the problem statement"); 22 272 : params.suppressParameter<bool>("use_displaced_mesh"); 23 544 : params.addParam<std::string>("base_name", "Material property base name"); 24 272 : return params; 25 0 : } 26 : 27 126 : CZMComputeLocalTractionBase::CZMComputeLocalTractionBase(const InputParameters & parameters) 28 : : InterfaceMaterial(parameters), 29 262 : _base_name(isParamValid("base_name") && !getParam<std::string>("base_name").empty() 30 126 : ? getParam<std::string>("base_name") + "_" 31 : : ""), 32 252 : _interface_traction(declarePropertyByName<RealVectorValue>(_base_name + "interface_traction")), 33 126 : _dinterface_traction_djump( 34 126 : declarePropertyByName<RankTwoTensor>(_base_name + "dinterface_traction_djump")), 35 126 : _interface_displacement_jump( 36 252 : getMaterialPropertyByName<RealVectorValue>(_base_name + "interface_displacement_jump")) 37 : { 38 126 : } 39 : 40 : void 41 1092 : CZMComputeLocalTractionBase::initQpStatefulProperties() 42 : { 43 1092 : _interface_traction[_qp] = 0; 44 1092 : } 45 : 46 : void 47 54480 : CZMComputeLocalTractionBase::computeQpProperties() 48 : { 49 54480 : computeInterfaceTractionAndDerivatives(); 50 54480 : }