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 : #pragma once 11 : 12 : #include "Conversion.h" 13 : #include "InputParameters.h" 14 : #include "Material.h" 15 : 16 : /** 17 : * ADSmearedCrackSofteningBase is the base class for a set of models that define the 18 : * softening behavior of a crack under loading in a given direction. 19 : * These models are called by ADComputeSmearedCrackingStress, so they 20 : * must have the compute=false flag set in the parameter list. 21 : */ 22 : class ADSmearedCrackSofteningBase : public Material 23 : { 24 : public: 25 : static InputParameters validParams(); 26 : 27 : ADSmearedCrackSofteningBase(const InputParameters & parameters); 28 : 29 : /** 30 : * Compute the effect of the cracking release model on the stress 31 : * and stiffness in the direction of a single crack. 32 : * @param stress Stress in direction of crack 33 : * @param stiffness_ratio Ratio of damaged to original stiffness 34 : * in cracking direction 35 : * @param strain Strain in the current crack direction 36 : * @param crack_initiation_strain Strain in crack direction when crack 37 : * first initiated 38 : * @param crack_max_strain Maximum strain in crack direction 39 : * @param cracking_stress Threshold tensile stress for crack initiation 40 : * @param youngs_modulus Young's modulus 41 : */ 42 : virtual void computeCrackingRelease(ADReal & stress, 43 : ADReal & stiffness_ratio, 44 : const ADReal & strain, 45 : const ADReal & crack_initiation_strain, 46 : const ADReal & crack_max_strain, 47 : const ADReal & cracking_stress, 48 : const ADReal & youngs_modulus) = 0; 49 : 50 : ///@{ Retained as empty methods to avoid a warning from ADMaterial.C in framework. These methods are unused in all inheriting classes and should not be overwritten. 51 0 : void resetQpProperties() final {} 52 185216 : void resetProperties() final {} 53 : ///@} 54 : };