[petsc-users] Solving advection equations implicitly
Zou, Ling
ling.zou at inl.gov
Mon May 7 17:00:58 CDT 2018
I played with implicitly (BDF1 and BDF2) solving a linear advection
equation before.
For spatial discretization, I used upwind donor cell method.
I did not give any specifications to the solver, so I suppose default works
just fine. I did supply a Jacobian matrix for preconditioning purpose.
Here a screen shot of -snes_view and -ksp_view is attached.
Maybe PETSc team member could provide more useful info from this screenshot.
Hope this helps.
-Ling
SNES Object: 1 MPI processes
type: newtonls
maximum iterations=50, maximum function evaluations=10000
tolerances: relative=1e-08, absolute=1e-50, solution=1e-08
total number of linear solver iterations=6
total number of function evaluations=11
norm schedule ALWAYS
SNESLineSearch Object: 1 MPI processes
type: bt
interpolation: cubic
alpha=1.000000e-04
maxstep=1.000000e+08, minlambda=1.000000e-12
tolerances: relative=1.000000e-08, absolute=1.000000e-15,
lambda=1.000000e-08
maximum iterations=40
KSP Object: 1 MPI processes
type: gmres
restart=30, using Classical (unmodified) Gram-Schmidt
Orthogonalization with no iterative refinement
happy breakdown tolerance 1e-30
maximum iterations=30, initial guess is zero
tolerances: relative=0.001, absolute=1e-50, divergence=10000.
left preconditioning
using PRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
type: ilu
out-of-place factorization
0 levels of fill
tolerance for zero pivot 2.22045e-14
matrix ordering: natural
factor fill ratio given 1., needed 1.
Factored matrix follows:
Mat Object: 1 MPI processes
type: seqaij
rows=600, cols=600
package used to perform factorization: petsc
total: nonzeros=2994, allocated nonzeros=2994
total number of mallocs used during MatSetValues calls =0
not using I-node routines
linear system matrix followed by preconditioner matrix:
Mat Object: 1 MPI processes
type: mffd
rows=600, cols=600
Matrix-free approximation:
err=1.49012e-08 (relative error in function evaluation)
Using wp compute h routine
Does not compute normU
Mat Object: 1 MPI processes
type: seqaij
rows=600, cols=600
total: nonzeros=2994, allocated nonzeros=2994
total number of mallocs used during MatSetValues calls =0
not using I-node routines
On Mon, May 7, 2018 at 3:24 PM, Nishant Nangia <nishantnangia329 at gmail.com>
wrote:
> Hi all,
>
> I want to implicitly solve a linear advection equation of the form:
> dQ/dt + div(u*Q) = 0
>
> for a scalar quantity Q, with some known velocity field u. Note that it is
> purely advection with no diffusion term.
>
> Is there a recommended solver/preconditioner combination to solve
> something like this?
>
> *Nishant Nangia*
> Northwestern University
> Ph.D. Candidate | Engineering Sciences and Applied Mathematics
> Tech L386
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20180507/0c793485/attachment-0001.html>
More information about the petsc-users
mailing list