From f66a27d5ddc3d19a4d020380bd01c724625a9836 Mon Sep 17 00:00:00 2001 From: Amit Jain Date: Wed, 18 Aug 2021 09:33:11 -0600 Subject: [PATCH] adding damage plasticity model for concrete ref #184 --- doc/content/bib/blackbear.bib | 47 ++ .../media/Return_mapping_flow_chart.png | Bin 0 -> 114214 bytes .../ComputeMultipleInelasticDamageStress.md | 21 + .../materials/DamagePlasticityStressUpdate.md | 346 +++++++++ .../ComputeMultipleInelasticDamageStress.h | 42 ++ .../materials/DamagePlasticityStressUpdate.h | 184 +++++ .../ComputeMultipleInelasticDamageStress.C | 73 ++ src/materials/DamagePlasticityStressUpdate.C | 679 ++++++++++++++++++ test/tests/plastic_damage_model/bi_ten.i | 30 + .../plastic_damage_model/dpm_mesh_model.png | Bin 0 -> 229223 bytes .../plastic_damage_model/dpm_results.png | Bin 0 -> 230874 bytes .../plastic_damage_model/gold/Lee_bi_cmp.csv | 25 + .../plastic_damage_model/gold/Lee_bi_ten.csv | 25 + .../plastic_damage_model/gold/Lee_cyc_shr.csv | 61 ++ .../gold/Lee_cyc_uni_cmp.csv | 47 ++ .../gold/Lee_cyc_uni_ten.csv | 47 ++ .../gold/Lee_cyc_uni_ten_cmp.csv | 61 ++ .../gold/Lee_dila_ap_02.csv | 14 + .../gold/Lee_dila_ap_025.csv | 23 + .../gold/Lee_dila_ap_03.csv | 25 + .../plastic_damage_model/gold/Lee_uni_cmp.csv | 26 + .../plastic_damage_model/gold/Lee_uni_ten.csv | 25 + .../gold/Lee_uni_ten_msh_sen_2_elem.csv | 17 + .../gold/Lee_uni_ten_msh_sen_4_elem.csv | 15 + .../gold/Lee_uni_ten_msh_sen_8_elem.csv | 13 + .../plastic_damage_model/multiaxial1_cmp.i | 283 ++++++++ .../plastic_damage_model/multiaxial1_ten.i | 283 ++++++++ .../plastic_damage_model/multiaxial2_cmp.i | 288 ++++++++ .../plastic_damage_model/multiaxial2_ten.i | 289 ++++++++ .../plastic_damage_model/plotting_SEM.py | 171 +++++ test/tests/plastic_damage_model/shr_cyclic.i | 288 ++++++++ test/tests/plastic_damage_model/uni_cmp.i | 499 +++++++++++++ .../plastic_damage_model/uni_cmp_dila_ap2.i | 499 +++++++++++++ .../plastic_damage_model/uni_cmp_dila_ap25.i | 499 +++++++++++++ .../plastic_damage_model/uni_cmp_dila_ap3.i | 499 +++++++++++++ test/tests/plastic_damage_model/uni_ten.i | 307 ++++++++ .../uni_ten_msh_sen_1ele.i | 299 ++++++++ .../uni_ten_msh_sen_2ele.i | 344 +++++++++ .../uni_ten_msh_sen_4ele.i | 345 +++++++++ 39 files changed, 6739 insertions(+) create mode 100644 doc/content/media/Return_mapping_flow_chart.png create mode 100644 doc/content/source/materials/ComputeMultipleInelasticDamageStress.md create mode 100644 doc/content/source/materials/DamagePlasticityStressUpdate.md create mode 100644 include/materials/ComputeMultipleInelasticDamageStress.h create mode 100644 include/materials/DamagePlasticityStressUpdate.h create mode 100644 src/materials/ComputeMultipleInelasticDamageStress.C create mode 100644 src/materials/DamagePlasticityStressUpdate.C create mode 100644 test/tests/plastic_damage_model/bi_ten.i create mode 100644 test/tests/plastic_damage_model/dpm_mesh_model.png create mode 100644 test/tests/plastic_damage_model/dpm_results.png create mode 100644 test/tests/plastic_damage_model/gold/Lee_bi_cmp.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_bi_ten.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_cyc_shr.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_cyc_uni_cmp.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten_cmp.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_dila_ap_02.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_dila_ap_025.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_dila_ap_03.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_uni_cmp.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_uni_ten.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_2_elem.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_4_elem.csv create mode 100644 test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_8_elem.csv create mode 100644 test/tests/plastic_damage_model/multiaxial1_cmp.i create mode 100644 test/tests/plastic_damage_model/multiaxial1_ten.i create mode 100644 test/tests/plastic_damage_model/multiaxial2_cmp.i create mode 100644 test/tests/plastic_damage_model/multiaxial2_ten.i create mode 100644 test/tests/plastic_damage_model/plotting_SEM.py create mode 100644 test/tests/plastic_damage_model/shr_cyclic.i create mode 100644 test/tests/plastic_damage_model/uni_cmp.i create mode 100644 test/tests/plastic_damage_model/uni_cmp_dila_ap2.i create mode 100644 test/tests/plastic_damage_model/uni_cmp_dila_ap25.i create mode 100644 test/tests/plastic_damage_model/uni_cmp_dila_ap3.i create mode 100644 test/tests/plastic_damage_model/uni_ten.i create mode 100644 test/tests/plastic_damage_model/uni_ten_msh_sen_1ele.i create mode 100644 test/tests/plastic_damage_model/uni_ten_msh_sen_2ele.i create mode 100644 test/tests/plastic_damage_model/uni_ten_msh_sen_4ele.i diff --git a/doc/content/bib/blackbear.bib b/doc/content/bib/blackbear.bib index 29c911b66..f5fa6ac07 100644 --- a/doc/content/bib/blackbear.bib +++ b/doc/content/bib/blackbear.bib @@ -244,3 +244,50 @@ @article{poyet2009temperature year={2009}, publisher={Elsevier} } + + @article{lee1998plastic, + title={Plastic-damage model for cyclic loading of concrete structures}, + author={Lee, Jeeho and Fenves, Gregory L}, + journal={Journal of engineering mechanics}, + volume={124}, + number={8}, + pages={892--900}, + year={1998}, + publisher={American Society of Civil Engineers} +} + +@book{lee1996theory, + title={Theory and implementation of plastic-damage model for concrete structures under cyclic and dynamic loading}, + author={Lee, Jeeho}, + year={1996}, + publisher={University of California, Berkeley} +} + +@article{wilkins2020method, + title = {A method for smoothing multiple yield functions}, + author = {Andy Wilkins and Benjamin W. Spencer and Amit Jain and Bora Gencturk}, + year = {2020}, +journal = {International Journal for Numerical Methods in Engineering}, + volume = {121}, + number = {3}, + pages = {434--449}, + doi = {10.1002/nme.6215} +} + +@article{lubliner1989plastic, + title={A plastic-damage model for concrete}, + author={Lubliner, Jacob and Oliver, Javier and Oller, Sand and Onate, EJIJos}, + journal={International Journal of solids and structures}, + volume={25}, + number={3}, + pages={299--326}, + year={1989}, + publisher={Elsevier} +} + +@article{krabbenhoft2002basic, + title={Basic computational plasticity}, + author={Krabbenh{\o}ft, KRISTIAN}, + journal={University of Denmark}, + year={2002} +} diff --git a/doc/content/media/Return_mapping_flow_chart.png b/doc/content/media/Return_mapping_flow_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..aebf3738979c30f0109c47e8e1dc6cbe8e60cc8c GIT binary patch literal 114214 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�V^hw1f+Wn#H;lm^>c{ADk;we0iJCW3v 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%0Ak`^DmtW`HdWx6lN7=av5=c1SXS=rt|C&jytgV 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/doc/content/source/materials/ComputeMultipleInelasticDamageStress.md b/doc/content/source/materials/ComputeMultipleInelasticDamageStress.md new file mode 100644 index 000000000..2afb96f05 --- /dev/null +++ b/doc/content/source/materials/ComputeMultipleInelasticDamageStress.md @@ -0,0 +1,21 @@ +# Compute Multiple Inelastic Damage Stress + +!syntax description /Materials/ComputeMultipleInelasticDamageStress + +## Description + +`ComputeMultipleInelasticDamageStress` computes the damage stress. + +## Example Input Files + +The input settings for the inelastic material model is as follows + +!listing test/tests/plastic_damage_model/uni_ten.i block=Materials/stress + +!syntax parameters /Materials/ComputeMultipleInelasticDamageStress + +!syntax inputs /Materials/ComputeMultipleInelasticDamageStress + +!syntax children /Materials/ComputeMultipleInelasticDamageStress + +!bibtex bibliography diff --git a/doc/content/source/materials/DamagePlasticityStressUpdate.md b/doc/content/source/materials/DamagePlasticityStressUpdate.md new file mode 100644 index 000000000..689cd4926 --- /dev/null +++ b/doc/content/source/materials/DamagePlasticityStressUpdate.md @@ -0,0 +1,346 @@ +# Damage Plasticity Model + +The [!cite](lee1996theory) model accounts for the independent damage in tension and compression. It also accounts for degradation of the elastic modulus of the concrete as the loading goes beyond yielding in either tension or compression. The model uses the incremental theory of plasticity and decomposes the total strain, $\boldsymbol{\varepsilon}$, into elastic strain, $\boldsymbol{\varepsilon}^{e}$, and plastic strain, $\boldsymbol{\varepsilon}^{p}$, as follows +\begin{equation} + \boldsymbol{\varepsilon} = \boldsymbol{\varepsilon}^{e} + \boldsymbol{\varepsilon}^{p} \label{eps_def} +\end{equation} +where bold symbol represents a vectoral or tensorial quantity. The relation between elastic strain and the stress, $\boldsymbol{\sigma}$, is given by +\begin{equation} + \boldsymbol{\varepsilon}^{e} = \boldsymbol{\mathfrak{E}}^{-1}:\boldsymbol{\sigma} \label{eps_e_def} +\end{equation} +where $\boldsymbol{\mathfrak{E}}$ is the elasticity tensor. Using Eqs. \eqref{eps_def}-\eqref{eps_e_def}, the relation between $\boldsymbol{\sigma}$ and $\boldsymbol{\varepsilon}^{p}$ is expressed as +\begin{equation} + \boldsymbol{\sigma} = \boldsymbol{\mathfrak{E}}:\left(\boldsymbol{\varepsilon} - \boldsymbol{\varepsilon}^{e}\right) +\end{equation} +Since the model considers the effect of damage in elastic stiffness, an effective stress, +$\boldsymbol{\sigma}^{e}$, is defined, where the stress for a given strain always corresponds to the +undamaged elastic stiffness of the material, $\boldsymbol{\mathfrak{E}}_{0}$ The relation between +$\boldsymbol{\sigma}^{e}$, $\boldsymbol{\varepsilon}$, and $\boldsymbol{\varepsilon}^{p}$ is given by +\begin{equation} + \boldsymbol{\sigma}^e = \boldsymbol{\mathfrak{E}}_0:\left(\boldsymbol{\varepsilon} - \boldsymbol{\varepsilon}^{e}\right) +\end{equation} +To consider the degradation of reinforced-concrete structures, an isotropic damage was +considered in concrete material. Hence, the relation between $\boldsymbol{\sigma}^e$ and $\boldsymbol{\sigma}$ can be established by +the isotropic scalar degradation damage variable, D, as follows +\begin{equation} + \boldsymbol{\sigma} = \left(1-D\right)\boldsymbol{\sigma}^e \label{sigma_def} +\end{equation} +\begin{equation} + \boldsymbol{\sigma} = \left(1-D\right)\boldsymbol{\mathfrak{E}}_0:\left(\boldsymbol{\varepsilon} - \boldsymbol{\varepsilon}^{e}\right)\label{sigma_def2} +\end{equation} +The Damage Plasticity Model has various attributes to define the mechanical behavior of concrete +in tension and compression such as the yield function, plastic potential, strength of material +in tension and compression, and hardening and softening of the yield surface. These attributes +are discussed in detail in the following sections. A method for the implementation of the +Damage Plasticity Model and for the estimation of crack width are also presented in the upcoming +sections. + +## Yield Function + +The yield function, $\mathfrak{F}$ is a function of $\boldsymbol{\sigma}$, the strength of the material in uniaxial tension, $f_t$, and the strength of the material in uniaxial compression, $f_c$. It was used to describe the admissible stress space. For this implementation, the yield function in stress space is defined as follows +\begin{equation} \label{yf} +\begin{gathered} + \mathfrak{F}\left(\boldsymbol{\sigma},f_t,f_c\right) = \frac{1}{1-\alpha} \\ + \left(\alpha I_1 + \sqrt{3J_2} + \beta\left(\boldsymbol{\kappa}\right)<{\hat{\boldsymbol{\sigma}}_{max}}>\right) - f_c\left(\boldsymbol{\kappa}\right) +\end{gathered} +\end{equation} +where $I_1$ and $J_2$ is first invariant of stress and second invariant of the deviatoric +component of the stress, respectively, $ =\frac{x+|x|}{2}$ is the Macaulay bracket function, ${\hat{\boldsymbol{\sigma}}_{max}}$ is algebraically maximum principal +stress, $\alpha = \frac{f_{b0}-f_{c0}}{2 f_{b0}-f_{c0}}$ is a parameter that relates +uniaxial, $f_{c0}$, and biaxial, $f_{b0}$, yield strength of concrete in compression, +$\beta\left(\boldsymbol{\kappa}\right)=\frac{f_c\left(\boldsymbol{\kappa}\right)}{f_t\left(\boldsymbol{\kappa}\right)}\left(\alpha-1\right)-\left(1+\alpha\right)$ is a parameter that +relates tensile, $f_t\left(\boldsymbol{\kappa}\right)$, and compressive, $f_c\left(\boldsymbol{\kappa}\right)$, yield strength which are +function of a vector of damage variable, $\boldsymbol{\kappa} = \{\kappa_t, \kappa_c\}$ and $\kappa_t$ +and $\kappa_c$ are the damage variables in tension and compression, respectively. + +The implementation first solves the given problem in the effective stress space and then transform the effective stress to stress space using Eq. \eqref{sigma_def2}. Thus, the yield strength of the concrete under uniaxial loading is expressed as effective yield strength as follows +\begin{equation} + f_t\left(\boldsymbol{\kappa}\right) = \left(1-D_t \left(\kappa_t\right)\right)f_{t}^{e}\left(\kappa_t\right) \label{ft} +\end{equation} +\begin{equation} + f_c\left(\boldsymbol{\kappa}\right) = \left(1-D_c \left(\kappa_c\right)\right)f_{c}^{e}\left(\kappa_c\right) \label{fc} +\end{equation} +where $f_{t}^{e}$ and $f_{c}^{e}$ are the yield strength of the concrete in tension and +compression, respectively and $D_t$ and $D_c$ are the degradation damage variables in +tension and compression, respectively such that $0\leq D_t$\textless 1 and $0\leq D_c$\textless 1. +The scalar degradation damage variable is expressed in terms of $D_t$ and $D_c$ as follows +\begin{equation} + D\left(\boldsymbol{\kappa}\right) = 1-\left(1-D_t\left(\kappa_t\right)\right)\left(1-D_c\left(\kappa_c\right)\right) \label{D} +\end{equation} +Hence, for uniaxial tension, $D=D_t$, while for uniaxial compression, $D=D_c$.The yield strength for multi-axial loading, i.e., Eqs. \eqref{ft}-\eqref{fc}, can be rewritten as +\begin{equation} + f_t\left(\boldsymbol{\kappa}\right) = \left(1-D\left(\boldsymbol{\kappa}\right)\right)f_{t}^{e}\left(\kappa_t\right) \label{ft_new} +\end{equation} +\begin{equation} + f_c\left(\boldsymbol{\kappa}\right) = \left(1-D\left(\boldsymbol{\kappa}\right)\right)f_{c}^{e}\left(\kappa_c\right) \label{fc_new} +\end{equation} +Similarly, the first invariant of $\boldsymbol{\sigma}^e$, $I_1^e$, and second invariant of the deviatoric component of $\boldsymbol{\sigma}^e$, $J_2^e$, can be rewritten in terms of $I_1$ and $J_2$ as follows +\begin{equation} + I_1^e = \left(1-D\left(\boldsymbol{\kappa}\right)\right)I_1 \label{I1e} +\end{equation} +\begin{equation} + J_2^e = \left(1-D\left(\boldsymbol{\kappa}\right)\right)^2J_2 \label{J2e} +\end{equation} +Since $D$ \textless 1, the maximum principal effective stress ${\hat{\boldsymbol{\sigma}}_{max}}^e$ is expressed in the terms of ${\hat{\boldsymbol{\sigma}}_{max}}$ as follows +\begin{equation} + {\hat{\boldsymbol{\sigma}}_{max}}^e = \left(1-D\left(\boldsymbol{\kappa}\right)\right){\hat{\boldsymbol{\sigma}}_{max}} \label{sig_max_e} +\end{equation} +Consequently, yield function $\left(\mathfrak{F}\left(\boldsymbol{\sigma},f_t,f_c\right)\right)$ is a homogenous +function, i.e., $x \mathfrak{F}\left(\boldsymbol{\sigma},f_t,f_c\right) = \mathfrak{F}\left(x \boldsymbol{\sigma},x f_t,x f_c\right)$ Hence, using Eqs. \eqref{ft_new}-\eqref{sig_max_e}, the yield function in the effective stress space was obtained by multiplying by a factor $\left(1-D\right)$ of both sides of Eq. \eqref{yf}, as follows +\begin{equation}\label{yf_e} +\begin{gathered} + \mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right) = \frac{1}{1-\alpha} \\ + \left(\alpha I_1^e + \sqrt{3J_2^e} + \beta\left(\boldsymbol{\kappa}\right)<{\hat{\boldsymbol{\sigma}}_{max}}^e>\right) - f_c^e\left(\boldsymbol{\kappa}\right) +\end{gathered} +\end{equation} + +## Plastic Potential + +It was found that for concrete, the Drucker-Prager flow rule describes the experimentally observed volumetric expansion of the material as opposed to the Von-Mises flow rule, which results in no volumetric expansion ([!cite](krabbenhoft2002basic)). Since all the equations are solved in the effective stress space, the plastic flow potential is also defined in the effective stress space ([!cite](lee1996theory)) as follows +\begin{equation} + \dot{\boldsymbol{\varepsilon}^p} = \dot{\gamma} \nabla_{\boldsymbol{\sigma}^e}\Phi\left(\boldsymbol{\sigma}^e\right) +\end{equation} +\begin{equation} \label{flowRule} + \Phi\left(\boldsymbol{\sigma}^e\right)=\alpha_p I_1^e+\|{s^e}\| +\end{equation} +where $\Phi$ is the plastic potential function, $s^e$ is the deviatoric component of the +$\boldsymbol{\sigma}^e$, and $\|\cdot\|$ is $L_2$ norm of $\alpha_p$ is a parameter that controls the +dilatancy of concrete, and $\dot{\gamma}$ is the plastic consistency parameter. + +## Strength Function + +Since the concrete shows strain-softening in tension and strain hardening and softening in compression, the concrete strength is expressed as a combination of two exponential functions as follows +\begin{equation} + f_N = f_{N0} \left(\left(1+a_N\right) e^{-b_N \varepsilon^p}- a_N e^{-2b_N \varepsilon^p}\right) \label{fN} +\end{equation} +where $f_{N0}$ is the initial yield stress of the material, $N = t$, for the uniaxial +tension, $N = c$, for uniaxial compression, $a_N$ and $b_N$, are the material constants +that describe the softening and hardening behavior of the concrete. Similarly, the +degradation of the elastic modulus is also expressed as another exponential function as +follows +\begin{equation} + D_N = 1 - e^{-d_N \varepsilon^p} \label{DN} +\end{equation} +where $d_N$ is a constant that determine the rate of degradation of $\boldsymbol{\mathfrak{E}}$ with the +increase in plastic strain. The strength of the material in the effective stress space was +obtained using Eqs. \eqref{ft_new}-\eqref{fc_new}, and \eqref{fN}-\eqref{DN}, as follows +\begin{equation}\label{fNe} + f_N^e = f_{N0} \left(\left(1+a_N\right) \left(e^{-b_N \varepsilon^p}\right)^{1-\frac{d_N}{b_N}}- + a_N \left(e^{-b_N \varepsilon^p}\right)^{2-\frac{d_N}{b_N}}\right) +\end{equation} +The damage variable, $\kappa_N$ is defined as +\begin{equation} + \kappa_N = \frac{1}{g_N}\int_0^{\varepsilon^p} {f_N\left(\varepsilon^p\right)d\varepsilon^p} \label{kN_def} +\end{equation} +where $g_N$ $\left(=\int_0^\infty {f_N\left(\varepsilon^p\right)d\varepsilon^p}=\frac {f_{N0}}{b_N}\left(1+\frac{a_N}{2}\right)\right)$ +is the fracture energy density during the process of cracking, which is derived from the +fracture energy, $G_N$, which is a material property. The relation between $G_N$ and $g_N$ +is expressed as follows +\begin{equation} + g_N = \frac{G_N}{l_N} \label{GN_def} +\end{equation} +where $l_N$ is characteristic length or the size of the deformation localization zone. +Thus, the plastic strain can be presented in terms of damage variable as follows +\begin{equation} + \varepsilon^p = \frac{1}{b_N} \log{\frac{\sqrt{\Phi_N}}{a_N}} \label{eps_p} +\end{equation} +where $\Phi_N = 1 + a_N \left(2+a_N \right)\kappa_N$. Using Eqs. \eqref{fN} and \eqref{eps_p}, the +strength of the concrete can be expressed in terms of the damage variable as follows +\begin{equation} + f_N = f_{N0} \frac{1+a_N-\sqrt{\Phi_N\left(\kappa_N\right)}}{a_N}\sqrt{\Phi_N\left(\kappa_N\right)} \label{fN_new} +\end{equation} +Thus, the strength of the material and degradation damage variable in the effective stress space can be written as + +\begin{equation} + f_N^e = f_{N0} \left(\frac{1+a_N-\sqrt{\Phi_N\left(\kappa_N\right)}}{a_N}\right)^{1-\frac{d_N}{b_N}} \sqrt{\Phi_N\left(\kappa_N\right)} \label{fNe_new} +\end{equation} +\begin{equation} + D_N = 1- \left(\frac{1+a_N-\sqrt{\Phi_N\left(\kappa_N\right)}}{a_N}\right)^{\frac{d_N}{b_N}} \label{DN_new} +\end{equation} +where $a_N$, $b_N$,and $d_N$ are the modeling parameters, which are evaluated from the +material properties. Since the maximum compressive strength of concrete, $f_{cm}$, was used +as a material property, $f_{cm}$ was obtained in terms of $a_c$ by finding maximum value of +compressive strength in Eq. \eqref{fNe} as follows +\begin{equation} + f_{cm} = \frac{f_{c0}\left(1+a_c\right)^2}{4a_c} \label{fcm} +\end{equation} +Thus, $a_c$ can be expressed as follows +\begin{equation} + a_c = 2\frac{f_{cm}}{f_{c0}}-1+2\sqrt{\left(\frac{f_{cm}}{f_{c0}}\right)^2-\frac{f_{cm}}{f_{c0}}} \label{ac} +\end{equation} +Similarly, if $G_c$ and $l_c$ are known then $b_c$ can be expressed in term of known quantities as follows +\begin{equation} + b_c = \frac{f_{c0}}{\frac{G_c}{l_c}}\left(1+\frac{a_c}{2}\right) \label{bc} +\end{equation} +A relationship between $a_t$ and $b_t$ is written as follows +\begin{equation} + b_t = \frac{f_{t0}}{\frac{G_t}{l_t}}\left(1+\frac{a_t}{2}\right) \label{bt} +\end{equation} +[!cite](lubliner1989plastic) suggested that if the slope of $\sigma$ versus $\varepsilon^p$ curve is +known at $\varepsilon^p=0$, then another relationship between $a_t$ and $b_t$ will be obtained +as follows +\begin{equation} + \left(\frac{d\sigma}{d\varepsilon^p}\right)_{\varepsilon^p=0} = f_{t0}b_t\left(a_t-1\right) \label{slope} +\end{equation} +Thus, $a_t$ was obtained using Eqs. \eqref{bt}-\eqref{slope} as follows +\begin{equation} + a_t = \sqrt{\frac{9}{4}+\frac{2\frac{G_t}{l_t} \left(\frac{d\sigma}{d\varepsilon^p}\right)_{\varepsilon^p=0}}{f_{t0}^2}}\label{at} +\end{equation} +The minimum slope of the $\sigma$ versus $\varepsilon^p$ curve is +$\left(\left(\frac{d\sigma}{d\varepsilon^p}\right)_{\varepsilon^p=0}\right)_{min}= +-\frac{9}{8}\frac{f_{t0}^2}{\frac{G_t}{l_t}}$, which is a function of the characteristic length in tension. +Therefore, a mesh independent slope parameter $\omega\in\left(0,1\right)$, is defined such that +\begin{equation} + \left(\frac{d\boldsymbol{\sigma}}{d\varepsilon^p}\right)_{\varepsilon^p=0} = \omega \left(\left(\frac{d\sigma}{d\varepsilon^p}\right)_{\varepsilon^p=0}\right)_{min} \label{slope_new} +\end{equation} +Using Eqs. \eqref{at}-\eqref{slope_new}, $a_t$ is rewritten as follows +\begin{equation} + a_t = \frac{3}{2}\sqrt{1-\omega}-\frac{1}{2}\label{at_new} +\end{equation} +The ratio of $\frac{d_c}{b_c}$ was obtained by specifying degradation values for uniaxial +compression case from experiments. If the degradation in the elastic modulus is known, +denoted as $\widetilde{D}_c$, when the concrete is unloaded from $\sigma =f_{cm}$, then $\frac{d_c}{b_c}$ will be obtained using the following relation +\begin{equation} + \widetilde{D}_c = 1 - \left(\frac{1+a_c}{2a_c}\right)^{\frac{d_c}{b_c}} \label{Dc_fcm} +\end{equation} +\begin{equation} + \frac{d_c}{b_c} = \frac{\log\left(1-\widetilde{D}_c\right)}{\log\left(\frac{1+a_c}{2a_c}\right)} \label{dcbc_fcm} +\end{equation} +Similarly, if degradation in the elastic modulus is known, denoted as $\widetilde{D}_t$, when the material is unloaded from $\sigma=\frac {f_{t0}}{2}$, on softening branch, then $\frac{d_t}{b_t}$ will be obtained using the following relation +\begin{equation} + \widetilde{D}_t = 1 - \left(\frac{1+a_t-\sqrt{1+a_t^2}}{2a_t}\right)^{\frac{d_t}{b_t}} \label{Dt_ft0_2} +\end{equation} +\begin{equation} + \frac{d_t}{b_t} = \frac{\log\left(1-\widetilde{D}_t\right)}{\log\left(\frac{1+a_t-\sqrt{1+a_t^2}}{2a_t}\right)} \label{Dt_ft0} +\end{equation} +Thus, material modeling parameters $a_N$,$b_N$, and $d_N$ were obtained, which were used in +defining the strength of concrete in both tension and compression as given in Eq. +\eqref{fNe_new}. These parameters are also used to define the degradation damage variable in +both tension and compression as indicated in Eq. \eqref{DN_new}. + +## Hardening Potential + +The vector of two damage variables, $\boldsymbol{\kappa}=\{\kappa_t, \kappa_c\}$, was used in the implementation as the state variable to store the state of damage in tension and compression, separately. The evolution of these damage variables is defined in terms of the hardening potential, $H$, as +\begin{equation} + \dot{\boldsymbol{\kappa}} = \dot{\gamma} H\left(\boldsymbol{\sigma}^e, \boldsymbol{\kappa}\right)\label{kappa} +\end{equation} +The evolution of the damage variable is expressed in terms of the evolution of $\boldsymbol{\varepsilon}^p$ as follows +\begin{equation} + \dot{\boldsymbol{\kappa}} = \frac{1}{g_N}f_N^e\left(\kappa_N\right)\dot{\boldsymbol{\varepsilon}^p} \label{kappa_ep} +\end{equation} +where $g_N$ is dissipated energy density during the process of cracking. The scalar $\dot{\boldsymbol{\varepsilon}^p}$, is extended to multi-dimensional case as follows +\begin{equation} + \dot{\boldsymbol{\varepsilon}^p} = \delta_{tN} r\left(\hat{\boldsymbol{\sigma}^e}\right)\dot{\varepsilon}^{p}_{max} + \delta_{cN} \left(1-r\left(\hat{\boldsymbol{\sigma}^e}\right)\right)\dot{\varepsilon}^{p}_{min} \label{ep_dot} +\end{equation} +where $\delta_{ij}$ is the Dirac delta function and $\hat{\boldsymbol{\sigma}^e}$ are eigenvalues of the $\boldsymbol{\sigma}^e$, +\begin{equation}\label{r_sige} + r\left(\hat{\boldsymbol{\sigma}^e}\right) = + \begin{cases} + 0,& \text{if } \boldsymbol{\sigma}^e = \boldsymbol{0}\\ + \frac{\sum_{i=1}^3<\sigma^e_i>}{\sum_{i=1}^3|\sigma^e_i|}, & \text{otherwise} + \end{cases} +\end{equation} +$\dot{\varepsilon}^{p}_{max}$ and $\dot{\varepsilon}^{p}_{min}$ +are the maximum and minimum principal plastic strain, respectively. From Eqs. \eqref{kappa_ep} - \eqref{r_sige}, the evolution of $\boldsymbol{\kappa}$ was obtained as +\begin{equation} + \dot{\boldsymbol{\kappa}} = \boldsymbol{h}\left(\hat{\boldsymbol{\sigma}^e}\right):\dot{\boldsymbol{\varepsilon}}^{\hat{p}} \label{kappa_h_ep} +\end{equation} +where +\begin{equation}\label{h} + \boldsymbol{h}\left(\hat{\boldsymbol{\sigma}^e}\right)= + \begin{bmatrix} + \frac{r\left(\hat{\boldsymbol{\sigma}^e}\right)}{g_t}f_t^e\left(\kappa_t\right)&0&0\\ + 0&1&0\\ + 0&0&\frac{1-r\left(\hat{\boldsymbol{\sigma}^e}\right)}{g_c}f_c^e\left(\kappa_c\right)\\ + \end{bmatrix} +\end{equation} +and ‘:’ represents products of two matrices. Hence, $H\left(\boldsymbol{\sigma}^e,\boldsymbol{\kappa}\right)$ in Eq. \eqref{kappa} was obtained as follows +\begin{equation} + H\left(\boldsymbol{\sigma}^e, \boldsymbol{\kappa}\right) = \boldsymbol{h}\cdot \nabla_{\hat{\boldsymbol{\sigma}^e}}\Phi\left(\hat{\boldsymbol{\sigma}^e}\right) \label{H_def} +\end{equation} +where ‘$\cdot$’ represents the dot product of a matrix and a vector, and $\nabla_{\hat{\boldsymbol{\sigma}^e}}$ is the gradient with respect to principal effective stress components, $\hat{\boldsymbol{\sigma}^e}$. Thus, the hardening potential that governs the evolution of damage variables is expressed in terms of effective stress space. + +## Return Mapping Algorithm + +Return mapping algorithm is summarized in a flowchart [flowChart]. For given strain increment and previous state of stress, trial effective stress is obtained by elastic increment in the elastic predictor step according to +\begin{equation} + \boldsymbol{\sigma}_{n+1}^{e^{tr}} = \boldsymbol{\mathfrak{E}}_0:\left(\varepsilon_{n+1}-\varepsilon_n^p\right) \label{predictor_step} +\end{equation} +If the state of trial effective stress lies inside the admissible domain, i.e, $\mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right) < 0$, the trial effective stress is considered as an admissible effective stress and old damage variables are supplied for the next step. +If the state of trial effective stress is outside admissible domain, i.e, $\mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right) > 0$, the effective stress is obtained using the plastic corrector step + +!media media/Return_mapping_flow_chart.png + id=flowChart + style=width:30%; + caption=Flow chart for return mapping algorithm. + +\begin{equation} +\boldsymbol{\sigma}_{n+1}^e = \boldsymbol{\sigma}_{n+1}^{e^{tr}}-\boldsymbol{\mathfrak{E}}_0:\varepsilon_n^p \label{plasticCorrector} +\end{equation} +Once admissible effective stress is obtained, degradation corrector step is utilized to account for the stiffness degradation on the state of stress according to +\begin{equation} +\boldsymbol{\sigma}_{n+1} = \left(1-D_{n}\right)\boldsymbol{\sigma}_{n+1}^{e} \label{degradation_corrector} +\end{equation} + + + +During the plastic corrector step, the returned effective stress should satisfy the Kuhn-Tucker conditions on the $\mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right)$ and $\dot{\gamma}$, according to +\begin{equation} + \begin{split} \label{khunTuckerConditions} + \dot{\gamma} > 0 \\ + \dot{\gamma}\mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right) = 0 \\ + \mathfrak{F}\left(\boldsymbol{\sigma}^e,f_t^e,f_c^e\right) = 0 + \end{split} +\end{equation} +As per flow rule in Eq. \eqref{flowRule}, the plastic corrector step, i.e., Eq. \eqref{plasticCorrector} can be rewritten as +\begin{equation} +\boldsymbol{\sigma^e}_{n+1} = \boldsymbol{\sigma}_{n+1}^{e^{tr}}-\dot{\gamma}\left(2G\frac{\boldsymbol{s}_{n+1}^e}{\|\boldsymbol{s}_{n+1}^e\|} + 3K\alpha_p\boldsymbol{I}\right) \label{returnMap1} +\end{equation} +where $G$ is shear modulus and $K$ is bulk modulus. After separating the volumetric and deviatoric components from Eq. \eqref{returnMap1} following relations can be obtained +\begin{equation} + I_{1|n+1} = I_{1|n+1}^{e^{tr}} - 9K\alpha \alpha_p \dot{\gamma} \label{stressRelation1} +\end{equation} +\begin{equation}\label{stressRelation2} + \begin{gathered} + \frac{\boldsymbol{s}_{n+1}^e}{\|\boldsymbol{s}_{n+1}^e\|} = \frac{\boldsymbol{s}_{{n+1}}^{e^{tr}}}{\|\boldsymbol{s}_{n+1}^{e^{tr}}\|} \\ + {\|\boldsymbol{s}^{e}_{n+1}\|} = {\|\boldsymbol{s}_{n+1}^{e^{tr}}\|} - 2G\dot{\gamma} + \end{gathered} +\end{equation} +Using Eqs. \eqref{stressRelation1} and \eqref{stressRelation2}, Eq. \eqref{returnMap1} can be written as +\begin{equation} + \boldsymbol{\sigma}_{n+1}^e = \boldsymbol{\sigma}_{n+1}^{e^{tr}}-\dot{\gamma}\left(2G\frac{\boldsymbol{s}^{e^{tr}}_{n+1}}{\|\boldsymbol{s}_{{n+1}}^{e^{tr}} \|}+ 3K\alpha_p\boldsymbol{I}\right) \label{returnMap2} +\end{equation} +In case of plastic deformation, the returned state of stress should lie on the yield surface as per Kuhn-Tucker conditions (Eq. \eqref{khunTuckerConditions}, therefore $\mathfrak{F}\left(\boldsymbol{\sigma}_{n+1}^e,f_t^e,f_c^e\right) = 0$, i.e., +\begin{equation} \label{yfnext} + \begin{gathered} + \alpha I_{1|n+1}^e + \sqrt{3J_{2|n+1}^e} + \beta\left(\boldsymbol{\kappa}\right)<\hat{\boldsymbol{\sigma}}^e_{n+1|max}> \\ - \left(1-\alpha\right)f_c^e\left(\boldsymbol{\kappa}\right) = 0 + \end{gathered} +\end{equation} +Using Eq. \eqref{stressRelation1}, \eqref{stressRelation2}, and \eqref{returnMap2}, Eq. \eqref{yfnext} can be written as +\begin{equation} \label{yfzero} + \begin{gathered} + \alpha\left(I_{1|n+1}^{e^{tr}} - 9K\alpha \alpha_p \dot{\gamma}\right) + + \left(\sqrt{\frac{3}{2}}\|\boldsymbol{s}_{{n+1}}^{e^{tr}}\| - \sqrt{6}G\dot{\gamma}\right)\\+ + \beta\left(\boldsymbol{\kappa}\right)<\hat{\boldsymbol{\sigma}}^e_{n+1|max}> - \left(1-\alpha\right)f_c^e\left(\boldsymbol{\kappa}\right) = 0 + \end{gathered} +\end{equation} +Thus, the plastic multiplier can be by solving Eq. \eqref{yfzero} as +\begin{equation}\label{gammaDef} + \dot{\gamma} = + \begin{cases} + \frac{\alpha I_{1|n+1}^{e^{tr}}+\sqrt{\frac{3}{2}}\|\boldsymbol{s}_{{n+1}}^{e^{tr}}\|-\left(1-\alpha\right)f_c^e\left(\boldsymbol{\kappa}\right)} + {9K \alpha_p + \sqrt{6}G}, & \text{if $\sigma_{m|n+1}^e < 0$}\\ + \frac{\alpha I_{1|n+1}^{e^{tr}}+\sqrt{\frac{3}{2}}\|\boldsymbol{s}_{{n+1}}^{e^{tr}}\|+\beta\left(\boldsymbol{\kappa}\right) \sigma_{m|n+1}^{e^{tr}}-\left(1-\alpha\right)f_c^e\left(\boldsymbol{\kappa}\right)} + {9K \alpha_p + \sqrt{6}G + \beta\left(\boldsymbol{\kappa}\right)\left(2G\frac{s^{e^{tr}}_{m|n+1}}{\|\boldsymbol{s}_{{n+1}}^{e^{tr}} \|}+ 3K\alpha_p\right)}, & \text{otherwise}. + \end{cases} +\end{equation} +where $\sigma_{m|n+1}^e$, $\sigma_{m|n+1}^{e^{tr}}$, and $s^{e^{tr}}_{m|n+1}$ are the $m^{th}$ component of the $\hat{\boldsymbol{\sigma}}_{n+1}^e$, $\boldsymbol{\sigma}_{n+1}^{e^{tr}}$, and $\boldsymbol{s}^{e^{tr}}_{n+1}$, respectively, which corresponds to maximum principal effective stress in $\left(n+1\right)^{th}$ step. Eq. \eqref{gammaDef} is solved iteratively. + + +!syntax parameters /Materials/DamagePlasticityStressUpdate + +!syntax inputs /Materials/DamagePlasticityStressUpdate + +!syntax children /Materials/DamagePlasticityStressUpdate + +!bibtex bibliography diff --git a/include/materials/ComputeMultipleInelasticDamageStress.h b/include/materials/ComputeMultipleInelasticDamageStress.h new file mode 100644 index 000000000..a569e8b7d --- /dev/null +++ b/include/materials/ComputeMultipleInelasticDamageStress.h @@ -0,0 +1,42 @@ +/****************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* BlackBear */ +/* */ +/* (c) 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/* */ +/* Prepared by Battelle Energy Alliance, LLC */ +/* Under Contract No. DE-AC07-05ID14517 */ +/* With the U. S. Department of Energy */ +/* */ +/* See COPYRIGHT for full restrictions */ +/****************************************************************/ + +#pragma once + +#include "ComputeMultipleInelasticStress.h" + +class ComputeMultipleInelasticDamageStress : public ComputeMultipleInelasticStress +{ +public: + static InputParameters validParams(); + ComputeMultipleInelasticDamageStress(const InputParameters & parameters); + +protected: + /// damage parameter for DamagePlasticityStressUpdate model + const MaterialProperty & _D; + const MaterialProperty & _D_old; + const MaterialProperty & _D_older; + + virtual void computeQpJacobianMult() override; + + virtual void computeAdmissibleState(unsigned model_number, + RankTwoTensor & elastic_strain_increment, + RankTwoTensor & inelastic_strain_increment, + RankFourTensor & consistent_tangent_operator) override; + + virtual void + updateQpStateSingleModel(unsigned model_number, + RankTwoTensor & elastic_strain_increment, + RankTwoTensor & combined_inelastic_strain_increment) override; +}; diff --git a/include/materials/DamagePlasticityStressUpdate.h b/include/materials/DamagePlasticityStressUpdate.h new file mode 100644 index 000000000..51b958a92 --- /dev/null +++ b/include/materials/DamagePlasticityStressUpdate.h @@ -0,0 +1,184 @@ +/****************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* BlackBear */ +/* */ +/* (c) 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/* */ +/* Prepared by Battelle Energy Alliance, LLC */ +/* Under Contract No. DE-AC07-05ID14517 */ +/* With the U. S. Department of Energy */ +/* */ +/* See COPYRIGHT for full restrictions */ +/****************************************************************/ + +#pragma once + +#include "MultiParameterPlasticityStressUpdate.h" + +class DamagePlasticityStressUpdate : public MultiParameterPlasticityStressUpdate +{ +public: + static InputParameters validParams(); + DamagePlasticityStressUpdate(const InputParameters & parameters); + + /** + * Does the model require the elasticity tensor to be isotropic? + */ + bool requiresIsotropicTensor() override { return true; } + +protected: + virtual void initQpStatefulProperties() override; + virtual void finalizeReturnProcess(const RankTwoTensor & rotation_increment) override; + +private: + const Real _f_tol; + const Real _alfa; + const Real _alfa_p; + const Real _s0; + + const Real _Chi; + const Real _Dt; + const Real _ft; + const Real _FEt; + + const Real _fyc; + const Real _Dc; + const Real _fc; + const Real _FEc; + + const Real _at; + const Real _ac; + const Real _zt; + const Real _zc; + const Real _dPhit; + const Real _dPhic; + const Real _sqrtPhit_max; + const Real _sqrtPhic_max; + const Real _dt_bt; + const Real _dc_bc; + const Real _ft0; + const Real _fc0; + const Real _small_smoother2; + + const Real _sqrt3; + + /// Whether to provide an estimate of the returned stress, based on perfect plasticity + const bool _perfect_guess; + + /// Eigenvectors of the trial stress as a RankTwoTensor, in order to rotate the returned stress back to stress space + RankTwoTensor _eigvecs; + + MaterialProperty & _max_principal; + MaterialProperty & _min_principal; + MaterialProperty & _intnl0; + MaterialProperty & _intnl1; + MaterialProperty & _ele_len; + MaterialProperty & _gt; + MaterialProperty & _gc; + + MaterialProperty & _tD; + MaterialProperty & _cD; + MaterialProperty & _D; + MaterialProperty & _min_ep; + MaterialProperty & _mid_ep; + MaterialProperty & _max_ep; + MaterialProperty & _sigma0; + MaterialProperty & _sigma1; + MaterialProperty & _sigma2; + + Real ft(const std::vector & intnl) const; /// tensile strength + Real dft(const std::vector & intnl) const; /// d(tensile strength)/d(intnl) + Real fc(const std::vector & intnl) const; /// compressive strength + Real dfc(const std::vector & intnl) const; /// d(compressive strength)/d(intnl) + Real beta(const std::vector & intnl) const; + Real dbeta0(const std::vector & intnl) const; + Real dbeta1(const std::vector & intnl) const; + void weighfac(const std::vector & stress_params, Real & wf) const; /// weight factor + void dweighfac(const std::vector & stress_params, + Real & wf, + std::vector & dwf) const; /// d(weight factor)/d(stress) + Real damageVar(const std::vector & stress_params, const std::vector & intnl) const; + + void computeStressParams(const RankTwoTensor & stress, + std::vector & stress_params) const override; + + std::vector dstress_param_dstress(const RankTwoTensor & stress) const override; + + std::vector d2stress_param_dstress(const RankTwoTensor & stress) const override; + + void setEffectiveElasticity(const RankFourTensor & Eijkl) override; + + virtual void preReturnMapV(const std::vector & trial_stress_params, + const RankTwoTensor & stress_trial, + const std::vector & intnl_old, + const std::vector & yf, + const RankFourTensor & Eijkl) override; + + virtual void setStressAfterReturnV(const RankTwoTensor & stress_trial, + const std::vector & stress_params, + Real gaE, + const std::vector & intnl, + const yieldAndFlow & smoothed_q, + const RankFourTensor & Eijkl, + RankTwoTensor & stress) const override; + + void yieldFunctionValuesV(const std::vector & stress_params, + const std::vector & intnl, + std::vector & yf) const override; + + void computeAllQV(const std::vector & stress_params, + const std::vector & intnl, + std::vector & all_q) const override; + + virtual void flowPotential(const std::vector & stress_params, + const std::vector & intnl, + std::vector & r) const; + + virtual void dflowPotential_dstress(const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dr_dstress) const; + + virtual void dflowPotential_dintnl(const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dr_dintnl) const; + + virtual void hardPotential(const std::vector & stress_params, + const std::vector & intnl, + std::vector & h) const; + + virtual void dhardPotential_dstress(const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dh_dsig) const; + + virtual void dhardPotential_dintnl(const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dh_dintnl) const; + + void initialiseVarsV(const std::vector & trial_stress_params, + const std::vector & intnl_old, + std::vector & stress_params, + Real & gaE, + std::vector & intnl) const; + + void setIntnlValuesV(const std::vector & trial_stress_params, + const std::vector & current_stress_params, + const std::vector & intnl_old, + std::vector & intnl) const override; + + void setIntnlDerivativesV(const std::vector & trial_stress_params, + const std::vector & current_stress_params, + const std::vector & intnl, + std::vector> & dintnl) const override; + + virtual void consistentTangentOperatorV(const RankTwoTensor & stress_trial, + const std::vector & trial_stress_params, + const RankTwoTensor & stress, + const std::vector & stress_params, + Real gaE, + const yieldAndFlow & smoothed_q, + const RankFourTensor & Eijkl, + bool compute_full_tangent_operator, + const std::vector> & dvar_dtrial, + RankFourTensor & cto) override; +}; diff --git a/src/materials/ComputeMultipleInelasticDamageStress.C b/src/materials/ComputeMultipleInelasticDamageStress.C new file mode 100644 index 000000000..4f92615e1 --- /dev/null +++ b/src/materials/ComputeMultipleInelasticDamageStress.C @@ -0,0 +1,73 @@ +/****************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* BlackBear */ +/* */ +/* (c) 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/* */ +/* Prepared by Battelle Energy Alliance, LLC */ +/* Under Contract No. DE-AC07-05ID14517 */ +/* With the U. S. Department of Energy */ +/* */ +/* See COPYRIGHT for full restrictions */ +/****************************************************************/ + +#include "ComputeMultipleInelasticDamageStress.h" +#include "StressUpdateBase.h" + +registerMooseObject("BlackBearApp", ComputeMultipleInelasticDamageStress); + +InputParameters +ComputeMultipleInelasticDamageStress::validParams() +{ + InputParameters params = ComputeMultipleInelasticStress::validParams(); + return params; +} + +ComputeMultipleInelasticDamageStress::ComputeMultipleInelasticDamageStress( + const InputParameters & parameters) + : ComputeMultipleInelasticStress(parameters), + _D(getMaterialProperty("elemental_damage_variable")), + _D_old(getMaterialPropertyOld("elemental_damage_variable")), + _D_older(getMaterialPropertyOlder("elemental_damage_variable")) +{ +} + +void +ComputeMultipleInelasticDamageStress::computeQpJacobianMult() +{ + ComputeMultipleInelasticStress::computeQpJacobianMult(); + _Jacobian_mult[_qp] = (1.0 - _D_older[_qp]) * _Jacobian_mult[_qp]; + // _Jacobian_mult[_qp] = (1.0 - _D[_qp]) * _Jacobian_mult[_qp]; +} + +void +ComputeMultipleInelasticDamageStress::updateQpStateSingleModel( + unsigned model_number, + RankTwoTensor & elastic_strain_increment, + RankTwoTensor & combined_inelastic_strain_increment) +{ + ComputeMultipleInelasticStress::updateQpStateSingleModel( + model_number, elastic_strain_increment, combined_inelastic_strain_increment); + _Jacobian_mult[_qp] = (1.0 - _D_older[_qp]) * _Jacobian_mult[_qp]; +} + +void +ComputeMultipleInelasticDamageStress::computeAdmissibleState( + unsigned model_number, + RankTwoTensor & elastic_strain_increment, + RankTwoTensor & inelastic_strain_increment, + RankFourTensor & consistent_tangent_operator) +{ + _models[model_number]->updateState(elastic_strain_increment, + inelastic_strain_increment, + _rotation_increment[_qp], + _stress[_qp], + _stress_old[_qp] / (1.0 - _D_older[_qp]), + // _stress_old[_qp] / (1.0 - _D[_qp]), + _elasticity_tensor[_qp], + _elastic_strain_old[_qp], + _tangent_operator_type == TangentOperatorEnum::nonlinear, + consistent_tangent_operator); + _stress[_qp] *= (1.0 - _D_older[_qp]); +} diff --git a/src/materials/DamagePlasticityStressUpdate.C b/src/materials/DamagePlasticityStressUpdate.C new file mode 100644 index 000000000..0921e9156 --- /dev/null +++ b/src/materials/DamagePlasticityStressUpdate.C @@ -0,0 +1,679 @@ +/****************************************************************/ +/* DO NOT MODIFY THIS HEADER */ +/* BlackBear */ +/* */ +/* (c) 2017 Battelle Energy Alliance, LLC */ +/* ALL RIGHTS RESERVED */ +/* */ +/* Prepared by Battelle Energy Alliance, LLC */ +/* Under Contract No. DE-AC07-05ID14517 */ +/* With the U. S. Department of Energy */ +/* */ +/* See COPYRIGHT for full restrictions */ +/****************************************************************/ +#include "DamagePlasticityStressUpdate.h" +#include "libmesh/utility.h" + +registerMooseObject("BlackBearApp", DamagePlasticityStressUpdate); + +InputParameters +DamagePlasticityStressUpdate::validParams() +{ + InputParameters params = MultiParameterPlasticityStressUpdate::validParams(); + params.addParam( + "yield_function_tolerance", + "If the yield function is less than this amount, the (stress, internal parameters) are " + "deemed admissible. A std::vector of tolerances must be entered for the multi-surface case"); + + params.addRangeCheckedParam("factor_relating_biaxial_unixial_cmp_str", + 0.1, + "factor_relating_biaxial_unixial_cmp_str < 0.5 & " + "factor_relating_biaxial_unixial_cmp_str >= 0", + "Material parameter that relate biaxial and uniaxial " + "compressive strength, i.e., \alfa = (fb0-fc0)/(2*fb0-fc0)"); + params.addRequiredParam("factor_controlling_dilatancy", "parameter for the dilation"); + params.addRangeCheckedParam("stiff_recovery_factor", + 0., + "stiff_recovery_factor <= 1. & stiff_recovery_factor >= 0", + "stiffness recovery parameter"); + + params.addRangeCheckedParam( + "ft_ep_slope_factor_at_zero_ep", + "ft_ep_slope_factor_at_zero_ep <= 1 & ft_ep_slope_factor_at_zero_ep >= 0", + "slope of ft vs plastic strain curve at zero plastic strain"); + params.addRequiredParam( + "tensile_damage_at_half_tensile_strength", + "Fraction of the elastic recovery slope in tension at 0.5*ft0 after yielding"); + params.addRangeCheckedParam("yield_strength_in_tension", + "yield_strength_in_tension >= 0", + "Tensile yield strength of concrete"); + params.addRangeCheckedParam("fracture_energy_in_tension", + "fracture_energy_in_tension >= 0", + "Fracture energy of concrete in uniaxial tension"); + + params.addRangeCheckedParam("yield_strength_in_compression", + "yield_strength_in_compression >= 0", + "Absolute yield compressice strength"); + params.addRequiredParam("compressive_damage_at_max_compressive_strength", + "damage at maximum compressive strength"); + params.addRequiredParam("maximum_strength_in_compression", + "Absolute maximum compressive strength"); + params.addRangeCheckedParam("fracture_energy_in_compression", + "fracture_energy_in_compression >= 0", + "Fracture energy of concrete in uniaxial compression"); + + params.addRequiredRangeCheckedParam( + "tip_smoother", + "tip_smoother>=0", + "Smoothing parameter: the cone vertex at mean = cohesion*cot(friction_angle), will be " + "smoothed by the given amount. Typical value is 0.1*cohesion"); + params.addParam("perfect_guess", + true, + "Provide a guess to the Newton-Raphson proceedure " + "that is the result from perfect plasticity. With " + "severe hardening/softening this may be " + "suboptimal."); + params.addClassDescription("Damage Plasticity Model for concrete"); + return params; +} + +DamagePlasticityStressUpdate::DamagePlasticityStressUpdate(const InputParameters & parameters) + : MultiParameterPlasticityStressUpdate(parameters, 3, 1, 2), + _f_tol(getParam("yield_function_tol")), + + _alfa(getParam("factor_relating_biaxial_unixial_cmp_str")), + _alfa_p(getParam("factor_controlling_dilatancy")), + _s0(getParam("stiff_recovery_factor")), + + _Chi(getParam("ft_ep_slope_factor_at_zero_ep")), + _Dt(getParam("tensile_damage_at_half_tensile_strength")), + _ft(getParam("yield_strength_in_tension")), + _FEt(getParam("fracture_energy_in_tension")), + + _fyc(getParam("yield_strength_in_compression")), + _Dc(getParam("compressive_damage_at_max_compressive_strength")), + _fc(getParam("maximum_strength_in_compression")), + _FEc(getParam("fracture_energy_in_compression")), + + _at(1.5 * std::sqrt(1 - _Chi) - 0.5), + _ac((2. * (_fc / _fyc) - 1. + 2. * std::sqrt(std::pow((_fc / _fyc), 2.) - _fc / _fyc))), + + _zt((1. + _at) / _at), + _zc((1. + _ac) / _ac), + _dPhit(_at * (2. + _at)), + _dPhic(_ac * (2. + _ac)), + _sqrtPhit_max((1. + _at + sqrt(1. + _at * _at)) / 2.), + _sqrtPhic_max((1. + _ac) / 2.), + _dt_bt(log(1. - _Dt) / log((1. + _at - sqrt(1. + _at * _at)) / (2. * _at))), + _dc_bc(log(1. - _Dc) / log((1. + _ac) / (2. * _ac))), + _ft0(0.5 * _ft / + ((1. - _Dt) * pow((_zt - _sqrtPhit_max / _at), (1. - _dt_bt)) * _sqrtPhit_max)), + _fc0(_fc / ((1. - _Dc) * pow((_zc - _sqrtPhic_max / _ac), (1. - _dc_bc)) * _sqrtPhic_max)), + _small_smoother2(std::pow(getParam("tip_smoother"), 2)), + + _sqrt3(sqrt(3.)), + _perfect_guess(getParam("perfect_guess")), + _eigvecs(RankTwoTensor()), + _max_principal(declareProperty("max_principal_stress")), + _min_principal(declareProperty("min_principal_stress")), + _intnl0(declareProperty("damage_state_in_tension")), + _intnl1(declareProperty("damage_state_in_compression")), + _ele_len(declareProperty("element_length")), + _gt(declareProperty("elemental_fracture_energy_in_tension")), + _gc(declareProperty("elemental_fracture_energy_in_compression")), + _tD(declareProperty("elemental_tensile_damage")), + _cD(declareProperty("elemental_compression_damage")), + _D(declareProperty("elemental_damage_variable")), + _min_ep(declareProperty("min_ep")), + _mid_ep(declareProperty("mid_ep")), + _max_ep(declareProperty("max_ep")), + _sigma0(declareProperty("damaged_min_principal_stress")), + _sigma1(declareProperty("damaged_mid_principal_stress")), + _sigma2(declareProperty("damaged_max_principal_stress")) +{ +} + +void +DamagePlasticityStressUpdate::initQpStatefulProperties() +{ + // if (_current_elem->n_vertices() < 3) + // _ele_len[_qp] = _current_elem->length(0, 1); + // else if (_current_elem->n_vertices() < 5) + // _ele_len[_qp] = (_current_elem->length(0, 1) + _current_elem->length(1, 2)) / 2.; + // else + // _ele_len[_qp] = + // (_current_elem->length(0, 1) + _current_elem->length(1, 2) + _current_elem->length(0, 4)) + // / 3.; + _ele_len[_qp] = std::cbrt(_current_elem->volume()); + + _gt[_qp] = _FEt / _ele_len[_qp]; + _gc[_qp] = _FEc / _ele_len[_qp]; + + _min_ep[_qp] = 0.; + _mid_ep[_qp] = 0.; + _max_ep[_qp] = 0.; + _sigma0[_qp] = 0.; + _sigma1[_qp] = 0.; + _sigma2[_qp] = 0.; + _intnl0[_qp] = 0.; + _intnl1[_qp] = 0.; + _tD[_qp] = 0.; + _cD[_qp] = 0.; + _D[_qp] = 0.; + MultiParameterPlasticityStressUpdate::initQpStatefulProperties(); +} + +void +DamagePlasticityStressUpdate::finalizeReturnProcess(const RankTwoTensor & /*rotation_increment*/) +{ + std::vector eigstrain; + _plastic_strain[_qp].symmetricEigenvalues(eigstrain); + _min_ep[_qp] = eigstrain[0]; + _mid_ep[_qp] = eigstrain[1]; + _max_ep[_qp] = eigstrain[2]; +} + +void +DamagePlasticityStressUpdate::computeStressParams(const RankTwoTensor & stress, + std::vector & stress_params) const +{ + stress.symmetricEigenvalues(stress_params); +} + +std::vector +DamagePlasticityStressUpdate::dstress_param_dstress(const RankTwoTensor & stress) const +{ + std::vector sp; + std::vector dsp; + stress.dsymmetricEigenvalues(sp, dsp); + return dsp; +} + +std::vector +DamagePlasticityStressUpdate::d2stress_param_dstress(const RankTwoTensor & stress) const +{ + std::vector d2; + stress.d2symmetricEigenvalues(d2); + return d2; +} + +void +DamagePlasticityStressUpdate::setEffectiveElasticity(const RankFourTensor & Eijkl) +{ + // Eijkl is required to be isotropic, so we can use the + // frame where stress is diagonal + for (unsigned a = 0; a < _num_sp; ++a) + for (unsigned b = 0; b < _num_sp; ++b) + _Eij[a][b] = Eijkl(a, a, b, b); + _En = _Eij[2][2]; + const Real denom = _Eij[0][0] * (_Eij[0][0] + _Eij[0][1]) - 2 * Utility::pow<2>(_Eij[0][1]); + for (unsigned a = 0; a < _num_sp; ++a) + { + _Cij[a][a] = (_Eij[0][0] + _Eij[0][1]) / denom; + for (unsigned b = 0; b < a; ++b) + _Cij[a][b] = _Cij[b][a] = -_Eij[0][1] / denom; + } +} + +void +DamagePlasticityStressUpdate::preReturnMapV(const std::vector & /*trial_stress_params*/, + const RankTwoTensor & stress_trial, + const std::vector & /*intnl_old*/, + const std::vector & /*yf*/, + const RankFourTensor & /*Eijkl*/) +{ + std::vector eigvals; + stress_trial.symmetricEigenvaluesEigenvectors(eigvals, _eigvecs); +} + +void +DamagePlasticityStressUpdate::setStressAfterReturnV(const RankTwoTensor & /*stress_trial*/, + const std::vector & stress_params, + Real /*gaE*/, + const std::vector & intnl, + const yieldAndFlow & /*smoothed_q*/, + const RankFourTensor & /*Eijkl*/, + RankTwoTensor & stress) const +{ + // form the diagonal stress + stress = RankTwoTensor(stress_params[0], stress_params[1], stress_params[2], 0.0, 0.0, 0.0); + // rotate to the original frame + stress = _eigvecs * stress * (_eigvecs.transpose()); + // _dir[_qp] = _eigvecs; + Real D = damageVar(stress_params, intnl); + _sigma0[_qp] = (1. - D) * stress_params[0]; + _sigma1[_qp] = (1. - D) * stress_params[1]; + _sigma2[_qp] = (1. - D) * stress_params[2]; + _intnl0[_qp] = intnl[0]; + _intnl1[_qp] = intnl[1]; + _D[_qp] = D; +} + +void +DamagePlasticityStressUpdate::yieldFunctionValuesV(const std::vector & stress_params, + const std::vector & intnl, + std::vector & yf) const +{ + Real I1 = stress_params[0] + stress_params[1] + stress_params[2]; + Real J2 = + (pow(stress_params[0] - stress_params[1], 2.) + pow(stress_params[1] - stress_params[2], 2.) + + pow(stress_params[2] - stress_params[0], 2.)) / + 6. + + _small_smoother2; + Real sqrtJ2 = sqrt(J2); + yf[0] = 1. / (1. - _alfa) * + (_alfa * I1 + _sqrt3 * sqrtJ2 + + beta(intnl) * (stress_params[2] < 0. ? 0. : stress_params[2])) - + fc(intnl); +} + +void +DamagePlasticityStressUpdate::computeAllQV(const std::vector & stress_params, + const std::vector & intnl, + std::vector & all_q) const +{ + Real I1 = stress_params[0] + stress_params[1] + stress_params[2]; + Real J2 = + (pow(stress_params[0] - stress_params[1], 2.) + pow(stress_params[1] - stress_params[2], 2.) + + pow(stress_params[2] - stress_params[0], 2.)) / + 6. + + _small_smoother2; + Real sqrtJ2 = sqrt(J2); + std::vector DevSt(3); // vector of principal deviatoric stress + for (unsigned i = 0; i < 3; ++i) + DevSt[i] = stress_params[i] - I1 / 3.; + + // yieldFunctionValuesV(stress_params, intnl, all_q[0].f); + all_q[0].f = 1. / (1. - _alfa) * + (_alfa * I1 + _sqrt3 * sqrtJ2 + + beta(intnl) * (stress_params[2] < 0. ? 0. : stress_params[2])) - + fc(intnl); + + for (unsigned i = 0; i < _num_sp; ++i) + all_q[0].df[i] = 1. / (1. - _alfa) * + (_alfa + _sqrt3 * DevSt[i] / (2. * sqrtJ2) + + beta(intnl) * (stress_params[2] < 0. ? 0. : (i == 2))); + all_q[0].df_di[0] = + 1. / (1. - _alfa) * (dbeta0(intnl) * (stress_params[2] < 0. ? 0. : stress_params[2])); + all_q[0].df_di[1] = + 1. / (1. - _alfa) * (dbeta1(intnl) * (stress_params[2] < 0. ? 0. : stress_params[2])) - + dfc(intnl); + + flowPotential(stress_params, intnl, all_q[0].dg); + dflowPotential_dstress(stress_params, intnl, all_q[0].d2g); + dflowPotential_dintnl(stress_params, intnl, all_q[0].d2g_di); +} + +void +DamagePlasticityStressUpdate::flowPotential(const std::vector & stress_params, + const std::vector & intnl, + std::vector & r) const +{ + Real J2 = + (pow(stress_params[0] - stress_params[1], 2.) + pow(stress_params[1] - stress_params[2], 2.) + + pow(stress_params[2] - stress_params[0], 2.)) / + 6. + + _small_smoother2; + Real invsqrt2J2 = 1. / sqrt(2. * J2); + std::vector DevSt(3); + DevSt[0] = (2. * stress_params[0] - stress_params[1] - stress_params[2]) / 3.; // dJ2/dsig0 + DevSt[1] = (2. * stress_params[1] - stress_params[2] - stress_params[0]) / 3.; // dJ2/dsig1 + DevSt[2] = (2. * stress_params[2] - stress_params[0] - stress_params[1]) / 3.; // dJ2/dsig2 + + Real D = damageVar(stress_params, intnl); + + for (unsigned int i = 0; i < _num_sp; ++i) + r[i] = (_alfa_p + (J2 < _f_tol ? 0. : DevSt[i] * invsqrt2J2)) * pow((1. - D), 1); +} + +void +DamagePlasticityStressUpdate::dflowPotential_dstress( + const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dr_dstress) const +{ + Real J2 = + (pow(stress_params[0] - stress_params[1], 2.) + pow(stress_params[1] - stress_params[2], 2.) + + pow(stress_params[2] - stress_params[0], 2.)) / + 6. + + _small_smoother2; + Real invsqrt2J2 = 1. / sqrt(2. * J2); + std::vector DevSt(3); + DevSt[0] = (2. * stress_params[0] - stress_params[1] - stress_params[2]) / 3.; // dJ2/dsig0 + DevSt[1] = (2. * stress_params[1] - stress_params[2] - stress_params[0]) / 3.; // dJ2/dsig1 + DevSt[2] = (2. * stress_params[2] - stress_params[0] - stress_params[1]) / 3.; // dJ2/dsig2 + + Real D = damageVar(stress_params, intnl); + + for (unsigned i = 0; i < _num_sp; ++i) + for (unsigned j = 0; j < (i + 1); ++j) + { + if (i != j) + { + dr_dstress[i][j] = J2 < _f_tol ? 0. + : invsqrt2J2 * (-1. / 3. - DevSt[i] * DevSt[j] / (2. * J2)) * + pow((1. - D), 2); + dr_dstress[j][i] = dr_dstress[i][j]; + } + else + dr_dstress[i][i] = J2 < _f_tol ? 0. + : invsqrt2J2 * (2. / 3. - DevSt[i] * DevSt[j] / (2. * J2)) * + pow((1. - D), 2); + } +} + +void +DamagePlasticityStressUpdate::dflowPotential_dintnl( + const std::vector & /* stress_params */, + const std::vector & /* intnl */, + std::vector> & dr_dintnl) const +{ + for (unsigned i = 0; i < _num_sp; ++i) + for (unsigned j = 0; j < _num_intnl; ++j) + dr_dintnl[i][j] = 0.; +} + +void +DamagePlasticityStressUpdate::hardPotential(const std::vector & stress_params, + const std::vector & intnl, + std::vector & h) const +{ + Real wf; + weighfac(stress_params, wf); + std::vector r(3); + flowPotential(stress_params, intnl, r); + h[0] = wf * ft(intnl) / _gt[_qp] * r[2]; + h[1] = -(1. - wf) * fc(intnl) / _gc[_qp] * r[0]; +} + +void +DamagePlasticityStressUpdate::dhardPotential_dstress(const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dh_dsig) const +{ + Real wf; + std::vector dwf(3); + dweighfac(stress_params, wf, dwf); + + std::vector r(3); + flowPotential(stress_params, intnl, r); + std::vector> dr_dsig(3, std::vector(3)); + dflowPotential_dstress(stress_params, intnl, dr_dsig); + + for (unsigned i = 0; i < _num_sp; ++i) + { + dh_dsig[0][i] = (wf * dr_dsig[2][i] + dwf[i] * r[2]) * ft(intnl) / _gt[_qp]; + dh_dsig[1][i] = -((1. - wf) * dr_dsig[0][i] - dwf[i] * r[0]) * fc(intnl) / _gc[_qp]; + } +} + +void +DamagePlasticityStressUpdate::dhardPotential_dintnl( + const std::vector & stress_params, + const std::vector & intnl, + std::vector> & dh_dintnl) const +{ + Real wf; + weighfac(stress_params, wf); + std::vector r(3); + flowPotential(stress_params, intnl, r); + + dh_dintnl[0][0] = wf * dft(intnl) / _gt[_qp] * r[2]; + dh_dintnl[0][1] = 0.; + dh_dintnl[1][0] = 0.; + dh_dintnl[1][1] = -(1 - wf) * dfc(intnl) / _gc[_qp] * r[0]; +} + +void +DamagePlasticityStressUpdate::initialiseVarsV(const std::vector & trial_stress_params, + const std::vector & intnl_old, + std::vector & stress_params, + Real & /* gaE */, + std::vector & intnl) const +{ + setIntnlValuesV(trial_stress_params, stress_params, intnl_old, intnl); +} + +void +DamagePlasticityStressUpdate::setIntnlValuesV(const std::vector & trial_stress_params, + const std::vector & current_stress_params, + const std::vector & intnl_old, + std::vector & intnl) const +{ + Real I1_trial = trial_stress_params[0] + trial_stress_params[1] + trial_stress_params[2]; + Real J2_trial = (pow(trial_stress_params[0] - trial_stress_params[1], 2.) + + pow(trial_stress_params[1] - trial_stress_params[2], 2.) + + pow(trial_stress_params[2] - trial_stress_params[0], 2.)) / + 6. + + _small_smoother2; + Real invsqrt2J2_trial = 1. / sqrt(2. * J2_trial); + Real G = 0.5 * (_Eij[0][0] - _Eij[0][1]); // Lame's mu + Real K = _Eij[0][1] + 2. * G / 3.; // Bulk modulus + Real C1 = (2. * G * invsqrt2J2_trial); + Real C2 = -(I1_trial / 3. * G * invsqrt2J2_trial - 3. * K * _alfa_p); + Real C3 = 3. * K * _alfa_p; + + RankTwoTensor dsig = RankTwoTensor(trial_stress_params[0] - current_stress_params[0], + trial_stress_params[1] - current_stress_params[1], + trial_stress_params[2] - current_stress_params[2], + 0., + 0., + 0.); + RankTwoTensor fac = J2_trial < _f_tol ? C3 * RankTwoTensor(1., 1., 1., 0., 0., 0.) + : RankTwoTensor(C1 * trial_stress_params[0] - C2, + C1 * trial_stress_params[1] - C2, + C1 * trial_stress_params[2] - C2, + 0., + 0., + 0.); + + Real lam = dsig.L2norm() / fac.L2norm(); + std::vector h(2); + hardPotential(current_stress_params, intnl_old, h); + + intnl[0] = intnl_old[0] + lam * h[0]; + intnl[1] = intnl_old[1] + lam * h[1]; +} + +void +DamagePlasticityStressUpdate::setIntnlDerivativesV(const std::vector & trial_stress_params, + const std::vector & current_stress_params, + const std::vector & intnl, + std::vector> & dintnl) const +{ + Real I1_trial = trial_stress_params[0] + trial_stress_params[1] + trial_stress_params[2]; + Real J2_trial = (pow(trial_stress_params[0] - trial_stress_params[1], 2.) + + pow(trial_stress_params[1] - trial_stress_params[2], 2.) + + pow(trial_stress_params[2] - trial_stress_params[0], 2.)) / + 6.; + Real invsqrt2J2_trial = 1. / sqrt(2. * J2_trial); + Real G = 0.5 * (_Eij[0][0] - _Eij[0][1]); // Lame's mu + Real K = _Eij[0][1] + 2. * G / 3.; // Bulk modulus + Real C1 = (2. * G * invsqrt2J2_trial); + Real C2 = -(I1_trial / 3. * G * invsqrt2J2_trial - 3. * K * _alfa_p); + Real C3 = 3. * K * _alfa_p; + + RankTwoTensor dsig = RankTwoTensor(trial_stress_params[0] - current_stress_params[0], + trial_stress_params[1] - current_stress_params[1], + trial_stress_params[2] - current_stress_params[2], + 0., + 0., + 0.); + RankTwoTensor fac = J2_trial < _f_tol ? C3 * RankTwoTensor(1., 1., 1., 0., 0., 0.) + : RankTwoTensor(C1 * trial_stress_params[0] - C2, + C1 * trial_stress_params[1] - C2, + C1 * trial_stress_params[2] - C2, + 0., + 0., + 0.); + + Real lam = dsig.L2norm() / fac.L2norm(); + + std::vector dlam_dsig(3); + for (unsigned i = 0; i < _num_sp; ++i) + dlam_dsig[i] = dsig.L2norm() == 0. ? 0. + : -(trial_stress_params[i] - current_stress_params[i]) / + (dsig.L2norm() * fac.L2norm()); + + std::vector h(2); + hardPotential(current_stress_params, intnl, h); + std::vector> dh_dsig(2, std::vector(3)); + dhardPotential_dstress(current_stress_params, intnl, dh_dsig); + std::vector> dh_dintnl(2, std::vector(2)); + dhardPotential_dintnl(current_stress_params, intnl, dh_dintnl); + + for (unsigned i = 0; i < _num_intnl; ++i) + for (unsigned j = 0; j < _num_sp; ++j) + dintnl[i][j] = dlam_dsig[j] * h[i] + lam * dh_dsig[i][j]; +} + +Real +DamagePlasticityStressUpdate::ft(const std::vector & intnl) const +{ + Real sqrtPhi_t = sqrt(1. + _at * (2. + _at) * intnl[0]); + if (_zt > sqrtPhi_t / _at) + return _ft0 * pow(_zt - sqrtPhi_t / _at, (1. - _dt_bt)) * sqrtPhi_t; + else + return _ft0 * 1.E-6; +} + +Real +DamagePlasticityStressUpdate::dft(const std::vector & intnl) const +{ + Real sqrtPhi_t = sqrt(1. + _at * (2. + _at) * intnl[0]); + if (_zt > sqrtPhi_t / _at) + return _ft0 * _dPhit / (2 * sqrtPhi_t) * pow(_zt - sqrtPhi_t / _at, -_dt_bt) * + (_zt - (2. - _dt_bt) * sqrtPhi_t / _at); + else + return 0.; +} + +Real +DamagePlasticityStressUpdate::fc(const std::vector & intnl) const +{ + Real sqrtPhi_c; + if (intnl[1] < 1.0) + sqrtPhi_c = sqrt(1. + _ac * (2. + _ac) * intnl[1]); + else + sqrtPhi_c = sqrt(1. + _ac * (2. + _ac) * 0.99); + return _fc0 * pow((_zc - sqrtPhi_c / _ac), (1. - _dc_bc)) * sqrtPhi_c; +} + +Real +DamagePlasticityStressUpdate::dfc(const std::vector & intnl) const +{ + if (intnl[1] < 1.0) + { + Real sqrtPhi_c = sqrt(1. + _ac * (2. + _ac) * intnl[1]); + return _fc0 * _dPhic / (2. * sqrtPhi_c) * pow(_zc - sqrtPhi_c / _ac, -_dc_bc) * + (_zc - (2. - _dc_bc) * sqrtPhi_c / _ac); + } + else + return 0.; +} + +Real +DamagePlasticityStressUpdate::beta(const std::vector & intnl) const +{ + return (1. - _alfa) * fc(intnl) / ft(intnl) - (1. + _alfa); +} + +Real +DamagePlasticityStressUpdate::dbeta0(const std::vector & intnl) const +{ + return -(1. - _alfa) * fc(intnl) * dft(intnl) / pow(ft(intnl), 2.); +} + +Real +DamagePlasticityStressUpdate::dbeta1(const std::vector & intnl) const +{ + return dfc(intnl) / ft(intnl) * (1. - _alfa); +} + +void +DamagePlasticityStressUpdate::weighfac(const std::vector & stress_params, Real & wf) const +{ + Real Dr = 0.; + Real Nr = 0.; + for (unsigned i = 0; i < _num_sp; ++i) + { + if (stress_params[i] > 0.) + { + Nr += stress_params[i]; + Dr += stress_params[i]; + } + else + Dr += -stress_params[i]; + } + wf = Nr / Dr; +} + +void +DamagePlasticityStressUpdate::dweighfac(const std::vector & stress_params, + Real & wf, + std::vector & dwf) const +{ + std::vector dNr(3, 0.), dDr(3, 0.); + Real Dr = 0.; + Real Nr = 0.; + for (unsigned i = 0; i < _num_sp; ++i) + { + if (stress_params[i] > 0.) + { + Nr += stress_params[i]; + dNr[i] = 1.; + Dr += stress_params[i]; + dDr[i] = 1.; + } + else + { + Dr += -stress_params[i]; + dDr[i] = -1.; + } + } + wf = Nr / Dr; + + for (unsigned i = 0; i < _num_sp; ++i) + dwf[i] = (dNr[i] - wf * dDr[i]) / Dr; +} + +Real +DamagePlasticityStressUpdate::damageVar(const std::vector & stress_params, + const std::vector & intnl) const +{ + Real sqrtPhi_t = sqrt(1. + _at * (2. + _at) * intnl[0]); + if (_zt > sqrtPhi_t / _at) + _tD[_qp] = 1. - pow(_zt - sqrtPhi_t / _at, _dt_bt); + else + _tD[_qp] = 1. - 1.E-6; + + Real wf; + weighfac(stress_params, wf); + Real s = _s0 + (1. - _s0) * wf; + + Real sqrtPhi_c; + if (intnl[1] < 1.0) + sqrtPhi_c = sqrt(1. + _ac * (2. + _ac) * intnl[1]); + else + sqrtPhi_c = sqrt(1. + _ac * (2. + _ac) * 0.99); + + _cD[_qp] = 1. - pow((_zc - sqrtPhi_c / _ac), _dc_bc); + return 1. - (1. - s * _tD[_qp]) * (1. - _cD[_qp]); +} + +void +DamagePlasticityStressUpdate::consistentTangentOperatorV( + const RankTwoTensor & /* stress_trial */, + const std::vector & /* trial_stress_params */, + const RankTwoTensor & /*stress*/, + const std::vector & /* stress_params */, + Real /*gaE*/, + const yieldAndFlow & /*smoothed_q*/, + const RankFourTensor & elasticity_tensor, + bool /* compute_full_tangent_operator */, + const std::vector> & /* dvar_dtrial */, + RankFourTensor & cto) +{ + cto = elasticity_tensor; + return; +} diff --git a/test/tests/plastic_damage_model/bi_ten.i b/test/tests/plastic_damage_model/bi_ten.i new file mode 100644 index 000000000..96a0c30bd --- /dev/null +++ b/test/tests/plastic_damage_model/bi_ten.i @@ -0,0 +1,30 @@ +[BCs] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0.' + [../] + [./top_surface] + type = FunctionDirichletBC + variable = disp_y + boundary = 'top' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_y] + type = AverageNodalVariableValue + variable = disp_y + boundary = 'top' + [../] + [./s_yy] + type = ElementAverageValue + variable = stress_yy + [../] +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/bi_ten +[] diff --git a/test/tests/plastic_damage_model/dpm_mesh_model.png b/test/tests/plastic_damage_model/dpm_mesh_model.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7f2d4b4e85c5de0ace953777e23edf659d9eec GIT binary patch literal 229223 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 IvvFVjcUdt&cmMzZ literal 0 HcmV?d00001 diff --git a/test/tests/plastic_damage_model/gold/Lee_bi_cmp.csv b/test/tests/plastic_damage_model/gold/Lee_bi_cmp.csv new file mode 100644 index 000000000..bd2a2ef2b --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_bi_cmp.csv @@ -0,0 +1,25 @@ +0.00E+00,0.00 +-8.25E-05,-2.72 +-2.37E-04,-9.05 +-4.84E-04,-18.68 +-5.67E-04,-20.74 +-7.01E-04,-23.32 +-9.19E-04,-26.26 +-1.16E-03,-28.69 +-1.46E-03,-30.76 +-1.68E-03,-31.57 +-1.81E-03,-31.87 +-1.96E-03,-32.01 +-2.16E-03,-31.87 +-2.36E-03,-31.43 +-2.55E-03,-30.70 +-2.76E-03,-29.82 +-2.98E-03,-28.72 +-3.24E-03,-26.89 +-3.67E-03,-24.02 +-4.01E-03,-21.60 +-4.37E-03,-18.96 +-4.87E-03,-15.37 +, +, +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_bi_ten.csv b/test/tests/plastic_damage_model/gold/Lee_bi_ten.csv new file mode 100644 index 000000000..fd59e52fd --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_bi_ten.csv @@ -0,0 +1,25 @@ +0.00E+00,0.00 +1.40E-05,0.55 +3.30E-05,1.21 +5.01E-05,1.87 +6.03E-05,2.27 +7.67E-05,2.91 +8.44E-05,3.16 +9.13E-05,3.36 +1.19E-04,2.98 +1.41E-04,2.67 +1.71E-04,2.27 +1.95E-04,2.00 +2.16E-04,1.73 +2.40E-04,1.46 +2.68E-04,1.21 +2.93E-04,1.01 +3.35E-04,0.74 +3.60E-04,0.61 +4.00E-04,0.44 +4.34E-04,0.35 +4.74E-04,0.25 +5.19E-04,0.17 +5.64E-04,0.11 +5.88E-04,0.09 +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_cyc_shr.csv b/test/tests/plastic_damage_model/gold/Lee_cyc_shr.csv new file mode 100644 index 000000000..53418c991 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_cyc_shr.csv @@ -0,0 +1,61 @@ +3.95E-06,3.16E-05 +2.12E-04,2.85E+00 +2.44E-04,3.05E+00 +4.81E-04,2.91E+00 +6.02E-04,2.86E+00 +4.82E-04,1.97E+00 +3.44E-04,9.80E-01 +2.52E-04,1.68E-02 +1.72E-04,-8.79E-01 +-3.24E-06,-2.13E+00 +-7.71E-05,-2.70E+00 +-1.15E-04,-2.82E+00 +-5.90E-04,-2.82E+00 +-3.53E-04,-1.70E+00 +-3.11E-04,-1.47E+00 +-1.34E-04,1.39E-02 +3.25E-06,1.16E+00 +6.02E-05,1.60E+00 +3.37E-04,2.88E+00 +6.04E-04,2.87E+00 +3.33E-04,1.79E+00 +3.00E-04,1.58E+00 +9.29E-05,8.16E-03 +-1.39E-04,-1.71E+00 +-4.12E-04,-2.79E+00 +-5.85E-04,-2.83E+00 +-4.21E-04,-2.20E+00 +-2.96E-04,-1.71E+00 +-1.88E-04,-9.42E-01 +-2.37E-05,1.71E-01 +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_cyc_uni_cmp.csv b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_cmp.csv new file mode 100644 index 000000000..1d1caf7bb --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_cmp.csv @@ -0,0 +1,47 @@ +0.00E+00,0.00E+00 +-2.86E-04,-8.76E+00 +-4.54E-04,-1.42E+01 +-5.18E-04,-1.61E+01 +-5.76E-04,-1.73E+01 +-6.50E-04,-1.86E+01 +-8.02E-04,-2.05E+01 +-1.07E-03,-2.34E+01 +-1.31E-03,-2.53E+01 +-1.52E-03,-2.64E+01 +-1.73E-03,-2.72E+01 +-1.88E-03,-2.76E+01 +-2.11E-03,-2.76E+01 +-1.46E-03,-1.52E+01 +-7.06E-04,-1.14E+00 +-2.09E-03,-2.72E+01 +-2.21E-03,-2.76E+01 +-2.40E-03,-2.72E+01 +-2.63E-03,-2.65E+01 +-2.84E-03,-2.57E+01 +-3.01E-03,-2.48E+01 +-2.42E-03,-1.71E+01 +-1.22E-03,-1.21E+00 +-3.00E-03,-2.49E+01 +-3.30E-03,-2.32E+01 +-3.58E-03,-2.14E+01 +-3.84E-03,-1.98E+01 +-3.91E-03,-1.92E+01 +-3.30E-03,-1.39E+01 +-1.81E-03,-1.12E+00 +-3.91E-03,-1.92E+01 +-4.09E-03,-1.79E+01 +-4.31E-03,-1.63E+01 +-4.40E-03,-1.57E+01 +-3.75E-03,-1.15E+01 +-2.55E-03,-3.35E+00 +-2.23E-03,-1.28E+00 +-4.38E-03,-1.57E+01 +-4.60E-03,-1.45E+01 +-4.80E-03,-1.31E+01 +-5.00E-03,-1.19E+01 +-3.89E-03,-6.50E+00 +-2.82E-03,-1.58E+00 +-5.00E-03,-1.19E+01 +, +, +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten.csv b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten.csv new file mode 100644 index 000000000..0eeb294ba --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten.csv @@ -0,0 +1,47 @@ +-5.25E-07,-3.77E-03 +3.80E-05,1.24E+00 +8.98E-05,2.94E+00 +1.03E-04,3.29E+00 +1.09E-04,3.41E+00 +1.19E-04,3.20E+00 +1.42E-04,2.76E+00 +1.59E-04,2.48E+00 +6.20E-05,2.91E-01 +1.58E-04,2.48E+00 +1.82E-04,2.12E+00 +2.09E-04,1.78E+00 +2.30E-04,1.54E+00 +1.31E-04,1.78E-01 +2.31E-04,1.53E+00 +2.49E-04,1.34E+00 +2.74E-04,1.13E+00 +3.00E-04,9.43E-01 +2.12E-04,2.04E-01 +3.01E-04,9.47E-01 +3.26E-04,7.94E-01 +3.58E-04,6.38E-01 +2.75E-04,1.47E-01 +3.57E-04,6.35E-01 +3.81E-04,5.34E-01 +4.04E-04,4.57E-01 +4.29E-04,3.90E-01 +3.40E-04,9.03E-02 +4.28E-04,3.87E-01 +4.51E-04,3.35E-01 +4.90E-04,2.51E-01 +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten_cmp.csv b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten_cmp.csv new file mode 100644 index 000000000..1f57545d0 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_cyc_uni_ten_cmp.csv @@ -0,0 +1,61 @@ +3.67E-07,-8.88E-03 +1.86E-05,3.23E+00 +1.98E-05,3.32E+00 +3.52E-05,2.98E+00 +1.00E-05,-1.83E-02 +5.94E-07,-1.42E+00 +1.00E-05,-8.36E-03 +3.52E-05,2.96E+00 +3.66E-05,2.94E+00 +5.48E-05,2.48E+00 +2.22E-05,-5.22E-03 +2.27E-07,-2.73E+00 +2.20E-05,-1.27E-02 +5.39E-05,2.37E+00 +5.60E-05,2.43E+00 +6.99E-05,2.11E+00 +3.14E-05,-1.22E-02 +6.88E-06,-2.81E+00 +3.11E-05,-1.22E-02 +6.87E-05,2.04E+00 +7.20E-05,2.06E+00 +8.53E-05,1.78E+00 +3.98E-05,-1.18E-02 +1.06E-05,-3.06E+00 +3.96E-05,-1.92E-02 +8.50E-05,1.77E+00 +9.98E-05,1.48E+00 +4.72E-05,-1.14E-02 +1.56E-05,-3.21E+00 +4.70E-05,-1.88E-02 +9.96E-05,1.47E+00 +1.17E-04,1.20E+00 +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_dila_ap_02.csv b/test/tests/plastic_damage_model/gold/Lee_dila_ap_02.csv new file mode 100644 index 000000000..f6d56ee07 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_dila_ap_02.csv @@ -0,0 +1,14 @@ +1.91E-05,0.00 +-6.46E-05,-3.74 +-1.54E-04,-8.03 +-2.37E-04,-12.21 +-3.15E-04,-16.02 +-3.76E-04,-20.98 +-3.81E-04,-23.07 +-4.48E-04,-27.51 +-3.19E-04,-21.46 +-2.13E-04,-18.18 +-5.54E-05,-14.89 +1.08E-04,-12.09 +2.43E-04,-10.30 +3.67E-04,-9.10 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_dila_ap_025.csv b/test/tests/plastic_damage_model/gold/Lee_dila_ap_025.csv new file mode 100644 index 000000000..c4725a824 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_dila_ap_025.csv @@ -0,0 +1,23 @@ +1.35E-05,-0.04 +-1.20E-04,-6.39 +-2.21E-04,-11.35 +-3.15E-04,-16.20 +-3.38E-04,-17.55 +-3.37E-04,-20.64 +-3.30E-04,-23.33 +-3.12E-04,-25.31 +-2.72E-04,-27.06 +-2.44E-04,-27.47 +-2.27E-04,-27.67 +-2.06E-04,-27.58 +-1.72E-04,-27.22 +-1.72E-04,-27.22 +-4.07E-05,-25.29 +5.64E-05,-23.60 +2.34E-04,-20.64 +4.16E-04,-18.09 +5.93E-04,-15.96 +8.01E-04,-13.60 +9.87E-04,-11.95 +1.16E-03,-10.52 +1.36E-03,-9.17 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_dila_ap_03.csv b/test/tests/plastic_damage_model/gold/Lee_dila_ap_03.csv new file mode 100644 index 000000000..8ddd7edf0 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_dila_ap_03.csv @@ -0,0 +1,25 @@ +1.49E-05,0.01 +-7.71E-05,-4.44 +-1.57E-04,-8.24 +-2.65E-04,-13.62 +-3.32E-04,-16.98 +-3.27E-04,-18.46 +-2.93E-04,-20.64 +-2.62E-04,-22.52 +-2.32E-04,-23.83 +-1.85E-04,-25.54 +-1.42E-04,-26.38 +-9.53E-05,-26.97 +-4.00E-05,-27.41 +2.80E-05,-27.63 +8.32E-05,-27.47 +1.64E-04,-27.10 +2.48E-04,-26.48 +3.76E-04,-25.48 +5.32E-04,-24.02 +7.61E-04,-21.78 +1.04E-03,-19.09 +1.30E-03,-16.93 +1.97E-03,-12.22 +2.29E-03,-10.42 +2.56E-03,-9.02 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_uni_cmp.csv b/test/tests/plastic_damage_model/gold/Lee_uni_cmp.csv new file mode 100644 index 000000000..50a33fe90 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_uni_cmp.csv @@ -0,0 +1,26 @@ +0.00E+00,0.00 +-1.45E-04,-4.05 +-2.79E-04,-8.31 +-4.34E-04,-13.24 +-5.26E-04,-16.26 +-5.57E-04,-16.99 +-5.99E-04,-17.95 +-6.72E-04,-18.91 +-7.89E-04,-20.50 +-9.55E-04,-22.32 +-1.14E-03,-24.09 +-1.31E-03,-25.22 +-1.50E-03,-26.25 +-1.68E-03,-27.03 +-1.84E-03,-27.38 +-1.97E-03,-27.58 +-2.17E-03,-27.58 +-2.34E-03,-27.39 +-2.56E-03,-26.85 +-2.84E-03,-26.12 +-3.05E-03,-25.05 +-3.58E-03,-22.21 +-3.84E-03,-20.74 +-4.18E-03,-18.64 +-4.58E-03,-16.15 +-4.88E-03,-14.34 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_uni_ten.csv b/test/tests/plastic_damage_model/gold/Lee_uni_ten.csv new file mode 100644 index 000000000..bb5a76c13 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_uni_ten.csv @@ -0,0 +1,25 @@ +0.00E+00,0.00 +1.33E-05,0.38 +2.85E-05,0.88 +4.12E-05,1.30 +5.96E-05,1.86 +9.32E-05,2.91 +1.01E-04,3.16 +1.11E-04,3.46 +1.25E-04,3.20 +1.41E-04,2.87 +1.58E-04,2.56 +1.82E-04,2.19 +1.99E-04,1.95 +2.21E-04,1.67 +2.48E-04,1.39 +2.79E-04,1.11 +3.10E-04,0.90 +3.42E-04,0.72 +3.81E-04,0.56 +4.15E-04,0.44 +4.58E-04,0.32 +4.99E-04,0.25 +5.40E-04,0.19 +5.86E-04,0.09 +, \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_2_elem.csv b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_2_elem.csv new file mode 100644 index 000000000..bde340393 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_2_elem.csv @@ -0,0 +1,17 @@ +3.61664E-05,0.504201681 +0.000687161,11.59663866 +0.002314647,37.81512605 +0.003471971,55.29411765 +0.004484629,71.42857143 +0.005424955,85.88235294 +0.005895118,82.68907563 +0.006003617,78.65546218 +0.006437613,67.73109244 +0.007088608,55.79831933 +0.008282098,41.8487395 +0.009584087,30.92436975 +0.011103074,22.01680672 +0.012983725,15.12605042 +0.014972875,10.25210084 +0.017070524,7.058823529 +0.019240506,4.705882353 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_4_elem.csv b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_4_elem.csv new file mode 100644 index 000000000..c755f1096 --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_4_elem.csv @@ -0,0 +1,15 @@ +0,0.168067227 +0.000759494,12.10084034 +0.002857143,45.21008403 +0.005497288,85.37815126 +0.005822785,78.31932773 +0.006401447,61.17647059 +0.006943942,49.41176471 +0.007703436,39.49579832 +0.008499096,31.42857143 +0.009511754,24.53781513 +0.011211573,15.96638655 +0.013092224,10.58823529 +0.015551537,6.386554622 +0.018155515,3.697478992 +0.019891501,2.521008403 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_8_elem.csv b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_8_elem.csv new file mode 100644 index 000000000..db8b8c23b --- /dev/null +++ b/test/tests/plastic_damage_model/gold/Lee_uni_ten_msh_sen_8_elem.csv @@ -0,0 +1,13 @@ +-7.23327E-05,0.168067227 +0.000831826,13.61344538 +0.003471971,54.95798319 +0.005497288,85.37815126 +0.005822785,73.94957983 +0.006473779,53.94957983 +0.007016275,43.36134454 +0.007884268,33.27731092 +0.009222423,23.19327731 +0.011392405,13.44537815 +0.013490054,8.403361345 +0.016166365,4.705882353 +0.019891501,2.352941176 \ No newline at end of file diff --git a/test/tests/plastic_damage_model/multiaxial1_cmp.i b/test/tests/plastic_damage_model/multiaxial1_cmp.i new file mode 100644 index 000000000..afa5d552f --- /dev/null +++ b/test/tests/plastic_damage_model/multiaxial1_cmp.i @@ -0,0 +1,283 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 2 + ny = 2 + xmin = -12.7 + xmax = 12.7 + ymin = -12.7 + ymax = 12.7 +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-1E-3*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = ElementAverageValue + variable = stress_xx + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.1E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.25 + fracture_energy_in_compression = 825E-3 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/multiaxial1_cmp + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/multiaxial1_ten.i b/test/tests/plastic_damage_model/multiaxial1_ten.i new file mode 100644 index 000000000..c2934f4a9 --- /dev/null +++ b/test/tests/plastic_damage_model/multiaxial1_ten.i @@ -0,0 +1,283 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 2 + ny = 2 + xmin = -12.7 + xmax = 12.7 + ymin = -12.7 + ymax = 12.7 +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = ElementAverageValue + variable = stress_xx + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 1750E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/multiaxial1_ten + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/multiaxial2_cmp.i b/test/tests/plastic_damage_model/multiaxial2_cmp.i new file mode 100644 index 000000000..3d7a7217e --- /dev/null +++ b/test/tests/plastic_damage_model/multiaxial2_cmp.i @@ -0,0 +1,288 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 2 + ny = 2 + xmin = -12.7 + xmax = 12.7 + ymin = -12.7 + ymax = 12.7 +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-1E-3*t' + [../] + [./top_surface] + type = FunctionDirichletBC + variable = disp_y + boundary = 'top' + function = '-1E-3*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = ElementAverageValue + variable = stress_xx + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.1E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.25 + fracture_energy_in_compression = 825E-3 + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/multiaxial2_cmp + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/multiaxial2_ten.i b/test/tests/plastic_damage_model/multiaxial2_ten.i new file mode 100644 index 000000000..b9060bf7b --- /dev/null +++ b/test/tests/plastic_damage_model/multiaxial2_ten.i @@ -0,0 +1,289 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 2 + ny = 2 + xmin = -12.7 + xmax = 12.7 + ymin = -12.7 + ymax = 12.7 +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] + [./top_surface] + type = FunctionDirichletBC + variable = disp_y + boundary = 'top' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = ElementAverageValue + variable = stress_xx + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 1750E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/multiaxial2_ten + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/plotting_SEM.py b/test/tests/plastic_damage_model/plotting_SEM.py new file mode 100644 index 000000000..88c712bd3 --- /dev/null +++ b/test/tests/plastic_damage_model/plotting_SEM.py @@ -0,0 +1,171 @@ +import matplotlib.pyplot as plt +import matplotlib.gridspec as gridspec +import matplotlib.image as mpimg +from matplotlib.ticker import (MultipleLocator, FormatStrFormatter, AutoMinorLocator) +from matplotlib.offsetbox import TextArea, DrawingArea, OffsetImage, AnnotationBbox, AnchoredOffsetbox +from numpy import * +import numpy as np +import pandas as pd +import math + +proj_dir = './test/tests/plastic_damage_model/' +# Tension test +uni_ten = pd.read_csv(proj_dir+'uni_ten.csv') +bi_ten = pd.read_csv(proj_dir+'bi_ten.csv') + +multiaxial1_ten = pd.read_csv(proj_dir+'multiaxial1_ten.csv') +multiaxial2_ten = pd.read_csv(proj_dir+'multiaxial2_ten.csv') + +# Mesh sensitivity test +uni_ten_msh_sen_1ele = pd.read_csv(proj_dir+'uni_ten_msh_sen_1ele.csv') +uni_ten_msh_sen_2ele = pd.read_csv(proj_dir+'uni_ten_msh_sen_2ele.csv') +uni_ten_msh_sen_4ele = pd.read_csv(proj_dir+'uni_ten_msh_sen_4ele.csv') + +# Compression test +uni_cmp = pd.read_csv(proj_dir+'uni_cmp.csv') +# bi_cmp = pd.read_csv(proj_dir+'bi_cmp.csv') + +multiaxial1_cmp = pd.read_csv(proj_dir+'multiaxial1_cmp.csv') +multiaxial2_cmp = pd.read_csv(proj_dir+'multiaxial2_cmp.csv') + +# Dilatancy test +uni_cmp_dila_ap_02 = pd.read_csv(proj_dir+'uni_cmp_dila_ap_02.csv') +uni_cmp_dila_ap_025 = pd.read_csv(proj_dir+'uni_cmp_dila_ap_025.csv') +uni_cmp_dila_ap_03 = pd.read_csv(proj_dir+'uni_cmp_dila_ap_03.csv') + +# Calculation of volumetric strain for Dilatancy test +vol_strain_ap_02 = uni_cmp_dila_ap_02['e_xx'] + uni_cmp_dila_ap_02['e_yy'] + uni_cmp_dila_ap_02['e_zz'] + uni_cmp_dila_ap_02['max_ep'] + uni_cmp_dila_ap_02['mid_ep'] + uni_cmp_dila_ap_02['min_ep'] +vol_strain_ap_025 = uni_cmp_dila_ap_025['e_xx'] + uni_cmp_dila_ap_025['e_yy'] + uni_cmp_dila_ap_025['e_zz'] + uni_cmp_dila_ap_025['max_ep'] + uni_cmp_dila_ap_025['mid_ep'] + uni_cmp_dila_ap_025['min_ep'] +vol_strain_ap_03 = uni_cmp_dila_ap_03['e_xx'] + uni_cmp_dila_ap_03['e_yy'] + uni_cmp_dila_ap_03['e_zz'] + uni_cmp_dila_ap_03['max_ep'] + uni_cmp_dila_ap_03['mid_ep'] + uni_cmp_dila_ap_03['min_ep'] + +# Shear Cyclic Loading +shr_cyclic = pd.read_csv(proj_dir+'shr_cyclic.csv') + +# Lee results +Lee_uni_ten = pd.read_csv(proj_dir+'gold/Lee_uni_ten.csv', header=None) +Lee_uni_cmp = pd.read_csv(proj_dir+'gold/Lee_uni_cmp.csv', header=None) +Lee_bi_ten = pd.read_csv(proj_dir+'gold/Lee_bi_ten.csv', header=None) +Lee_bi_cmp = pd.read_csv(proj_dir+'gold/Lee_bi_cmp.csv', header=None) +Lee_cyc_uni_ten = pd.read_csv(proj_dir+'gold/Lee_cyc_uni_ten.csv', header=None) +Lee_cyc_uni_cmp = pd.read_csv(proj_dir+'gold/Lee_uni_cmp.csv', header=None) +Lee_cyc_uni_ten_cmp = pd.read_csv(proj_dir+'gold/Lee_cyc_uni_ten_cmp.csv', header=None) +Lee_cyc_shr = pd.read_csv(proj_dir+'gold/Lee_cyc_shr.csv', header=None) +Lee_dila_ap_02 = pd.read_csv(proj_dir+'gold/Lee_dila_ap_02.csv', header=None) +Lee_dila_ap_025 = pd.read_csv(proj_dir+'gold/Lee_dila_ap_025.csv', header=None) +Lee_dila_ap_03 = pd.read_csv(proj_dir+'gold/Lee_dila_ap_03.csv', header=None) +Lee_uni_ten_msh_sen_2_elem = pd.read_csv(proj_dir+'gold/Lee_uni_ten_msh_sen_2_elem.csv', header=None) +Lee_uni_ten_msh_sen_4_elem = pd.read_csv(proj_dir+'gold/Lee_uni_ten_msh_sen_4_elem.csv', header=None) +Lee_uni_ten_msh_sen_8_elem = pd.read_csv(proj_dir+'gold/Lee_uni_ten_msh_sen_8_elem.csv', header=None) + +# function to put image +def place_image(im, loc=3, ax=None, zoom=1, **kw): + if ax==None: ax=plt.gca() + imagebox = OffsetImage(im, zoom=zoom*0.72) + ab = AnchoredOffsetbox(loc=loc, child=imagebox, frameon=False, **kw) + ax.add_artist(ab) + +## plotting Single Element Model (SEM) response +############################################################################# +SEM, SEM_ax = plt.subplots(2,2, sharex=False, sharey=False, figsize = (12,8)) +plt.subplots_adjust(left=0.08, bottom=0.1, right=0.95, top=0.95, wspace = 0.25, hspace = 0.3) +# SEM.text(0.03, 0.5, 'Force [N]', va='center', rotation='vertical') +# SEM.text(0.5, 0.05, 'Deformation [mm]', ha='center') + +[i, j] = [0, 0] +SEM_ax[i][j].set_title('Multi-axial Tensile Loading', fontsize=11) +SEM_ax[i][j].plot(Lee_uni_ten[0]*1000, Lee_uni_ten[1], c = '0.6', linestyle ='solid', linewidth=1.0, label= 'Uniaxial (Lee)') +SEM_ax[i][j].plot(Lee_bi_ten[0]*1000, Lee_bi_ten[1], c = '0.6', linestyle ='dashdot', linewidth=1.0, label= 'Biaxial (Lee)') +# SEM_ax[i][j].plot(uni_ten['displacement_x']/25.4*1000, uni_ten['s_xx'], c = '0', linestyle ='solid', linewidth=1.0, label= 'Uniaxial') +# SEM_ax[i][j].plot(bi_ten['displacement_x']/25.4*1000, bi_ten['s_xx'], c = '0', linestyle ='dashdot', linewidth=1.0, label= 'Biaxial') +SEM_ax[i][j].plot(multiaxial1_ten['displacement_x']/25.4*1000, multiaxial1_ten['s_xx'], c = '0', linestyle ='solid', linewidth=1.0, label= 'Uniaxial') +SEM_ax[i][j].plot(multiaxial2_ten['displacement_x']/25.4*1000, multiaxial2_ten['s_xx'], c = '0', linestyle ='dashdot', linewidth=1.0, label= 'Biaxial') + +SEM_ax[i][j].grid(color="grey", ls = '--', lw = 0.5) +# SEM_ax[i][j].xaxis.set_minor_locator(MultipleLocator(0.2)) +# SEM_ax[i][j].yaxis.set_minor_locator(MultipleLocator(0.2)) +SEM_ax[i][j].set_xlabel("Strain [mm/m]") +SEM_ax[i][j].set_ylabel("Stress [MPa]") +# SEM_ax[i][j].set_xlim(0, 0.001) +# SEM_ax[i][j].set_ylim(0,0.15) +# STT_image = mpimg.imread('./test/tests/plastic_damage_model_2017/gold/STT.png') +# place_image(STT_image, loc='lower right', ax=SEM_ax[i][j], pad=0, zoom=0.18) +SEM_ax[i][j].legend(loc='upper right', facecolor = 'white', framealpha = 0.4, edgecolor ='none') + + +[i, j] = [0, 1] +SEM_ax[i][j].set_title('Multi-axial Compressive Loading', fontsize=11) +SEM_ax[i][j].plot(-1*Lee_uni_cmp[0]*1000, -1*Lee_uni_cmp[1], c = '0.6', linestyle ='solid', linewidth=1.0, label= 'Uniaxial (Lee)') +SEM_ax[i][j].plot(-1*Lee_bi_cmp[0]*1000, -1*Lee_bi_cmp[1], c = '0.6', linestyle ='dashdot', linewidth=1.0, label= 'Biaxial (Lee)') +SEM_ax[i][j].plot(-1*multiaxial1_cmp['displacement_x']/25.4*1000, -1*multiaxial1_cmp['s_xx'], c = '0', linestyle ='solid', linewidth=1.0, label= 'Uniaxial (Model)') +SEM_ax[i][j].plot(-1*multiaxial2_cmp['displacement_x']/25.4*1000, -1*multiaxial2_cmp['s_xx'], c = '0', linestyle ='dashdot', linewidth=1.0, label= 'Biaxial (Model)') +SEM_ax[i][j].grid(color="grey", ls = '--', lw = 0.5) +# SEM_ax[i][j].xaxis.set_minor_locator(MultipleLocator(0.2)) +# SEM_ax[i][j].yaxis.set_minor_locator(MultipleLocator(0.2)) +SEM_ax[i][j].set_ylabel("Stress [MPa]") +SEM_ax[i][j].set_xlabel("Strain [mm/m]") +# SEM_ax[i][j].set_xlim(0, 0.01) +# SEM_ax[i][j].set_ylim(0,35) +SEM_ax[i][j].legend(loc='lower center', facecolor = 'white', framealpha = 0.4, edgecolor ='none') + + +# [i, j] = [0, 2] +# SEM_ax[i][j].set_title('Shear Cyclic Loading', fontsize=11) +# SEM_ax[i][j].plot(Lee_cyc_shr[0], Lee_cyc_shr[1], c = '0.6', linestyle ='solid', linewidth=1.0, label= 'Uniaxial (Lee)') +# SEM_ax[i][j].plot(shr_cyclic['displacement_x']/25.4, shr_cyclic['s_xy'], c = '0', linestyle ='solid', linewidth=1.0, label= 'Uniaxial') +# SEM_ax[i][j].grid(color="grey", ls = '--', lw = 0.5) +# # SEM_ax[i][j].xaxis.set_minor_locator(MultipleLocator(0.2)) +# # SEM_ax[i][j].yaxis.set_minor_locator(MultipleLocator(0.2)) +# SEM_ax[i][j].set_xlabel("Strain [m/m]") +# SEM_ax[i][j].set_ylabel("Stress [MPa]") +# # SEM_ax[i][j].set_xlim(0, 0.001) +# # SEM_ax[i][j].set_ylim(0,0.15) +# # STT_image = mpimg.imread('./test/tests/plastic_damage_model_2017/gold/STT.png') +# # place_image(STT_image, loc='lower right', ax=SEM_ax[i][j], pad=0, zoom=0.18) +# SEM_ax[i][j].legend(loc='lower right', facecolor = 'white', framealpha = 0.4, edgecolor ='none') + + + +[i, j] = [1, 0] +SEM_ax[i][j].set_title('Mesh sensitivity', fontsize=11) +SEM_ax[i][j].plot(Lee_uni_ten_msh_sen_2_elem[0], Lee_uni_ten_msh_sen_2_elem[1], c = '0.6', linestyle ='solid', linewidth=1.0, label= '1 element (Lee)') +SEM_ax[i][j].plot(Lee_uni_ten_msh_sen_4_elem[0], Lee_uni_ten_msh_sen_4_elem[1], c = '0.6', linestyle ='dashdot', linewidth=1.0, label= '2 elements (Lee)') +SEM_ax[i][j].plot(Lee_uni_ten_msh_sen_8_elem[0], Lee_uni_ten_msh_sen_8_elem[1], c = '0.6', linestyle ='dashed', linewidth=1.0, label= '4 elements (Lee)') +SEM_ax[i][j].plot(uni_ten_msh_sen_1ele['displacement_x'], -1*uni_ten_msh_sen_1ele['react_x'], c = '0', linestyle ='solid', linewidth=1.0, label= '1 element (Model)') +SEM_ax[i][j].plot(uni_ten_msh_sen_2ele['displacement_x'], -1*uni_ten_msh_sen_2ele['react_x'], c = '0', linestyle ='dashdot', linewidth=1.0, label= '2 elements (Model)') +SEM_ax[i][j].plot(uni_ten_msh_sen_4ele['displacement_x'], -1*uni_ten_msh_sen_4ele['react_x'], c = '0', linestyle ='dashed', linewidth=1.0, label= '4 elements (Model)') +SEM_ax[i][j].grid(color="grey", ls = '--', lw = 0.5) +# SEM_ax[i][j].xaxis.set_minor_locator(MultipleLocator(0.2)) +# SEM_ax[i][j].yaxis.set_minor_locator(MultipleLocator(0.01)) +SEM_ax[i][j].set_ylabel("Force [N]") +SEM_ax[i][j].set_xlabel("Deformation [mm]") +SEM_ax[i][j].set_xlim(0, 0.02) +SEM_ax[i][j].set_ylim(0,90) +SEM_ax[i][j].legend(loc='upper right', facecolor = 'white', framealpha = 0.4, edgecolor ='none') + + +[i, j] = [1, 1] +SEM_ax[i][j].set_title('Dilatancy check', fontsize=11) +SEM_ax[i][j].plot(Lee_dila_ap_02[0]*1000, -1*Lee_dila_ap_02[1], c = '0.6', linestyle ='solid', linewidth=1.0, label= '$\\alpha_p$ = 0.20 (Lee)') +SEM_ax[i][j].plot(Lee_dila_ap_025[0]*1000, -1*Lee_dila_ap_025[1], c = '0.6', linestyle ='dashdot', linewidth=1.0, label= '$\\alpha_p$ = 0.25 (Lee)') +SEM_ax[i][j].plot(Lee_dila_ap_03[0]*1000, -1*Lee_dila_ap_03[1], c = '0.6', linestyle ='dashed', linewidth=1.0, label= '$\\alpha_p$ = 0.30 (Lee)') +SEM_ax[i][j].plot(vol_strain_ap_02*1000, -1*uni_cmp_dila_ap_02['s_xx'], c = '0', linestyle ='solid', linewidth=1.0, label= '$\\alpha_p$ = 0.12 (Model)') +SEM_ax[i][j].plot(vol_strain_ap_025*1000, -1*uni_cmp_dila_ap_025['s_xx'], c = '0', linestyle ='dashdot', linewidth=1.0, label= '$\\alpha_p$ = 0.15 (Model)') +SEM_ax[i][j].plot(vol_strain_ap_03*1000, -1*uni_cmp_dila_ap_03['s_xx'], c = '0', linestyle ='dashed', linewidth=1.0, label= '$\\alpha_p$ = 0.20 (Model)') +# SEM_ax[i][j].plot(Lee_dila_ap_02[0], -1*Lee_dila_ap_02[1], 'k', marker='o', ms=3, linewidth=1.0, label= '$\\alpha_p$ = 0.20 (Lee)') +# SEM_ax[i][j].plot(Lee_dila_ap_025[0], -1*Lee_dila_ap_025[1], 'r', marker='o', ms=3, linewidth=1.0, label= '$\\alpha_p$ = 0.25 (Lee)') +# SEM_ax[i][j].plot(Lee_dila_ap_03[0], -1*Lee_dila_ap_03[1], 'b', marker='o', ms=3, linewidth=1.0, label= '$\\alpha_p$ = 0.30 (Lee)') +# SEM_ax[i][j].plot(vol_strain_ap_02, -1*uni_cmp_dila_ap_02['s_xx'], 'k', linewidth=1.0, label= '$\\alpha_p$ = 0.12 (Model)') +# SEM_ax[i][j].plot(vol_strain_ap_025, -1*uni_cmp_dila_ap_025['s_xx'], 'r', linewidth=1.0, label= '$\\alpha_p$ = 0.15 (Model)') +# SEM_ax[i][j].plot(vol_strain_ap_03, -1*uni_cmp_dila_ap_03['s_xx'], 'b', linewidth=1.0, label= '$\\alpha_p$ = 0.20 (Model)') + +SEM_ax[i][j].grid(color="grey", ls = '--', lw = 0.5) +# SEM_ax[i][j].xaxis.set_minor_locator(MultipleLocator(0.2)) +# SEM_ax[i][j].yaxis.set_minor_locator(MultipleLocator(0.2)) +SEM_ax[i][j].set_ylabel("Stress [MPa]") +SEM_ax[i][j].set_xlabel("Strain [mm/m]") +SEM_ax[i][j].set_xlim(-1, 4) +# SEM_ax[i][j].set_ylim(0,0.15) +SEM_ax[i][j].legend(loc='upper right', facecolor = 'white', framealpha = 0.4, edgecolor ='none') + +plt.savefig(proj_dir+'dpm_results.png') +plt.show() diff --git a/test/tests/plastic_damage_model/shr_cyclic.i b/test/tests/plastic_damage_model/shr_cyclic.i new file mode 100644 index 000000000..f7bb0f427 --- /dev/null +++ b/test/tests/plastic_damage_model/shr_cyclic.i @@ -0,0 +1,288 @@ +[Mesh] + type = GeneratedMesh + dim = 2 + nx = 1 + ny = 1 + xmin = -12.7 + xmax = 12.7 + ymin = -12.7 + ymax = 12.7 +[] + + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./disp_x_zero] + type = FunctionDirichletBC + variable = disp_x + # boundary = '1 4' + boundary = 'bottom' + function = '0.' + [../] + [./disp_y_zero] + type = FunctionDirichletBC + variable = disp_y + boundary = 'top bottom' + # boundary = '1 2 3 4' + function = '0.' + [../] + [./disp_x_loading] + type = FunctionDirichletBC + variable = disp_x + boundary = 'top' + # boundary = '2 3' + function = '1E-3*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'top' + # boundary = '2 3' + [../] + [./eps_xy] + type = ElementAverageValue + variable = strain_xy + [../] + [./s_xy] + type = ElementAverageValue + variable = stress_xy + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.1E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.25 + fracture_energy_in_compression = 825E-3 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 0.2 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/shr_cyclic + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_cmp.i b/test/tests/plastic_damage_model/uni_cmp.i new file mode 100644 index 000000000..9e3061ce5 --- /dev/null +++ b/test/tests/plastic_damage_model/uni_cmp.i @@ -0,0 +1,499 @@ +[Mesh] + type = GeneratedMesh + dim = 3 + nx = 1 + ny = 1 + nz = 1 + xmin = -0.5 + xmax = 0.5 + ymin = -0.5 + ymax = 0.5 + zmin = -0.5 + zmax = 0.5 +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./disp_z] + [../] +[] + +[Kernels] + [./TensorMechanics] + displacements = 'disp_x disp_y disp_z' + save_in = 'resid_x resid_y resid_z' + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./resid_z] + [../] + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./min_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./mid_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./max_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma0] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma1] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma2] + order = CONSTANT + family = MONOMIAL + [../] + [./f0] + order = CONSTANT + family = MONOMIAL + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_xz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xz + index_i = 0 + index_j = 2 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_yz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yz + index_i = 1 + index_j = 2 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + [./strain_xx] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_xz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xz + index_i = 0 + index_j = 2 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_yz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yz + index_i = 1 + index_j = 2 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_zz + index_i = 2 + index_j = 2 + [../] + [./f0_auxk] + type = MaterialStdVectorAux + property = plastic_yield_function + index = 0 + variable = f0 + [../] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./min_ep] + type = MaterialRealAux + property = min_ep + variable = min_ep + [../] + [./mid_ep] + type = MaterialRealAux + property = mid_ep + variable = mid_ep + [../] + [./max_ep] + type = MaterialRealAux + property = max_ep + variable = max_ep + [../] + [./sigma0] + type = MaterialRealAux + property = damaged_min_principal_stress + variable = sigma0 + [../] + [./sigma1] + type = MaterialRealAux + property = damaged_mid_principal_stress + variable = sigma1 + [../] + [./sigma2] + type = MaterialRealAux + property = damaged_max_principal_stress + variable = sigma2 + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] +[] + +[Postprocessors] + active ='react_x react_y react_z displacement_x' + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] + [./react_y] + type = NodalSum + variable = resid_y + boundary = 'left' + [../] + [./react_z] + type = NodalSum + variable = resid_z + boundary = 'left' + [../] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = PointValue + point = '0 0 0' + variable = stress_xx + [../] + [./s_xy] + type = PointValue + point = '0 0 0' + variable = stress_xy + [../] + [./s_xz] + type = PointValue + point = '0 0 0' + variable = stress_xz + [../] + [./s_yy] + type = PointValue + point = '0 0 0' + variable = stress_yy + [../] + [./s_yz] + type = PointValue + point = '0 0 0' + variable = stress_yz + [../] + [./s_zz] + type = PointValue + point = '0 0 0' + variable = stress_zz + [../] + [./e_xx] + type = PointValue + point = '0 0 0' + variable = strain_xx + [../] + [./e_xy] + type = PointValue + point = '0 0 0' + variable = strain_xy + [../] + [./e_xz] + type = PointValue + point = '0 0 0' + variable = strain_xz + [../] + [./e_yy] + type = PointValue + point = '0 0 0' + variable = strain_yy + [../] + [./e_yz] + type = PointValue + point = '0 0 0' + variable = strain_yz + [../] + [./e_zz] + type = PointValue + point = '0 0 0' + variable = strain_zz + [../] + [./max_ep] + type = PointValue + point = '0 0 0' + variable = max_ep + [../] + [./mid_ep] + type = PointValue + point = '0 0 0' + variable = mid_ep + [../] + [./min_ep] + type = PointValue + point = '0 0 0' + variable = min_ep + [../] + [./sigma0] + type = PointValue + point = '0 0 0' + variable = sigma0 + [../] + [./sigma1] + type = PointValue + point = '0 0 0' + variable = sigma1 + [../] + [./sigma2] + type = PointValue + point = '0 0 0' + variable = sigma2 + [../] + [./f0] + type = PointValue + point = '0 0 0' + variable = f0 + [../] + [./D] + type = PointValue + point = '0 0 0' + variable = D + [../] + [./intnl0] + type = PointValue + point = '0 0 0' + variable = intnl0 + [../] + [./intnl1] + type = PointValue + point = '0 0 0' + variable = intnl1 + [../] +[] + +[BCs] + [./x_r] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-2E-5*x*t' + [../] + [./x_l] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0' + [../] + [./y_l] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0' + [../] + [./z_l] + type = FunctionDirichletBC + variable = disp_z + boundary = 'back' + function = '0' + [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./strain] + type = ComputeIncrementalSmallStrain + displacements = 'disp_x disp_y disp_z' + [../] + [./pdm] + # type = DamagePlasticityStressUpdate + # yield_function_tol = 1.E-5 + # alpha = 0.109 # fb0 = -19.47 + # alpha_p = 0.23 + # s0 = 0.001 + # + # at = 0.0001 # parameter to adjust yield strength + # Dt = 0.51 # degradation at half of maximum tensile strength + # ft = 3.48 # maximum yield strength + # gt = 4.8E-4 + # + # ac = 3.77 # parameter to adjust yield strength + # Dc = 0.40 # degradation at maximum compressive strength + # fc = 27.6 # maximum compressive strength of concrete + # gc = 6.889E-2 # + # + # tip_smoother = 1.E-6 + # smoothing_tol = 1.E-3 + + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.12 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.88 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.25 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + [../] +[] + +[Executioner] +# nl_abs_tol=1E-6 +# petsc_options_iname = '-pc_type' +# petsc_options_value = 'lu' + + end_time = 4000 + dt = 5 + type = Transient +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_cmp + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_cmp_dila_ap2.i b/test/tests/plastic_damage_model/uni_cmp_dila_ap2.i new file mode 100644 index 000000000..fe4293618 --- /dev/null +++ b/test/tests/plastic_damage_model/uni_cmp_dila_ap2.i @@ -0,0 +1,499 @@ +[Mesh] + type = GeneratedMesh + dim = 3 + nx = 1 + ny = 1 + nz = 1 + xmin = -0.5 + xmax = 0.5 + ymin = -0.5 + ymax = 0.5 + zmin = -0.5 + zmax = 0.5 +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./disp_z] + [../] +[] + +[Kernels] + [./TensorMechanics] + displacements = 'disp_x disp_y disp_z' + save_in = 'resid_x resid_y resid_z' + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./resid_z] + [../] + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./min_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./mid_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./max_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma0] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma1] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma2] + order = CONSTANT + family = MONOMIAL + [../] + [./f0] + order = CONSTANT + family = MONOMIAL + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_xz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xz + index_i = 0 + index_j = 2 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_yz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yz + index_i = 1 + index_j = 2 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + [./strain_xx] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_xz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xz + index_i = 0 + index_j = 2 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_yz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yz + index_i = 1 + index_j = 2 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_zz + index_i = 2 + index_j = 2 + [../] + [./f0_auxk] + type = MaterialStdVectorAux + property = plastic_yield_function + index = 0 + variable = f0 + [../] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./min_ep] + type = MaterialRealAux + property = min_ep + variable = min_ep + [../] + [./mid_ep] + type = MaterialRealAux + property = mid_ep + variable = mid_ep + [../] + [./max_ep] + type = MaterialRealAux + property = max_ep + variable = max_ep + [../] + [./sigma0] + type = MaterialRealAux + property = damaged_min_principal_stress + variable = sigma0 + [../] + [./sigma1] + type = MaterialRealAux + property = damaged_mid_principal_stress + variable = sigma1 + [../] + [./sigma2] + type = MaterialRealAux + property = damaged_max_principal_stress + variable = sigma2 + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] +[] + +[Postprocessors] + # active ='react_x react_y react_z displacement_x' + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] + [./react_y] + type = NodalSum + variable = resid_y + boundary = 'left' + [../] + [./react_z] + type = NodalSum + variable = resid_z + boundary = 'left' + [../] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = PointValue + point = '0 0 0' + variable = stress_xx + [../] + [./s_xy] + type = PointValue + point = '0 0 0' + variable = stress_xy + [../] + [./s_xz] + type = PointValue + point = '0 0 0' + variable = stress_xz + [../] + [./s_yy] + type = PointValue + point = '0 0 0' + variable = stress_yy + [../] + [./s_yz] + type = PointValue + point = '0 0 0' + variable = stress_yz + [../] + [./s_zz] + type = PointValue + point = '0 0 0' + variable = stress_zz + [../] + [./e_xx] + type = PointValue + point = '0 0 0' + variable = strain_xx + [../] + [./e_xy] + type = PointValue + point = '0 0 0' + variable = strain_xy + [../] + [./e_xz] + type = PointValue + point = '0 0 0' + variable = strain_xz + [../] + [./e_yy] + type = PointValue + point = '0 0 0' + variable = strain_yy + [../] + [./e_yz] + type = PointValue + point = '0 0 0' + variable = strain_yz + [../] + [./e_zz] + type = PointValue + point = '0 0 0' + variable = strain_zz + [../] + [./max_ep] + type = PointValue + point = '0 0 0' + variable = max_ep + [../] + [./mid_ep] + type = PointValue + point = '0 0 0' + variable = mid_ep + [../] + [./min_ep] + type = PointValue + point = '0 0 0' + variable = min_ep + [../] + [./sigma0] + type = PointValue + point = '0 0 0' + variable = sigma0 + [../] + [./sigma1] + type = PointValue + point = '0 0 0' + variable = sigma1 + [../] + [./sigma2] + type = PointValue + point = '0 0 0' + variable = sigma2 + [../] + [./f0] + type = PointValue + point = '0 0 0' + variable = f0 + [../] + [./D] + type = PointValue + point = '0 0 0' + variable = D + [../] + [./intnl0] + type = PointValue + point = '0 0 0' + variable = intnl0 + [../] + [./intnl1] + type = PointValue + point = '0 0 0' + variable = intnl1 + [../] +[] + +[BCs] + [./x_r] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-2E-5*x*t' + [../] + [./x_l] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0' + [../] + [./y_l] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0' + [../] + [./z_l] + type = FunctionDirichletBC + variable = disp_z + boundary = 'back' + function = '0' + [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./strain] + type = ComputeIncrementalSmallStrain + displacements = 'disp_x disp_y disp_z' + [../] + [./pdm] + # type = DamagePlasticityStressUpdate + # yield_function_tol = 1.E-5 + # alpha = 0.109 # fb0 = -19.47 + # alpha_p = 0.23 + # s0 = 0.001 + # + # at = 0.0001 # parameter to adjust yield strength + # Dt = 0.51 # degradation at half of maximum tensile strength + # ft = 3.48 # maximum yield strength + # gt = 4.8E-4 + # + # ac = 3.77 # parameter to adjust yield strength + # Dc = 0.40 # degradation at maximum compressive strength + # fc = 27.6 # maximum compressive strength of concrete + # gc = 6.889E-2 # + # + # tip_smoother = 1.E-6 + # smoothing_tol = 1.E-3 + + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.12 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.88 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + [../] +[] + +[Executioner] +# nl_abs_tol=1E-6 +# petsc_options_iname = '-pc_type' +# petsc_options_value = 'lu' + + end_time = 4000 + dt = 5 + type = Transient +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_cmp_dila_ap_02 + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_cmp_dila_ap25.i b/test/tests/plastic_damage_model/uni_cmp_dila_ap25.i new file mode 100644 index 000000000..2c98d23eb --- /dev/null +++ b/test/tests/plastic_damage_model/uni_cmp_dila_ap25.i @@ -0,0 +1,499 @@ +[Mesh] + type = GeneratedMesh + dim = 3 + nx = 1 + ny = 1 + nz = 1 + xmin = -0.5 + xmax = 0.5 + ymin = -0.5 + ymax = 0.5 + zmin = -0.5 + zmax = 0.5 +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./disp_z] + [../] +[] + +[Kernels] + [./TensorMechanics] + displacements = 'disp_x disp_y disp_z' + save_in = 'resid_x resid_y resid_z' + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./resid_z] + [../] + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./min_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./mid_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./max_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma0] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma1] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma2] + order = CONSTANT + family = MONOMIAL + [../] + [./f0] + order = CONSTANT + family = MONOMIAL + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_xz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xz + index_i = 0 + index_j = 2 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_yz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yz + index_i = 1 + index_j = 2 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + [./strain_xx] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_xz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xz + index_i = 0 + index_j = 2 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_yz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yz + index_i = 1 + index_j = 2 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_zz + index_i = 2 + index_j = 2 + [../] + [./f0_auxk] + type = MaterialStdVectorAux + property = plastic_yield_function + index = 0 + variable = f0 + [../] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./min_ep] + type = MaterialRealAux + property = min_ep + variable = min_ep + [../] + [./mid_ep] + type = MaterialRealAux + property = mid_ep + variable = mid_ep + [../] + [./max_ep] + type = MaterialRealAux + property = max_ep + variable = max_ep + [../] + [./sigma0] + type = MaterialRealAux + property = damaged_min_principal_stress + variable = sigma0 + [../] + [./sigma1] + type = MaterialRealAux + property = damaged_mid_principal_stress + variable = sigma1 + [../] + [./sigma2] + type = MaterialRealAux + property = damaged_max_principal_stress + variable = sigma2 + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] +[] + +[Postprocessors] + # active ='react_x react_y react_z displacement_x' + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] + [./react_y] + type = NodalSum + variable = resid_y + boundary = 'left' + [../] + [./react_z] + type = NodalSum + variable = resid_z + boundary = 'left' + [../] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = PointValue + point = '0 0 0' + variable = stress_xx + [../] + [./s_xy] + type = PointValue + point = '0 0 0' + variable = stress_xy + [../] + [./s_xz] + type = PointValue + point = '0 0 0' + variable = stress_xz + [../] + [./s_yy] + type = PointValue + point = '0 0 0' + variable = stress_yy + [../] + [./s_yz] + type = PointValue + point = '0 0 0' + variable = stress_yz + [../] + [./s_zz] + type = PointValue + point = '0 0 0' + variable = stress_zz + [../] + [./e_xx] + type = PointValue + point = '0 0 0' + variable = strain_xx + [../] + [./e_xy] + type = PointValue + point = '0 0 0' + variable = strain_xy + [../] + [./e_xz] + type = PointValue + point = '0 0 0' + variable = strain_xz + [../] + [./e_yy] + type = PointValue + point = '0 0 0' + variable = strain_yy + [../] + [./e_yz] + type = PointValue + point = '0 0 0' + variable = strain_yz + [../] + [./e_zz] + type = PointValue + point = '0 0 0' + variable = strain_zz + [../] + [./max_ep] + type = PointValue + point = '0 0 0' + variable = max_ep + [../] + [./mid_ep] + type = PointValue + point = '0 0 0' + variable = mid_ep + [../] + [./min_ep] + type = PointValue + point = '0 0 0' + variable = min_ep + [../] + [./sigma0] + type = PointValue + point = '0 0 0' + variable = sigma0 + [../] + [./sigma1] + type = PointValue + point = '0 0 0' + variable = sigma1 + [../] + [./sigma2] + type = PointValue + point = '0 0 0' + variable = sigma2 + [../] + [./f0] + type = PointValue + point = '0 0 0' + variable = f0 + [../] + [./D] + type = PointValue + point = '0 0 0' + variable = D + [../] + [./intnl0] + type = PointValue + point = '0 0 0' + variable = intnl0 + [../] + [./intnl1] + type = PointValue + point = '0 0 0' + variable = intnl1 + [../] +[] + +[BCs] + [./x_r] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-2E-5*x*t' + [../] + [./x_l] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0' + [../] + [./y_l] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0' + [../] + [./z_l] + type = FunctionDirichletBC + variable = disp_z + boundary = 'back' + function = '0' + [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./strain] + type = ComputeIncrementalSmallStrain + displacements = 'disp_x disp_y disp_z' + [../] + [./pdm] + # type = DamagePlasticityStressUpdate + # yield_function_tol = 1.E-5 + # alpha = 0.109 # fb0 = -19.47 + # alpha_p = 0.23 + # s0 = 0.001 + # + # at = 0.0001 # parameter to adjust yield strength + # Dt = 0.51 # degradation at half of maximum tensile strength + # ft = 3.48 # maximum yield strength + # gt = 4.8E-4 + # + # ac = 3.77 # parameter to adjust yield strength + # Dc = 0.40 # degradation at maximum compressive strength + # fc = 27.6 # maximum compressive strength of concrete + # gc = 6.889E-2 # + # + # tip_smoother = 1.E-6 + # smoothing_tol = 1.E-3 + + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.155 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.88 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + [../] +[] + +[Executioner] +# nl_abs_tol=1E-6 +# petsc_options_iname = '-pc_type' +# petsc_options_value = 'lu' + + end_time = 4000 + dt = 5 + type = Transient +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_cmp_dila_ap_025 + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_cmp_dila_ap3.i b/test/tests/plastic_damage_model/uni_cmp_dila_ap3.i new file mode 100644 index 000000000..2570d428a --- /dev/null +++ b/test/tests/plastic_damage_model/uni_cmp_dila_ap3.i @@ -0,0 +1,499 @@ +[Mesh] + type = GeneratedMesh + dim = 3 + nx = 1 + ny = 1 + nz = 1 + xmin = -0.5 + xmax = 0.5 + ymin = -0.5 + ymax = 0.5 + zmin = -0.5 + zmax = 0.5 +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./disp_z] + [../] +[] + +[Kernels] + [./TensorMechanics] + displacements = 'disp_x disp_y disp_z' + save_in = 'resid_x resid_y resid_z' + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./resid_z] + [../] + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yz] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] + [./min_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./mid_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./max_ep] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma0] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma1] + order = CONSTANT + family = MONOMIAL + [../] + [./sigma2] + order = CONSTANT + family = MONOMIAL + [../] + [./f0] + order = CONSTANT + family = MONOMIAL + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_xz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xz + index_i = 0 + index_j = 2 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_yz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yz + index_i = 1 + index_j = 2 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + [./strain_xx] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_xz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_xz + index_i = 0 + index_j = 2 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_yz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_yz + index_i = 1 + index_j = 2 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = elastic_strain + variable = strain_zz + index_i = 2 + index_j = 2 + [../] + [./f0_auxk] + type = MaterialStdVectorAux + property = plastic_yield_function + index = 0 + variable = f0 + [../] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./min_ep] + type = MaterialRealAux + property = min_ep + variable = min_ep + [../] + [./mid_ep] + type = MaterialRealAux + property = mid_ep + variable = mid_ep + [../] + [./max_ep] + type = MaterialRealAux + property = max_ep + variable = max_ep + [../] + [./sigma0] + type = MaterialRealAux + property = damaged_min_principal_stress + variable = sigma0 + [../] + [./sigma1] + type = MaterialRealAux + property = damaged_mid_principal_stress + variable = sigma1 + [../] + [./sigma2] + type = MaterialRealAux + property = damaged_max_principal_stress + variable = sigma2 + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] +[] + +[Postprocessors] + # active ='react_x react_y react_z displacement_x' + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] + [./react_y] + type = NodalSum + variable = resid_y + boundary = 'left' + [../] + [./react_z] + type = NodalSum + variable = resid_z + boundary = 'left' + [../] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = PointValue + point = '0 0 0' + variable = stress_xx + [../] + [./s_xy] + type = PointValue + point = '0 0 0' + variable = stress_xy + [../] + [./s_xz] + type = PointValue + point = '0 0 0' + variable = stress_xz + [../] + [./s_yy] + type = PointValue + point = '0 0 0' + variable = stress_yy + [../] + [./s_yz] + type = PointValue + point = '0 0 0' + variable = stress_yz + [../] + [./s_zz] + type = PointValue + point = '0 0 0' + variable = stress_zz + [../] + [./e_xx] + type = PointValue + point = '0 0 0' + variable = strain_xx + [../] + [./e_xy] + type = PointValue + point = '0 0 0' + variable = strain_xy + [../] + [./e_xz] + type = PointValue + point = '0 0 0' + variable = strain_xz + [../] + [./e_yy] + type = PointValue + point = '0 0 0' + variable = strain_yy + [../] + [./e_yz] + type = PointValue + point = '0 0 0' + variable = strain_yz + [../] + [./e_zz] + type = PointValue + point = '0 0 0' + variable = strain_zz + [../] + [./max_ep] + type = PointValue + point = '0 0 0' + variable = max_ep + [../] + [./mid_ep] + type = PointValue + point = '0 0 0' + variable = mid_ep + [../] + [./min_ep] + type = PointValue + point = '0 0 0' + variable = min_ep + [../] + [./sigma0] + type = PointValue + point = '0 0 0' + variable = sigma0 + [../] + [./sigma1] + type = PointValue + point = '0 0 0' + variable = sigma1 + [../] + [./sigma2] + type = PointValue + point = '0 0 0' + variable = sigma2 + [../] + [./f0] + type = PointValue + point = '0 0 0' + variable = f0 + [../] + [./D] + type = PointValue + point = '0 0 0' + variable = D + [../] + [./intnl0] + type = PointValue + point = '0 0 0' + variable = intnl0 + [../] + [./intnl1] + type = PointValue + point = '0 0 0' + variable = intnl1 + [../] +[] + +[BCs] + [./x_r] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '-2E-5*x*t' + [../] + [./x_l] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0' + [../] + [./y_l] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom' + function = '0' + [../] + [./z_l] + type = FunctionDirichletBC + variable = disp_z + boundary = 'back' + function = '0' + [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./strain] + type = ComputeIncrementalSmallStrain + displacements = 'disp_x disp_y disp_z' + [../] + [./pdm] + # type = DamagePlasticityStressUpdate + # yield_function_tol = 1.E-5 + # alpha = 0.109 # fb0 = -19.47 + # alpha_p = 0.23 + # s0 = 0.001 + # + # at = 0.0001 # parameter to adjust yield strength + # Dt = 0.51 # degradation at half of maximum tensile strength + # ft = 3.48 # maximum yield strength + # gt = 4.8E-4 + # + # ac = 3.77 # parameter to adjust yield strength + # Dc = 0.40 # degradation at maximum compressive strength + # fc = 27.6 # maximum compressive strength of concrete + # gc = 6.889E-2 # + # + # tip_smoother = 1.E-6 + # smoothing_tol = 1.E-3 + + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.195 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.88 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + [../] +[] + +[Executioner] +# nl_abs_tol=1E-6 +# petsc_options_iname = '-pc_type' +# petsc_options_value = 'lu' + + end_time = 4000 + dt = 5 + type = Transient +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_cmp_dila_ap_03 + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_ten.i b/test/tests/plastic_damage_model/uni_ten.i new file mode 100644 index 000000000..2582f60e2 --- /dev/null +++ b/test/tests/plastic_damage_model/uni_ten.i @@ -0,0 +1,307 @@ +[Mesh] + [gmg] + type = GeneratedMeshGenerator + dim = 2 + nx = 1 + ny = 1 + + xmin = -12.7 + xmax = 12.7 + + ymin = -12.7 + ymax = 12.7 + [] + [./subdomains] + type = SubdomainBoundingBoxGenerator + input = gmg + bottom_left = '0 12.7 0' + top_right = '12.7 -12.7 0' + block_id = '1' + location = INSIDE + [] + [./extra_nodeset1] + type = ExtraNodesetGenerator + input = subdomains + new_boundary = 'bottom_left' + coord = '-12.7 -12.7' + [] + [./extra_nodeset2] + type = ExtraNodesetGenerator + input = extra_nodeset1 + new_boundary = 'top_left' + coord = '-12.7 12.7' + [] +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom_left' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./s_xx] + type = ElementAverageValue + variable = stress_xx + [../] + # [./react_x] + # type = NodalSum + # variable = resid_x + # boundary = 'left' + # [../] +[] + +[Materials] + [./elasticity_tensor] + type = ComputeIsotropicElasticityTensor + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress] + type = ComputeMultipleInelasticDamageStress + inelastic_models = pdm + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain] + type = ComputePlaneIncrementalStrain + [../] + [./pdm] + type = DamagePlasticityStressUpdate + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.70 + tensile_damage_at_half_tensile_strength = 0.51 + fracture_energy_in_tension = 12.3E-3 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 1750E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_ten + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_ten_msh_sen_1ele.i b/test/tests/plastic_damage_model/uni_ten_msh_sen_1ele.i new file mode 100644 index 000000000..9aaf684a0 --- /dev/null +++ b/test/tests/plastic_damage_model/uni_ten_msh_sen_1ele.i @@ -0,0 +1,299 @@ +[Mesh] + [gmg] + type = GeneratedMeshGenerator + dim = 2 + nx = 1 + ny = 1 + + xmin = -25.4 + xmax = 25.4 + + ymin = -12.7 + ymax = 12.7 + [] + [./extra_nodeset1] + type = ExtraNodesetGenerator + input = gmg + new_boundary = 'bottom_left' + coord = '-25.4 -12.7' + [] + [./extra_nodeset2] + type = ExtraNodesetGenerator + input = extra_nodeset1 + new_boundary = 'top_left' + coord = '-25.4 12.7' + [] +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom_left' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] +[] + +[Materials] + [./elasticity_tensor_right] + type = ComputeIsotropicElasticityTensor + block = '0' + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress_right] + type = ComputeMultipleInelasticDamageStress + block = '0' + inelastic_models = pdm_right + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain_right] + type = ComputePlaneIncrementalStrain + block = '0' + [../] + [./pdm_right] + type = DamagePlasticityStressUpdate + block = '0' + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.40 + ft_ep_slope_factor_at_zero_ep = 0.90 + tensile_damage_at_half_tensile_strength = 0.27 + fracture_energy_in_tension = 25E-3 #4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_ten_msh_sen_1ele + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_ten_msh_sen_2ele.i b/test/tests/plastic_damage_model/uni_ten_msh_sen_2ele.i new file mode 100644 index 000000000..4f7e35a5d --- /dev/null +++ b/test/tests/plastic_damage_model/uni_ten_msh_sen_2ele.i @@ -0,0 +1,344 @@ +[Mesh] + [gmg] + type = GeneratedMeshGenerator + dim = 2 + nx = 2 + ny = 1 + + xmin = -25.4 + xmax = 25.4 + + ymin = -12.7 + ymax = 12.7 + [] + [./subdomains] + type = SubdomainBoundingBoxGenerator + input = gmg + bottom_left = '0 12.7 0' + top_right = '25.4 -12.7 0' + block_id = '1' + location = INSIDE + [] + [./extra_nodeset1] + type = ExtraNodesetGenerator + input = subdomains + new_boundary = 'bottom_left' + coord = '-25.4 -12.7' + [] + [./extra_nodeset2] + type = ExtraNodesetGenerator + input = extra_nodeset1 + new_boundary = 'top_left' + coord = '-25.4 12.7' + [] +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom_left' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] +[] + +[Materials] + [./elasticity_tensor_left] + type = ComputeIsotropicElasticityTensor + block = '0' + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress_left] + type = ComputeMultipleInelasticDamageStress + block = '0' + inelastic_models = pdm_left + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain_left] + type = ComputePlaneIncrementalStrain + block = '0' + [../] + [./pdm_left] + type = DamagePlasticityStressUpdate + block = '0' + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.90 + tensile_damage_at_half_tensile_strength = 0.27 + fracture_energy_in_tension = 25E-3 #4.8E-4 + + maximum_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./elasticity_tensor_right] + type = ComputeIsotropicElasticityTensor + block = '1' + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress_right] + type = ComputeMultipleInelasticDamageStress + block = '1' + inelastic_models = pdm_right + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain_right] + type = ComputePlaneIncrementalStrain + block = '1' + [../] + [./pdm_right] + type = DamagePlasticityStressUpdate + block = '1' + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.40 + ft_ep_slope_factor_at_zero_ep = 0.90 + tensile_damage_at_half_tensile_strength = 0.27 + fracture_energy_in_tension = 25E-3 #4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_ten_msh_sen_2ele + exodus = false + [./csv] + type = CSV + [../] +[] diff --git a/test/tests/plastic_damage_model/uni_ten_msh_sen_4ele.i b/test/tests/plastic_damage_model/uni_ten_msh_sen_4ele.i new file mode 100644 index 000000000..db35de43f --- /dev/null +++ b/test/tests/plastic_damage_model/uni_ten_msh_sen_4ele.i @@ -0,0 +1,345 @@ +[Mesh] + [gmg] + type = GeneratedMeshGenerator + dim = 2 + nx = 4 + ny = 1 + + xmin = -25.4 + xmax = 25.4 + + ymin = -12.7 + ymax = 12.7 + [] + [./subdomains] + type = SubdomainBoundingBoxGenerator + input = gmg + bottom_left = '12.7 12.7 0' + top_right = '25.4 -12.7 0' + block_id = '1' + location = INSIDE + [] + [./extra_nodeset1] + type = ExtraNodesetGenerator + input = subdomains + new_boundary = 'bottom_left' + coord = '-25.4 -12.7' + [] + [./extra_nodeset2] + type = ExtraNodesetGenerator + input = extra_nodeset1 + new_boundary = 'top_left' + coord = '-25.4 12.7' + [] +[] + +[GlobalParams] + displacements = 'disp_x disp_y' + volumetric_locking_correction = true + out_of_plane_strain = strain_zz +[] + +[Variables] + [./disp_x] + [../] + [./disp_y] + [../] + [./strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[Kernels] + [./TensorMechanics] + use_displaced_mesh = true + save_in = 'resid_x resid_y' + [../] + + [./solid_z] + type = WeakPlaneStress + variable = strain_zz + use_displaced_mesh = true + [../] +[] + +[AuxVariables] + [./resid_x] + [../] + [./resid_y] + [../] + [./D] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl0] + order = CONSTANT + family = MONOMIAL + [../] + [./intnl1] + order = CONSTANT + family = MONOMIAL + [../] + + [./stress_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./stress_zz] + order = CONSTANT + family = MONOMIAL + [../] + + [./strain_xx] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_xy] + order = CONSTANT + family = MONOMIAL + [../] + [./strain_yy] + order = CONSTANT + family = MONOMIAL + [../] + [./material_strain_zz] + order = CONSTANT + family = MONOMIAL + [../] +[] + +[AuxKernels] + [./D_auxk] + type = MaterialRealAux + property = elemental_damage_variable + variable = D + [../] + [./intnl0_auxk] + type = MaterialRealAux + property = damage_state_in_tension + variable = intnl0 + [../] + [./intnl1_auxk] + type = MaterialRealAux + property = damage_state_in_compression + variable = intnl1 + [../] + + [./stress_xx] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xx + index_i = 0 + index_j = 0 + [../] + [./stress_xy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_xy + index_i = 0 + index_j = 1 + [../] + [./stress_yy] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_yy + index_i = 1 + index_j = 1 + [../] + [./stress_zz] + type = RankTwoAux + rank_two_tensor = stress + variable = stress_zz + index_i = 2 + index_j = 2 + [../] + + [./strain_xx] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xx + index_i = 0 + index_j = 0 + [../] + [./strain_xy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_xy + index_i = 0 + index_j = 1 + [../] + [./strain_yy] + type = RankTwoAux + rank_two_tensor = total_strain + variable = strain_yy + index_i = 1 + index_j = 1 + [../] + [./strain_zz] + type = RankTwoAux + rank_two_tensor = total_strain + variable = material_strain_zz + index_i = 2 + index_j = 2 + [../] +[] + +[BCs] + [./left_x] + type = FunctionDirichletBC + variable = disp_x + boundary = 'left' + function = '0.' + [../] + [./y1] + type = FunctionDirichletBC + variable = disp_y + boundary = 'bottom_left' + function = '0.' + [../] + [./right_surface] + type = FunctionDirichletBC + variable = disp_x + boundary = 'right' + function = '1E-4*t' + [../] +[] + +[Postprocessors] + [./displacement_x] + type = AverageNodalVariableValue + variable = disp_x + boundary = 'right' + [../] + [./react_x] + type = NodalSum + variable = resid_x + boundary = 'left' + [../] +[] + +[Materials] + [./elasticity_tensor_left] + type = ComputeIsotropicElasticityTensor + block = '0' + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress_left] + type = ComputeMultipleInelasticDamageStress + block = '0' + inelastic_models = pdm_left + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain_left] + type = ComputePlaneIncrementalStrain + block = '0' + [../] + [./pdm_left] + type = DamagePlasticityStressUpdate + block = '0' + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.48 + ft_ep_slope_factor_at_zero_ep = 0.90 + tensile_damage_at_half_tensile_strength = 0.27 + fracture_energy_in_tension = 25E-3 #4.8E-4 + + maximum_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] + [./elasticity_tensor_right] + type = ComputeIsotropicElasticityTensor + block = '1' + youngs_modulus = 3.17E4 + poissons_ratio = 0.18 + [../] + [./stress_right] + type = ComputeMultipleInelasticDamageStress + block = '1' + inelastic_models = pdm_right + perform_finite_strain_rotations = false + tangent_operator = nonlinear + [../] + [./strain_right] + type = ComputePlaneIncrementalStrain + block = '1' + [../] + [./pdm_right] + type = DamagePlasticityStressUpdate + block = '1' + factor_relating_biaxial_unixial_cmp_str = 0.109 # fb0 = -20.862 + factor_controlling_dilatancy = 0.23 + stiff_recovery_factor = 0.001 + + yield_strength_in_tension = 3.40 + ft_ep_slope_factor_at_zero_ep = 0.90 + tensile_damage_at_half_tensile_strength = 0.27 + fracture_energy_in_tension = 25E-3 #4.8E-4 + + yield_strength_in_compression = 18.30 + maximum_strength_in_compression = 27.60 + compressive_damage_at_max_compressive_strength = 0.40 + fracture_energy_in_compression = 6.889E-2 + + yield_function_tol = 1.E-5 + tip_smoother = 1.E-6 + smoothing_tol = 1.E-3 + [../] +[] + +[Preconditioning] + active = SMP + [./SMP] + type = SMP + full = true + [../] + [./FDP] + type = FDP + full = true + [../] +[] + +[Executioner] + solve_type = 'NEWTON' + nl_max_its = 100 + nl_abs_tol = 1.E-5 + nl_rel_tol = 1E-3 + + line_search = none + + petsc_options_iname = '-pc_type' + petsc_options_value = 'lu' + + petsc_options = '-snes_converged_reason' + + type = Transient + end_time = 200 + dt = 1 +[] + + +[Outputs] + file_base = ./test/tests/plastic_damage_model/uni_ten_msh_sen_4ele + exodus = false + [./csv] + type = CSV + [../] +[]