Difference between revisions of "Softening Laws"

From OSUPDOCS
Jump to navigation Jump to search
 
(39 intermediate revisions by the same user not shown)
Line 2: Line 2:
== Introduction ==
== Introduction ==


Softening laws are used in [[Material_Models#Softening_Materials|softening materials]] to determine crack tractions as a function of effective crack opening displacements. Each law defines a normalized function that decays from 1 to 0 as damage develops up to the point of failure. The area under the law (times an associated stress) gives the fracture toughness associated with that law. These laws also control the evolution of one damage parameter. Various [[Material_Models#Softening_Materials|softening materials]] will need two or more softening laws to model all possible types of damage.
Softening laws are used in [[Material_Models#Softening_Materials|softening materials]] to determine crack tractions as a function of effective crack opening displacements (''i.e.'', as a function of the current state of damage). Each law defines a normalized function that starts at 1 for no damage and reaches 0 at the point of failure (or decohesion). Although it is common for softening materials to use laws that monotonically decay from 1 to 0, it is not a thermodynamics requirement (and some available laws rise to a peak before decaying to 0). The unnormalized crack traction is this softening law times its associated strength (entered in a [[Damage Initiation Laws|damage initiation iaws]]). The area under the unnormalized law gives the fracture toughness associated with that law.


Softening laws are currently only available in [[OSParticulas]].
Each softening law also determines the evolution of one damage parameter. Each [[Material_Models#Softening_Materials|softening material]] needs two or more softening laws to model all possible types of damage and evolve their associated damage parameters.


== Normalized Softening Law ==
== Normalized Softening Law ==


The traction during softening is given by σf(δ) where f(δ) is the normalized softening law and σ is some scaling stress provided by the softening material. The toughness associated with the law,  ''G<sub>c</sub>'', is determined by the area under the law times a scaling factor to account for mesh size and the scaling stress σ:
The traction during softening is given by σ*f(δ) where f(δ) is the normalized softening law and σ is an initiation stress provided by the softening material (in its [[Damage Initiation Laws|damage initiation iaws]]). The toughness associated with the law,  ''G<sub>c</sub>'', is determined by the area under the law times a scaling factor to account for mesh size and the initiation stress σ <ref name="dmref"/>:


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>{G}_c  =  {V_p \sigma\over A_c} \int_0^{\delta_{max}}f(\delta)d\delta</math>
<math>{G}_c  =  {V_p \sigma\over A_c} \int_0^{\delta_{max}}f(\delta)d\delta</math>


where  ''V<sub>p</sub>'' is particle volume, ''A<sub>c</sub>'' is area of the initiated crack within the particle domain, and δ<sub>max</sub> is the critical cracking strain for failure (of for when the traction drops to zero). To define a scaling law, we define a scaling factor
where  ''V<sub>p</sub>'' is particle volume, ''A<sub>c</sub>'' is area of the initiated crack within the particle domain, and δ<sub>max</sub> is the critical cracking strain for failure (or for δ when the traction drops to zero). To fully define a softening law, we define a scaling factor


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>s  =  {A_c \over V_p \sigma} </math>
<math>s  =  {A_c \over V_p \sigma} </math>


The softening material calculates ''s'' whenever softening law response is needed. All the softening law needs to evaulate is the normalized function value, f(δ,s), and the area under that law up to δ minus area under a linear return to the origin or:
The softening material calculates ''s'' whenever softening law response is needed. All the softening law needs to evaluate is the normalized function value, f(δ,s), and the area under that law up to δ minus area under a linear return to the origin or:


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>A(\delta,s)  =  \int_0^{\delta}f(\delta,s)d\delta - {1\over2}\delta f(\delta,s)</math>
<math>\Omega(\delta,s)  =  \int_0^{\delta}f(\delta,s)d\delta - {1\over2}\delta f(\delta,s)</math>


Each softening law requires ''G<sub>c</sub>'' and possibly other parameters to define the law's functional form. The laws do not need to be provided δ<sub>max</sub> because it can be calculated from the law shape, ''s'', and ''G<sub>c</sub>'' from total area under the law. Furthermore, δ<sub>max</sub> depends on mesh size while ''G<sub>c</sub>'' is a material property for damage.
Each softening law requires ''G<sub>c</sub>'' and possibly other parameters to define the law's functional form. The laws do not need provide δ<sub>max</sub> because it can be calculated from the law shape, ''s'', ''G<sub>c</sub>'', and possible other parameters be solving
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>s{G}_c = \Omega(\delta_{max},s)  =  \int_0^{\delta_{max}}f(\delta,s)d\delta</math>
 
for δ<sub>max</sub>. The reason for this approach as that δ<sub>max</sub> is not a material property, but rather depends on mesh size. In contrast, ''G<sub>c</sub>'' is treated as a material property for damage (although it may have some mesh dependencies as well).


=== Law Stability ===
=== Law Stability ===
Line 29: Line 34:
For damage propagation to always make physical sense, damage cracking strain must increase whenever the associated applied strain is increasing and is causing damage. This stability condition requires:
For damage propagation to always make physical sense, damage cracking strain must increase whenever the associated applied strain is increasing and is causing damage. This stability condition requires:


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>\max\bigl(-f'(\delta,s)\bigr) < {1\over \varepsilon_0}</math>
<math>\max\bigl(-f'(\delta,s)\bigr) < {1\over \varepsilon_0}</math>


or maximum slope of the softening law is less then one over strain to initiate that damage process. In general, the maximum slope will be proportional to particle size. Thus, it is always possible to get stable softening laws by high enough resolution (or small enough particle size). The need for high resolution is most common for brittle materials.
which translates into maximum particle size of
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>\Delta x \le \eta \frac{G_c}{\sigma_0\varepsilon_0} = \eta\left(\frac{K_c}{\sigma_0}\right)^2 \qquad{\rm where} \qquad
        \eta = \frac{1}{sG_c\max\bigl(-f'(\delta,s)\bigr)}</math>
 
is a softening-law-dependent stability factor, <math>\sigma_0</math> and <math>\varepsilon_0</matH> are [[Damage Initiation Laws|damage initiation properties]], and <math>K_c</math> is the corresponding stress-intensity factor toughness. It is always possible to get stable results by high enough resolution (or small enough particle size). The need for high resolution is most common for brittle materials (low <math>G_c</math> with high <math>\sigma_0\varepsilon_0</math>). The most stable softening law is [[Linear Softening]] for which <math>\eta=2</math>.


== Softening Laws ==
== Softening Laws ==
Line 39: Line 51:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Name !! ID !! Description
! Name !! ID !! Description !! Stability <math>\eta</math>
|-
|-
| [[Linear Softening|Linear]] || 1 || Linear softening law.
| [[Linear Softening|Linear]] || 1 || Linear softening law || 2
|-
|-
| [[Exponential Softening|Exponential]] || 2 || Exponential softening law.
| [[Exponential Softening|Exponential]] || 2 || Exponential softening law || 1
|-
|-
| [[Cubic Step Function Softening|CubicStep]] || 3 || Cubic step function softening law.
| [[Cubic Step Function Softening|CubicStep]] || 3 || Cubic function softening law || effectively from 0.79 to 4/3
|-
| [[Double Exponential Softening|DoubleExponential]] || 4 || Two exponential softening law || effectively 1 to 1.49
|}
|}


Click each one for more details and information on their properties. After picking the law, all its properties are set using property commands within the [[Material_Models#Softening_Materials|softening material]] definition by prefacing the law property with appropriate codes. For example, to set mode I and mode II toughnesses in an [[Isotropic Softening Material|isotropic softening material]], the properties are entered as I-Gc and II-Gc where I- or II- preface the Gc softening law property.
Click each one for more details and information on their properties. After picking the law, all its properties are set using property commands within the [[Material_Models#Softening_Materials|softening material]] definition by prefacing the law property with appropriate codes. For example, to set mode I and mode II toughnesses in an [[Isotropic Softening Material|isotropic softening material]], the properties are entered as I-Gc and II-Gc where I- or II- preface the Gc softening law property.


=== Softening Law Implementation ===
If needed, it is relatively easy to [[Softening Law Implementation|implement custom softening laws]]. In general, the specific choice of softening law is less important than implied in literature on damage mechanics. Perhaps some problems will arise where the law's details matter. It is possible, for example, that relative mode I and mode II laws will influence mixed-mode failure simulations.
 
It is easy to add new softening laws, although not clear if that change would be much different then using the softening laws already available. As explained in Ref. <ref name="dmref">J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2016), Numerical Implementation of Anisotropic Damage Mechanics, in press.</ref>, the addition of a softening only requires code to return:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>f(\delta,s), \quad f'(\delta,s), \quad A(\delta,s), \quad{\rm and}\quad\max\bigl(-f'(\delta,s)\bigr)</math>
 
One internal calculation is to evolve damage. That calculation can be done from the above softening law properties by solving the discrete differential equation<ref name="dmref"/>
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>d\varepsilon = d\delta +  \varepsilon_0 \bigl(f(\delta+d\delta,s) - f(\delta,s)\bigr)</math>
 
where <math>\delta</math> is a maximum cracking strain associated with strain increment <math>\varepsilon</math>. The task is to solve for <math>d\delta</math> or the increment in cracking strain, which represents the evolution of damage in the current time step.
The generic softening law code solves this equation using Newton's method with bracketing. The initial brackets are:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>d\varepsilon \le d\delta \le d\varepsilon +  \varepsilon_0f(\delta,s)</math>
 
The lower limit is found because the second term is less than or equal to zero for monotonic softening. The upper limit is if failure occurs such that <math>f(\delta+d\delta,s)=0</math>. If <math>d\delta_n</math> is the Newton's method sequence approaching the solution, the next increment by Newton's method is derived to be:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<math>d\delta_{n+1} = d\delta_n - {{d\delta_n-d\varepsilon\over \varepsilon_0f(\delta,s)} + {f(\delta+d\delta_n,s)\over f(\delta,s)}-1\over
{1\over \varepsilon_0f(\delta,s)} +  {f'(\delta+d\delta_n,s)\over f(\delta,s)}}</math>
 
When the next increment is outside the current brackets, a custom bracketing calculation is used to make the solution always stable. Although generic code can solve this differential equation for any softening law with provided properties listed above, some softening laws may have more efficient solutions. For example  [[Linear Softening]] can exactly solve the differential equation without needing Newton's method and  [[Exponential Softening]] can evaluate the ratio terms slightly more efficiently then separate evaluations of the numerators and the denominators. Any new softening laws can override generic functions for Newton's method if they have a more efficient approach.


== References ==
== References ==


<references/>
<references>
<ref name="dmref">J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2017), Numerical Implementation of Anisotropic Damage Mechanics, ''Int. J. for Numerical Methods in Engineering'', '''112'''(12), 1846-1868.</ref>
</references>

Latest revision as of 12:16, 20 July 2021

Introduction

Softening laws are used in softening materials to determine crack tractions as a function of effective crack opening displacements (i.e., as a function of the current state of damage). Each law defines a normalized function that starts at 1 for no damage and reaches 0 at the point of failure (or decohesion). Although it is common for softening materials to use laws that monotonically decay from 1 to 0, it is not a thermodynamics requirement (and some available laws rise to a peak before decaying to 0). The unnormalized crack traction is this softening law times its associated strength (entered in a damage initiation iaws). The area under the unnormalized law gives the fracture toughness associated with that law.

Each softening law also determines the evolution of one damage parameter. Each softening material needs two or more softening laws to model all possible types of damage and evolve their associated damage parameters.

Normalized Softening Law

The traction during softening is given by σ*f(δ) where f(δ) is the normalized softening law and σ is an initiation stress provided by the softening material (in its damage initiation iaws). The toughness associated with the law, Gc, is determined by the area under the law times a scaling factor to account for mesh size and the initiation stress σ [1]:

      [math]\displaystyle{ {G}_c = {V_p \sigma\over A_c} \int_0^{\delta_{max}}f(\delta)d\delta }[/math]

where Vp is particle volume, Ac is area of the initiated crack within the particle domain, and δmax is the critical cracking strain for failure (or for δ when the traction drops to zero). To fully define a softening law, we define a scaling factor

      [math]\displaystyle{ s = {A_c \over V_p \sigma} }[/math]

The softening material calculates s whenever softening law response is needed. All the softening law needs to evaluate is the normalized function value, f(δ,s), and the area under that law up to δ minus area under a linear return to the origin or:

      [math]\displaystyle{ \Omega(\delta,s) = \int_0^{\delta}f(\delta,s)d\delta - {1\over2}\delta f(\delta,s) }[/math]

Each softening law requires Gc and possibly other parameters to define the law's functional form. The laws do not need provide δmax because it can be calculated from the law shape, s, Gc, and possible other parameters be solving

      [math]\displaystyle{ s{G}_c = \Omega(\delta_{max},s) = \int_0^{\delta_{max}}f(\delta,s)d\delta }[/math]

for δmax. The reason for this approach as that δmax is not a material property, but rather depends on mesh size. In contrast, Gc is treated as a material property for damage (although it may have some mesh dependencies as well).

Law Stability

For damage propagation to always make physical sense, damage cracking strain must increase whenever the associated applied strain is increasing and is causing damage. This stability condition requires:

      [math]\displaystyle{ \max\bigl(-f'(\delta,s)\bigr) \lt {1\over \varepsilon_0} }[/math]

which translates into maximum particle size of

      [math]\displaystyle{ \Delta x \le \eta \frac{G_c}{\sigma_0\varepsilon_0} = \eta\left(\frac{K_c}{\sigma_0}\right)^2 \qquad{\rm where} \qquad \eta = \frac{1}{sG_c\max\bigl(-f'(\delta,s)\bigr)} }[/math]

is a softening-law-dependent stability factor, [math]\displaystyle{ \sigma_0 }[/math] and [math]\displaystyle{ \varepsilon_0 }[/math] are damage initiation properties, and [math]\displaystyle{ K_c }[/math] is the corresponding stress-intensity factor toughness. It is always possible to get stable results by high enough resolution (or small enough particle size). The need for high resolution is most common for brittle materials (low [math]\displaystyle{ G_c }[/math] with high [math]\displaystyle{ \sigma_0\varepsilon_0 }[/math]). The most stable softening law is Linear Softening for which [math]\displaystyle{ \eta=2 }[/math].

Softening Laws

You create a softening law using one of "Softening" properties allowed for the selected softening materials. You pick the law by name or ID. The following table lists the available softening laws.

Name ID Description Stability [math]\displaystyle{ \eta }[/math]
Linear 1 Linear softening law 2
Exponential 2 Exponential softening law 1
CubicStep 3 Cubic function softening law effectively from 0.79 to 4/3
DoubleExponential 4 Two exponential softening law effectively 1 to 1.49

Click each one for more details and information on their properties. After picking the law, all its properties are set using property commands within the softening material definition by prefacing the law property with appropriate codes. For example, to set mode I and mode II toughnesses in an isotropic softening material, the properties are entered as I-Gc and II-Gc where I- or II- preface the Gc softening law property.

If needed, it is relatively easy to implement custom softening laws. In general, the specific choice of softening law is less important than implied in literature on damage mechanics. Perhaps some problems will arise where the law's details matter. It is possible, for example, that relative mode I and mode II laws will influence mixed-mode failure simulations.

References

  1. J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2017), Numerical Implementation of Anisotropic Damage Mechanics, Int. J. for Numerical Methods in Engineering, 112(12), 1846-1868.