[petsc-users] TSSetIJacobian question
Mark Adams
mfadams at lbl.gov
Sat Feb 14 13:19:59 CST 2015
I am advancing a two equation system with TS that has an additional
constraint equation. I build a 3x3 composite matrix a_ts%FJacobean that
has my F(U). I then do:
call
MatDuplicate(a_ts%FJacobean,MAT_DO_NOT_COPY_VALUES,a_ts%FJacobean2,ierr)
call
TSSetIJacobian(a_ts%ts,a_ts%FJacobean2,a_ts%FJacobean2,FormIJacobian,a_ts,ierr)
I am thinking my FormIJacobian would look like this:
! copy in linear operator
call MatCopy(a_ts%FJacobean,Jpre,ierr);CHKERRQ(ierr)
! shift 1 & 2 by 'shift'
call MatShift(mat00,shift,ierr);CHKERRQ(ierr) ????
call MatShift(mat11,shift,ierr);CHKERRQ(ierr) ????
Is this a good basic approach?
I'm not sure how to shift just the first two blocks. MatGetSubMatrix does
not seem usable here. I want these two diagonal block matrices to shift
them. Can I get an array of matrices out of a composite matrix?
Thanks,
Mark
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150214/bac4988c/attachment.html>
More information about the petsc-users
mailing list