more cleavage plane in ACInterfaceCleavageFracture #16249
-
Hi, all, The kernel modification of ACInterfaceCleavageFracture is used to simulate the anisotropic fracture with transverse isotropic (one cleavage plane), then if I want to use it to simulate the cubic symmetric with two cleavage plane or more, like three cleavage plane, refer to "S. Teichtmeister, Phase field modeling of fracture in anisotropic brittle solids, 2017". What should I do? Thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 9 replies
-
@dschwen @laagesen @SudiptaBiswas Do you have an answer for this, it seems to have slipped through without a response. |
Beta Was this translation helpful? Give feedback.
-
Sorry for the late reply. I think one way is to introduce additional phase field damage parameters to represent fractures on different cleavage planes, and enforce the sum of all damage parameters to be 1. |
Beta Was this translation helpful? Give feedback.
-
If you want to implement Teichtmeister's approach, I think we should generalize |
Beta Was this translation helpful? Give feedback.
-
Thank you! I tried, but A is a second-order tensor, can only represent one cleavage plane, to introduce bi-cleavage plane, it should include Laplace (second-order) of c to the fracture density function, then Allen-Cahn is not suitable anymore, does any evolution method works for it on MOOSE? |
Beta Was this translation helpful? Give feedback.
-
I tried and failed. since gc is constant before, now I need to use gc (grad(c)), do I need to modify the code in ComputeLinearElasticPFFractureStress.C, and how? |
Beta Was this translation helpful? Give feedback.
-
The g_d is calculated in InterfaceOrientationMaterial (defined as _deps), so I think it could be used directly (ACInterfaceKobayashi is used for the gradient part of the fracture energy), my problem is: in the non-gradient term (f_elastic+Gc/2l*c^2), do I need to modify the calculation? I am thinking that Gc depends on the gradient of c, not c, so the partial gradient of c for this term shouldn't consider the gradient of Gc. But during my simulation, it has a convergence problem even when I only consider the non-gradient term (no ACinterface term). |
Beta Was this translation helpful? Give feedback.
-
I have further questions about the parameter type in MOOSE. such as the following code in the material section, where c is the order parameter, then, my question is must gc_prop be a constant? if I have defined gc_prop to be a field that depends on the location (x,y), is it still works for this expression or should I put the gc_prop in "args='? In the other words, the parameter in material_property_names should be constant or any type? [./local_fracture_energy] Thanks, |
Beta Was this translation helpful? Give feedback.
-
Then, do I need to modify the definition of gc_prop in ComputePFFractureStressBase.C : _gc(getMaterialProperty("gc_prop"))? Besides, I can't find any code of *.i have use the gc_prop directly except the definition in ComputePFFractureStressBase.C. |
Beta Was this translation helpful? Give feedback.
-
Thank you! and how to solve the negative damage order parameter problem? could I restrict the range of the order parameter to be [0,1]? |
Beta Was this translation helpful? Give feedback.
Sorry for the late reply. I think one way is to introduce additional phase field damage parameters to represent fractures on different cleavage planes, and enforce the sum of all damage parameters to be 1.