[petsc-users] TSTHETA not working without explicit declaration with TSSetRHSJacobian

Ali Berk Kahraman aliberkkahraman at yahoo.com
Thu Oct 12 11:45:01 CDT 2017


Hello All,


I am trying to use TS solver without declaring RHS Jacobian, because I 
do not have it analytically. I'm getting the error posted at the end of 
the e-mail. As I understand, the SNES solver within the TS solver sees 
that I have not declared a Jacobian, so it calls the function 
SNESComputeJacobianColor to get a finite difference aproximation of the 
Jacobian, as I am too lazy to make this approximation myself, and 
SNESComputeJacobianColor calls MatFDColoringCreate() and this function 
finally gives the error "Matrix is in wrong state, Matrix must be 
assembled by calls to MatAssemblyBegin/End(); ".

I am not sure if this is a bug, or it is something I'm doing wrong. It 
looks like a bug to me since the error is generated when the code 
understands that I haven't provided a Jacobian and consequently trying 
to compute it for me. However, I cannot be sure because I'm still pretty 
inexperienced using PETSc, so I'm writing this here and not to 
petsc-maint. Any ideas?


Best Regards ,

Ali


[0]PETSC ERROR: --------------------- Error Message 
--------------------------------------------------------------
[0]PETSC ERROR: Object is in wrong state
[0]PETSC ERROR: Matrix must be assembled by calls to MatAssemblyBegin/End();
[0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html 
for trouble shooting.
[0]PETSC ERROR: Petsc Release Version 3.8.0, unknown
[0]PETSC ERROR: ./FastWavelet1DTransientHeat on a arch-linux2-c-debug 
named abk-CFDLab by abk Thu Oct 12 19:39:21 2017
[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ 
--with-fc=gfortran --download-mpich --download-fblaslapack
[0]PETSC ERROR: #1 MatFDColoringCreate() line 464 in 
/home/abk/petsc/src/mat/matfd/fdmatrix.c
[0]PETSC ERROR: #2 SNESComputeJacobianDefaultColor() line 83 in 
/home/abk/petsc/src/snes/interface/snesj2.c
[0]PETSC ERROR: #3 SNESComputeJacobian() line 2358 in 
/home/abk/petsc/src/snes/interface/snes.c
[0]PETSC ERROR: #4 SNESSolve_KSPONLY() line 36 in 
/home/abk/petsc/src/snes/impls/ksponly/ksponly.c
[0]PETSC ERROR: #5 SNESSolve() line 4106 in 
/home/abk/petsc/src/snes/interface/snes.c
[0]PETSC ERROR: #6 TS_SNESSolve() line 176 in 
/home/abk/petsc/src/ts/impls/implicit/theta/theta.c
[0]PETSC ERROR: #7 TSStep_Theta() line 216 in 
/home/abk/petsc/src/ts/impls/implicit/theta/theta.c
[0]PETSC ERROR: #8 TSStep() line 4120 in 
/home/abk/petsc/src/ts/interface/ts.c
[0]PETSC ERROR: #9 TSSolve() line 4374 in 
/home/abk/petsc/src/ts/interface/ts.c
[0]PETSC ERROR: #10 main() line 886 in 
/home/abk/Dropbox/MyWorkspace/WaveletCollocation/FastWaveletCollocation1D/FastWavelet1DTransientHeat.c
[0]PETSC ERROR: No PETSc Option Table entries
[0]PETSC ERROR: ----------------End of Error Message -------send entire 
error message to petsc-maint at mcs.anl.gov----------
application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0
[unset]: aborting job:
application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0


------------------
(program exited with code: 73)
Press return to continue




More information about the petsc-users mailing list