[petsc-users] TSAdjoint "cannot locate function MatDenseGetColumn_C in object"

Zane Charles Jakobs Zane.Jakobs at colorado.edu
Mon Apr 27 17:13:20 CDT 2020


Hi PETSc devs,

I'm writing some code that uses Tao to do variational data assimilation,
and I get the following error message upon calling TaoSolve():

[0]PETSC ERROR: --------------------- Error Message
--------------------------------------------------------------
[0]PETSC ERROR: No support for this operation for this object type
[0]PETSC ERROR: Cannot locate function MatDenseGetColumn_C in object
[0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html
for trouble shooting.
[0]PETSC ERROR: Petsc Development GIT revision: v3.12.4-783-g88ddbcab12
 GIT Date: 2020-02-21 16:53:25 -0600
[0]PETSC ERROR: ./test_var on a arch-linux2-c-debug named DiffeoInvariant
by diffeoinvariant Mon Apr 27 14:57:39 2020
[0]PETSC ERROR: Configure options CFLAGS="-O3 -march=native -mtune=native
-fPIE" --with-shared-libraries=1 --with-openmp=1 --with-threads=1
--with-fortran=0 --with-avx2=1 CXXOPTFLAGS="-O3 -march=native -mtune=native
-fPIE" --with-cc=clang --with-cxx=clang++ --download-mpich
[0]PETSC ERROR: #1 MatDenseGetColumn() line 2944 in
/usr/local/petsc/src/mat/impls/dense/seq/dense.c
[0]PETSC ERROR: #2 TSAdjointStep_RK() line 921 in
/usr/local/petsc/src/ts/impls/explicit/rk/rk.c
[0]PETSC ERROR: #3 TSAdjointStep() line 1506 in
/usr/local/petsc/src/ts/interface/sensitivity/tssen.c
[0]PETSC ERROR: #4 TSAdjointSolve() line 1568 in
/usr/local/petsc/src/ts/interface/sensitivity/tssen.c
[0]PETSC ERROR: #5 VARFormGradient() line 212 in src/var.c
[0]PETSC ERROR: #6 TaoComputeObjectiveAndGradient() line 275 in
/usr/local/petsc/src/tao/interface/taosolver_fg.c
[0]PETSC ERROR: #7 TaoSolve_LMVM() line 23 in
/usr/local/petsc/src/tao/unconstrained/impls/lmvm/lmvm.c
[0]PETSC ERROR: #8 TaoSolve() line 219 in
/usr/local/petsc/src/tao/interface/taosolver.c
[0]PETSC ERROR: #9 VarInfoOptimize() line 486 in src/var.c

I set the TSAdjoint in question to use RK4 for timestepping, and I know
that TSAdjoint and company don't necessarily implement all of the
timestepping methods that the "forward" TS does, so that might be relevant.
Any ideas what I might be doing incorrectly? Maybe I'm forgetting to set
the type of some Mat (e.g. the Jacobian) somewhere? (Would/could that cause
this error?)

Thanks!

-Zane Jakobs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200427/33c374e1/attachment.html>


More information about the petsc-users mailing list