<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello<br>
<br>
I am using the following options (below) for solving linear
elasticity/poroelasticity problems involving slip between two
surfaces involving non-trivial geometries, i.e., elements with high
aspect ratios, large contrasts in material properties etc. The
constraints are imposed using Lagrange Multipliers. <br>
<br>
A picture (shows displacement magnitude) is attached. The boundary
nodes, i.e., the base and the four side are pinned.<br>
<br>
The following options appear to work well for the saddle point
problem:<br>
<br>
<tt>-pc_type fieldsplit -pc_fieldsplit_type schur
-pc_fieldsplit_detect_saddle_point -fieldsplit_0_pc_type gamg
-fieldsplit_0_ksp_type preonly -fieldsplit_1_pc_type lsc
-fieldsplit_1_ksp_type preonly -pc_fieldsplit_schur_fact_type
lower -ksp_monitor</tt><br>
<br>
However, the number of iterations keep on increasing with the
problems size (see attached plot), e.g.,<br>
<br>
<tt>120K Tets <b>507</b> Iterations (KSP Residual norm
8.827362494659e-05)</tt><tt> in 17 secs on 3 cores<br>
</tt><tt>1 Million Tets <b>1374</b> Iterations (KSP Residual norm
7.164704416296e-05)</tt><tt> in 117 secs on 20 cores<br>
</tt><tt>8 Million Tets <b>2495</b> Iterations (KSP Residual norm
9.101247550026e-05) in 225 secs on 160 cores</tt><br>
<br>
So what other options should I try to improve solver performance?
Any tips/insights would be appreciated as preconditioning is black
magic to me.<br>
<br>
Thanks in advance.<br>
<br>
Tabrez<br>
</body>
</html>