Hi, Am 30.08.2016 um 14:05 schrieb Barry Smith: > > The format of .petscrc requires each option to be on its own line > >> -ksp_view >> -pc_type none >> -ksp_type gmres >> -ksp_monitor_singular_value >> -ksp_gmres_restart 1000
Oh man, didn't know that. Sorry! Is using a hash # ok for comments in .petscrc? I added the option accordingly: -ksp_view -pc_type none -ksp_type gmres -ksp_monitor_singular_value -ksp_gmres_restart 1000 petsc outputs a line like: 550 KSP Residual norm 1.374922291162e-07 % max 1.842011038215e+03 min 6.509297234157e-04 max/min 2.829815526858e+06 for each iteration. Sorry about my mathematical illerateness, but where can I see the condition number of the matrix? Thanks, Florian > > > >> On Aug 30, 2016, at 7:01 AM, Florian Lindner <[email protected]> wrote: >> >> Hello, >> >> there is a FAQ and a Stackoverflow article about getting the condition >> number of a petsc matrix: >> >> http://www.mcs.anl.gov/petsc/documentation/faq.html#conditionnumber >> http://scicomp.stackexchange.com/questions/34/how-can-i-estimate-the-condition-number-of-a-large-sparse-matrix-using-petsc >> >> Both tell me to add: >> >> -pc_type none -ksp_type gmres -ksp_monitor_singular_value -ksp_gmres_restart >> 1000 >> >> to my options. >> >> I add the line to .petscrc but nothing happens, no additional output at all. >> I added -ksp_view, so my .petscrc looks >> like that: >> >> -ksp_view >> -pc_type none -ksp_type gmres -ksp_monitor_singular_value -ksp_gmres_restart >> 1000 >> >> The complete output is below, but something I wonder about: >> >> GMRES: restart=30, shouldn't that be 1000 >> >> And where can I read out the condition number approximation? >> >> Thanks, >> Florian >> >> >> KSP Object: 1 MPI processes >> type: gmres >> GMRES: restart=30, using Classical (unmodified) Gram-Schmidt >> Orthogonalization with no iterative refinement >> GMRES: happy breakdown tolerance 1e-30 >> maximum iterations=10000 >> tolerances: relative=1e-09, absolute=1e-50, divergence=10000. >> left preconditioning >> using nonzero initial guess >> using PRECONDITIONED norm type for convergence test >> PC Object: 1 MPI processes >> type: none >> linear system matrix = precond matrix: >> Mat Object: C 1 MPI processes >> type: seqsbaij >> rows=14403, cols=14403 >> total: nonzeros=1044787, allocated nonzeros=1123449 >> total number of mallocs used during MatSetValues calls =72016 >> block size is 1 >> (0) 13:58:35 [precice::impl::SolverInterfaceImpl]:395 in initialize: it 1 of >> 1 | dt# 1 | t 0 of 1 | dt 1 | max dt 1 | >> ongoing yes | dt complete no | >> (0) 13:58:35 [precice::impl::SolverInterfaceImpl]:446 in advance: Iteration >> #1 >> KSP Object: 1 MPI processes >> type: gmres >> GMRES: restart=30, using Classical (unmodified) Gram-Schmidt >> Orthogonalization with no iterative refinement >> GMRES: happy breakdown tolerance 1e-30 >> maximum iterations=10000 >> tolerances: relative=1e-09, absolute=1e-50, divergence=10000. >> left preconditioning >> using nonzero initial guess >> using PRECONDITIONED norm type for convergence test >> PC Object: 1 MPI processes >> type: none >> linear system matrix = precond matrix: >> Mat Object: C 1 MPI processes >> type: seqsbaij >> rows=14403, cols=14403 >> total: nonzeros=1044787, allocated nonzeros=1123449 >> total number of mallocs used during MatSetValues calls =72016 >> block size is 1 >
