Difference between revisions of "Softening Laws"
Line 47: | Line 47: | ||
| [[Exponential Softening|Exponential]] || 2 || Exponential softening law. | | [[Exponential Softening|Exponential]] || 2 || Exponential softening law. | ||
|} | |} | ||
=== Softening Law Implementation === | === Softening Law Implementation === | ||
It is relatively easy to write code for new softening laws, if needed. | |||
During simulations, softening materials have to numerically solve the differential equation<ref name="dmref">J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2016), Numerical Implementation of Anisotropic Damage Mechanics, in press.</ref> | During simulations, softening materials have to numerically solve the differential equation<ref name="dmref">J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2016), Numerical Implementation of Anisotropic Damage Mechanics, in press.</ref> | ||
Revision as of 20:17, 3 September 2017
Introduction
Softening laws are used in 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 softening materials will need two or more softening laws to model all possible types of damage.
Softening laws are currently only available in OSParticulas.
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, Gc, is determined by the area under the law times a scaling factor to account for mesh size and the scaling stress σ:
[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 (of for when the traction drops to zero). To define a scaling 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 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:
[math]\displaystyle{ A(\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 to be provided δmax because it can be calculated from the law shape, s, and Gc from total area under the law. Furthermore, δmax depends on mesh size while Gc is a material property for damage.
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]
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.
Softening Laws
You create a softening law using a "Softening" material property within a Material command block. You pick the law by name or ID. After picking the law, all its properties are set using property commands within the same material definition by prefacing the law property with appropriate codes. Refer to each softening material type to learn the softening laws needed, the "Softening" property used to set each law, and the preface used to set law properties.
This table lists the available softening laws. Click each one for more details and information on their properties. Note that when setting softening law properties, the softening material will preface each parameter with a code to determine which law's properties are being set. 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.
Name | ID | Description |
---|---|---|
Linear | 1 | Linear softening law. |
Exponential | 2 | Exponential softening law. |
Softening Law Implementation
It is relatively easy to write code for new softening laws, if needed. During simulations, softening materials have to numerically solve the differential equation[1]
[math]\displaystyle{ {d\delta\over d\varepsilon} = {1\over 1+ \varepsilon_0 f'(\delta,s)} }[/math]
where [math]\displaystyle{ \delta }[/math] is a maximum cracking strain associated with strain increment [math]\displaystyle{ \varepsilon }[/math]. In discrete form, the task is solve for [math]\displaystyle{ d\delta }[/math] in
[math]\displaystyle{ d\varepsilon = d\delta + \varepsilon_0 \bigl(f(\delta+d\delta,s) - f(\delta,s)\bigr) }[/math]
The generic softening law code solves this equation using Newton's method with bracketing. The initial brackets are:
[math]\displaystyle{ 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. The upper limit is if failure occurs such that [math]\displaystyle{ f(\delta+d\delta,s)=0 }[/math]. For any given law, the main code can solve this equation by Newton's method. If [math]\displaystyle{ d\delta_n }[/math] is the sequence approaching the solution, the next increment by Newton's method is derived to be:
[math]\displaystyle{ 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]
Any programmed softening law implements this Newton's method by providing code for [math]\displaystyle{ f(\delta,s) }[/math] and for the two ratios
[math]\displaystyle{ {f(\delta+d\delta,s)\over f(\delta,s)} }[/math] and [math]\displaystyle{ {f'(\delta+d\delta,s)\over f(\delta,s)} }[/math]
A custom bracketing method takes over if [math]\displaystyle{ d\delta_{n+1} }[/math] falls outside the current limits. Some softening laws (such as Linear Softening override the Newton's method because the equation has an analytical solution.
References
- ↑ J. A. Nairn, C. Hammerquist, and Y. E. Aimene (2016), Numerical Implementation of Anisotropic Damage Mechanics, in press.