Skip to content

Commit f795a04

Browse files
committed
Add more info about solver tolerances for friction in quasi static simulations.
1 parent 85fe996 commit f795a04

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

doc/userguide/boundaryconditions/boundaryconditions.lyx

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4981,6 +4981,92 @@ friction.db_properties = spatialdata.spatialdb.SimpleDB
49814981
friction.db_properties.iohandler.filename = friction.spatialdb
49824982
\end_layout
49834983

4984+
\begin_layout Quote
4985+
4986+
\series bold
4987+
\color red
4988+
Warning:
4989+
\color inherit
4990+
4991+
\series default
4992+
\color none
4993+
Use of the dynamic rupture implementation in a quasi-static simulations
4994+
requires use of the nonlinear solver and careful selection of linear and
4995+
nonlinear solver tolerances.
4996+
A key issue is making sure the linear solver toleance is tighter (smaller)
4997+
than the tolerance used to detect slip (fault
4998+
\family typewriter
4999+
\color inherit
5000+
zero_toelerance
5001+
\family default
5002+
\color none
5003+
).
5004+
As a result, the linear and solver absolute tolerances should be used to
5005+
for convergence, not the relative tolerances.
5006+
The code below illustrates the relevant parameters and example values.
5007+
The values can be scaled to change the overall desired tolerances.
5008+
\end_layout
5009+
5010+
\begin_layout LyX-Code
5011+
[pylithapp.problem.interfaces.fault]
5012+
\end_layout
5013+
5014+
\begin_layout LyX-Code
5015+
zero_tolerance = 1.0e-11
5016+
\begin_inset Newline newline
5017+
\end_inset
5018+
5019+
5020+
\begin_inset Newline newline
5021+
\end_inset
5022+
5023+
[pylithapp.petsc]
5024+
\begin_inset Newline newline
5025+
\end_inset
5026+
5027+
# Linear solver tolerances
5028+
\begin_inset Newline newline
5029+
\end_inset
5030+
5031+
ksp_rtol = 1.0e-20
5032+
\begin_inset Newline newline
5033+
\end_inset
5034+
5035+
ksp_atol = 1.0e-12
5036+
\begin_inset Newline newline
5037+
\end_inset
5038+
5039+
5040+
\begin_inset Newline newline
5041+
\end_inset
5042+
5043+
# Nonlinear solver tolerances
5044+
\begin_inset Newline newline
5045+
\end_inset
5046+
5047+
snes_rtol = 1.0e-20
5048+
\begin_inset Newline newline
5049+
\end_inset
5050+
5051+
snes_atol = 1.0e-10
5052+
\begin_inset Newline newline
5053+
\end_inset
5054+
5055+
5056+
\begin_inset Newline newline
5057+
\end_inset
5058+
5059+
# Set preconditioner for friction sensitivity solve
5060+
\begin_inset Newline newline
5061+
\end_inset
5062+
5063+
friction_pc_type = asm
5064+
\begin_inset Newline newline
5065+
\end_inset
5066+
5067+
friction_sub_pc_factor_shift_type = nonzero
5068+
\end_layout
5069+
49845070
\begin_layout Standard
49855071
The prescribed traction perturbation is specified using the same fault coordinat
49865072
e system as the slip directions in the kinematic ruptures.

0 commit comments

Comments
 (0)