[CIG-SHORT] Linear convergence for nonplanar faults

Matthew Knepley knepley at rice.edu
Tue Nov 8 19:14:01 PST 2016


On Tue, Nov 8, 2016 at 4:47 PM, Josimar Alves da Silva <jsilva.mit at gmail.com
> wrote:

> Dear Charles and Brad,
>
> Thank you for following up on my question. I implemented the changes you
> suggested and it did not improve the convergence. I am attaching the log
> file for you reference.
>

There is no other option but learning to read the output of the program. I
gave a talk about doing this in the last 3 PyLith
meetings. It is online:


https://wiki.geodynamics.org/_media/software:pylith:tutorials:cdm2016:pylithtutorial2016_solvers.pdf

Start with solver_fault_schur_custompc.cfg, which should take 1 iterate. If
its does not, something is wrong
with the setup. Then back off the exact solvers, just as it says in the
slides.

   Matt

All the other parameters of the previous files were kept unchanged, except
> the length_scale = 500*m.
>
> Let me know if you have any other suggestion.
> Thank you
> Josimar
>
> On Tue, Nov 8, 2016 at 4:46 PM, Brad Aagaard <baagaard at usgs.gov> wrote:
>
>> Josimar,
>>
>> Your solver settings in pylithapp.cfg are obsolete. To use fieldsplit and
>> the custom preconditioner, please use the solver settings in
>> share/settings/solver_fault_fieldsplit.cfg (shown below). Note that
>> instead of 0/1 for the field, we now use names
>> (displacement/lagrange_multiplier).
>>
>> These settings will only work well if there is a fault. Without a fault,
>> you can just use ML as the preconditioner. See examples/3d/hex8/step02.cfg
>> (just use pc_type = ml).
>>
>> Regards,
>> Brad
>>
>>
>> [pylithapp.problem.formulation]
>> split_fields = True
>> matrix_type = aij
>> use_custom_constraint_pc = True
>>
>> [pylithapp.petsc]
>> fs_pc_type = fieldsplit
>> fs_pc_use_amat =
>> fs_pc_fieldsplit_type = multiplicative
>> fs_fieldsplit_displacement_pc_type = ml
>> fs_fieldsplit_lagrange_multiplier_pc_type = jacobi
>> fs_fieldsplit_displacement_ksp_type = preonly
>> fs_fieldsplit_lagrange_multiplier_ksp_type = preonly
>>
>>
>>
>>
>> On 11/08/2016 11:00 AM, Josimar Alves da Silva wrote:
>>
>>> Dear Brad, Matt and Charles,
>>>
>>> I am running Pylith for a 2D friction model with gravity for a nonplanar
>>> fault. I am finding that the linear solver does not converge when the
>>> fault is included on the model. When the fault is not included on the
>>> model the linear solver takes roughly 500 to 1000 iterations to
>>> converge. Please refer to the attached "log_no_fault.cfg" file.
>>>
>>> The three links below show previous discussions on linear convergence:
>>>
>>> http://lists.geodynamics.org/pipermail/cig-short/2012-Septem
>>> ber/001123.html
>>>
>>>
>>> http://lists.geodynamics.org/pipermail/cig-short/2008-Decemb
>>> er/000453.html
>>>
>>>
>>> http://lists.geodynamics.org/pipermail/cig-short/2013-March/001320.html
>>>
>>>
>>>
>>> As pointed out by Charles previously and also discussed on the links
>>> above, overall, it seems that there are 3 main causes for convergence
>>> issues: 1) Poor quality mesh; 2) incorrect solver settings; 3) Poor
>>> setup/initial conditions.
>>>
>>>
>>> For my set up, I am unable to make the linear solver to converge.
>>>
>>>
>>> This is what I have done so far, based on recommendations from previous
>>> discussions:
>>>
>>>
>>> 1) Make sure that the mesh has condition number and aspect ratios <1.5.
>>> Please see attached presentation for histograms.
>>>
>>> 2) used the solver parameters shown
>>> on share/settings/solver_fault_fieldsplit.cfg
>>>
>>>
>>> I would like to know if there is anything else that I can do in order to
>>> make the linear solver to converge. Any other advices to improve my
>>> simulation would be very much appreciated.
>>>
>>>
>>> You can find attached the pylith .cfg files that I am using and also the
>>> log files for the case without the fault (log_no_fault.out) and with the
>>> fault (log_with_fault.out).
>>>
>>>
>>> I run my simulation using:
>>>
>>>
>>> 1) pylith no_fault.cfg > log_nor_fault.out
>>>
>>> 2) pylith no_fault.cfg   fault.cfg > log_with_fault.out
>>>
>>>
>>>
>>> Thank you in advance for you help,
>>>
>>> Josimar
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> CIG-SHORT mailing list
>>> CIG-SHORT at geodynamics.org
>>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>>
>>>
>> _______________________________________________
>> CIG-SHORT mailing list
>> CIG-SHORT at geodynamics.org
>> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>>
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://lists.geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20161108/c705c423/attachment.html>


More information about the CIG-SHORT mailing list