[CIG-SHORT] 3d splay fault model does not converge in Pylith
Brad Aagaard
baagaard at usgs.gov
Fri Mar 21 14:19:57 PDT 2014
Shaoyang,
I finally got around to trying to run your simulation. I am finding that
the solution doesn't converge at the second time step, consistent with
what you are seeing.
My recommendation is to start with a static simulation with 1.0 m of
slip in the direction you want. Get this working and then go to a
creeping fault. If this simple static problem with a fault isn't
converging, then try a static problem with Dirichlet BC on the sides
causing deformation and no faults to see if removing the faults isolates
the problem, i.e., is it the mesh or fault setup that prevents convergence?
Also, monitor the true residual to verify that the residual is
decreasing. The default is the preconditioned residual, which can
decrease even when the true residual does not.
[pylithapp.petsc]
ksp_monitor_true_residual = true
Some things you need to be aware of:
I noticed that your z-axis does not coincide with the default "up
direction" for faults. In setting up the slip directions for the fault
in 3-D, the default up direction is (0,0,1). You need to change this to
(0,1,0).
myfault.up_dir = [0,1,0]
Another issue is creeping faults result in slip rates that are very
small in terms of length scale compared to the discretization size. This
can cause very ill-conditioning, which can be alleviated with proper
choice of length and time scales.
Regards,
Brad
On 3/11/14, 8:21 AM, Shaoyang Li wrote:
> Hi Brad,
>
> Thanks for your suggestions. I tried the solver settings similar to
> examples/3d/tet4/step04.cfg. However, the frictional faults still do
> work as the attached figure. The displacement looks the same as I use
> the normal settings: only the nodes with Dirichlet boundary conditions
> moves. Any further suggestions are very welcome. Thanks a lot.
>
> My model solver settings are as follow:
> [pylithapp.timedependent.formulation]
> split_fields = True
> # Use custom preconditioning for the Lagrange multiplier vertices
> use_custom_constraint_pc = True
> matrix_type = aij
>
> [pylithapp.petsc]
> # Note that with 3 displacement components plus the Lagrange
> # multiplier vertices, we have split the fields into 2.
> fs_pc_type = fieldsplit
> fs_pc_fieldsplit_real_diagonal = true
> fs_pc_fieldsplit_type = multiplicative
> fs_fieldsplit_0_pc_type = ml
> fs_fieldsplit_1_pc_type = jacobi
> fs_fieldsplit_0_ksp_type = preonly
> fs_fieldsplit_1_ksp_type = preonly
>
> # Friction sensitivity solve used to compute the increment in slip
> # associated with changes in the Lagrange multiplier imposed by the
> # fault constitutive model.
> friction_pc_type = asm
> friction_sub_pc_factor_shift_type = nonzero
> friction_ksp_max_it = 50
> friction_ksp_gmres_restart = 30
> # Uncomment to view details of friction sensitivity solve.
> friction_ksp_monitor = true
> friction_ksp_view = true
> friction_ksp_converged_reason = true
>
> # PETSc summary -- useful for performance information.
> log_summary = true
>
> Regards
> shaoyang
>
> On Mon, 10 Mar 2014 16:14:49 -0700
> Brad Aagaard <baagaard at usgs.gov> wrote:
> > Please try the solver settings discussed in Table 4.4 on
> >page 33 and examples/3d/tet4 (Section 7.7, page 119), in
> >particular step04.cfg (Section 7.7.5.1, page 127).
> >
> > Regards,
> > Brad
> >
> > On 03/08/2014 06:06 AM, Shaoyang Li wrote:
> >> Dear Brad,
> >>
> >> I am playing around the 3d splay-subduction mesh in the
> >>meshing example of
> >> meshing/surface_nurbs/subduction in Pylith.
> >>
> >> In the model I push the x_pos and x_neg boundary to
> >>drive megathrust and splay
> >> fault system to frictional moving. However, this model
> >>never calculate anything
> >> due to not converge. I check all the cfg again and
> >>again, and I donot know what
> >> is the problem really from. I guess I need to use some
> >>special parameters for
> >> PETs but there is no similar example in manual that I
> >>can mimic. Could you help
> >> me to check it? Thanks a lot.
> >>
> >> The journal message file is log.txt in attached. And all
> >>the other file are in
> >> tar.gz file.
> >>
> >> Best regards,
> >> Shaoyang
> >>
> >
>
More information about the CIG-SHORT
mailing list