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