[CIG-SHORT] Change in dt means new Jacobian
Tabrez Ali
stali at geology.wisc.edu
Sun Sep 2 13:59:01 PDT 2012
Birendra
You could try a parallel sparse direct solver like MUMPS. When I used
PyLith a few years back I used MUMPS.
With my own code (also uses PETSc) I am currently solving problems with
~300000 linear hex elements (with faults) and using MUMPS. It takes 3
mins for a total of ~30 time steps (though on 24 cores; the first solve
takes bulk of the time but rest are very fast).
It can be engaged simply by using the flag(s):
-pc_type lu -pc_factor_mat_solver_package mumps
T
On 09/02/2012 01:59 PM, Matthew Knepley wrote:
> On Sun, Sep 2, 2012 at 12:24 PM, Birendra jha <bjha7333 at yahoo.com
> <mailto:bjha7333 at yahoo.com>> wrote:
>
> Dear developers
>
> I am trying to run my Pylith simulation faster. Right now it takes
> about 3 min for Linear solve (using default KSP solver, about 960
> iterations) and 3 min for integrating residual. I have about
> 190000 hex cells (mesh is very refined in the center and becomes
> coarse outward). No faults. Elastic materials. I used non-uniform
> user specified timesteps.
>
> I thought of following options:
>
>
> (0) Is this an optimized build?
>
> (1) Try different solver. I am thinking of using field split
> preconditioner with multigrid, as in tet4/step02.cfg.
>
>
> If there are no faults, FieldSplit makes no sense. Just use ML. It
> should take < 10 iterations.
>
> (2) Switch from vtk to hdf5 output
>
>
> Definitely, also back off the frequency of output.
>
> (3) Run in parallel. I am looking into running it using sge. Or
> just running it on one multicore machine.
>
>
> Do bother with this until you figure out how to run in serial.
>
> (4) Increase linear solve tolerance from 1E-12 to 1E-11.
>
>
> I would try and gauge what tolerance you need by doing some
> manufactured solutions.
>
> Matt
>
> (5) Fix timestep.
>
> Are these good options to consider?
>
> I have a question on (5). Manual says
> Warning: Changing the time step requires recomputing the Jacobian
> of the system, which can greatly increase the runtime if the
> time-step size changes frequently.
>
> Where does this happen in the program, i.e a change in dt setting
> needNewJacobian=true? I ask this because I could not find message
> on the stdout about reforming Jacobian when I am using non-uniform
> dt (it is possible that I missed it, the timesteps remains
> constant for a while then changes then becomes constant again).
>
> Thanks and regards
> Birendra
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org <mailto:CIG-SHORT at geodynamics.org>
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
>
>
> _______________________________________________
> CIG-SHORT mailing list
> CIG-SHORT at geodynamics.org
> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-short
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://geodynamics.org/pipermail/cig-short/attachments/20120902/35932c2d/attachment.htm
More information about the CIG-SHORT
mailing list