Mesh refinement criterion on plastic strain

Hi, I’m Jaeyoon Keum. I’m trying to couple the ASPECT and Fastscape for simulating the oceanic core complex. I would like to use the mesh refinement criterion on “plastic strain”, not strain-rate or velocity. When I used the mesh refinement criterion on strain-rate, the relatively coarse mesh was applied on parts of the surface. That’s why the localized shear band can not evolve until the surface. In the uniform mesh, I could get a mature shear band reaching the surface. Although I tested the parameters on “Refinement and Coarsening fraction” in the subsection Mesh refinement with strain-rate or velocity ceriterion, the finer meshes were not arranged on the surface. Considering 3-dimensional expansion, I believe the AMR criterion on plastic strain would be needed. How can I modify the source code on mesh refinement with plastic strain?

@Jaeyoon I’m not an expert in the stress and plasticity parts, and so I don’t know whether it’s possible to refine based only on the plastic strain. But if your goal is simply to refine close to the surface (which would make sense to me, based on the fact that you need to resolve the free boundary), then why don’t you select multiple mesh refinement criteria of which one is based on the strain rate and one based on refinement close to the surface? I believe that there is one that ensures a specific refinement at the surface.

Best
W.

Hi @Jaeyoon - A few additional suggestions to the one @bangerth above, which should work:

  • To confirm, do you see still coarsening at the surface away from shear bands if you use set Coarsening fraction = 0? In that scenario, I think you should just see refinement and no coarsening.

  • You can use the parameter set Minimum refinement level (documentation) to make sure the mesh does not coarsening beyond the set value (this can be the initial grid refinement level).

  • To refine based on plastic strain, you can use the composition threshold strategy (example test case, documentation)

  • As an aside, if you are refining inside the localized shear zones I strongly suggest using the plastic damper term in the visco plastic material model to provide a quasi length scale for the shear band width. An example model with that uses this term can be found here.

  • As a second aside, very cool looking initial results!

Cheers,
John

Continuing the discussion from Mesh refinement criterion on plastic strain:

I would deeply appreciate the constructive comments of @bangerth and @jbnaliboff. Based on your comments (set Coarsening fraction = 0 and refinement criterion with compositional threshold), I succeeded in simulating 2D and 3D core complex models. I have a problem with plastic strain occurring in the ductile layer, although I set only viscous behavior in this region. This results in we can see the finer mesh on this layer. To solve this problem, I tried to combine multiple mesh criteria with compositional threshold and maximum or minimum refinement function using “set Normalize individual refinement criteria”, “set Refinement criteria scaling factors”, “set Refinement criteria merge operation”, but I failed that. Basically, I’m wondering why I can see the plastic strain in only the viscous domain (Cohesion is 1e50). I also found that the plastic strain in the ductile layer (only viscous behavior) was generated in the uniform mesh.



I attached some commands that I set to help your understanding

subsection Geometry model
set Model name = box

subsection Box
set X repetitions = 5
set Y repetitions = 1
set X extent = 100e3
set Y extent = 20e3
end
end

subsection Mesh refinement

set Initial global refinement = 4
set Initial adaptive refinement = 1
set Time steps between mesh refinement = 1
set Refinement fraction = 0.2
set Coarsening fraction = 0
set Strategy = composition threshold

set Run postprocessors on initial refinement = true

subsection Composition threshold
set Compositional field thresholds = 1e50, 1e50, 1e50, 0.1, 1e50, 1e50
end
end

subsection Initial composition model
set Model name = function

subsection Function
set Variable names = x,y
set Function expression = 0; 0; 0; 0;
if(((x-100e3/2)(x-100e3/2) + (y-20e3/2)(y-20e3/2)) < 2e3*2e3 && y > 10e3, 0.5+rand_seed(1),0);
1
end
end

subsection Compositional fields
set Number of fields = 6
set Names of fields = ve_stress_xx, ve_stress_yy, ve_stress_xy, noninitial_plastic_strain, plastic_strain, whole_domain
end

subsection Visco Plastic

set Phase transition depths = whole_domain: 10e3
set Phase transition widths = whole_domain: 1
set Phase transition temperatures = whole_domain: 0
set Phase transition Clapeyron slopes = whole_domain: 0
set Densities = background:2700, ve_stress_xx:2700, ve_stress_yy:2700, ve_stress_xy:2700, noninitial_plastic_strain:1.0, \
                plastic_strain:1.0, whole_domain:2700
set Reference strain rate       = 1.e-15
set Maximum viscosity           = 1.e25
set Minimum viscosity           = 1.e17
set Prefactors for dislocation creep = background:5e-26, ve_stress_xx:5e-26, ve_stress_yy:5e-26, ve_stress_xy:5e-26, \
                                       noninitial_plastic_strain:1e-50,  plastic_strain:1e-50, whole_domain: 5e-26|5e-18
set Activation energies for dislocation creep = 0.
set Activation volumes for dislocation creep  = 0.

set Elastic shear moduli = 5e10,5e10,5e10,5e10,5e10,5e10,5e10

set Use fixed elastic time step = true
set Fixed elastic time step     = 1e6
set Viscosity averaging scheme  = maximum composition

set Angles of internal friction = 30
set Cohesions = background:44e6, ve_stress_xx:44e6, ve_stress_yy:44e6, ve_stress_xy:44e6, noninitial_plastic_strain:44e6, \
                plastic_strain:44e6, whole_domain:44e6|1e50

set Strain weakening mechanism                   = plastic weakening with plastic strain only
set Start plasticity strain weakening intervals  = 0
set End plasticity strain weakening intervals    = 1.0
set Cohesion strain weakening factors            = 0.091  
set Friction strain weakening factors            = 1

end
end

@Jaeyoon This seems to me to be a problem independent of where you do mesh refinement, but one of where plasticity occurs. I don’t know this area at all, but perhaps @jbnaliboff has ideas.

Best
W.

@Jaeyoon - Based on the image above showing the distribution of viscous versus plastic active deformation (plastic_yielding), I think the code is actually behaving as expected.

The distribution of plastic and non initial plastic strain looks more like an issue with the composition boundary conditions.

Can you post the Boundary compositional model portion of the PRM file? In short, I’m wondering if the initial randomized values of plastic strain are being assigned as a constant value on the bottom boundary, which is leading to the artifacts in your models.

Cheers,
John