[petsc-users] Manually set IS instead of calling MatNestGetISs

linjing bo francium87 at hotmail.com
Sat Dec 6 07:56:05 CST 2014


The Problem in short : How to manually set IS for MATNEST instead of calling MatNestGetISs in fortran?
Problems in detail: I'm trying to solve a 3D vector field in Fortran. Base on manual page, a efficient way is to use MATNEST with 3x3 block configuration. So I follow the ex70.c and use MatNestGetISs to set the Vector and other things. But no symbol is found in library. After searching the mailing list I notice the Fortran support is fixed recently in 3.5. But for capability issue ( most of the Supercomputer I can access only support optimized version 3.4.4 and older ), using the latest 3.5 is not a option. So I'm wondering is there a way to manually set IS to overcome this issue, or good suggestion other than MATNEST of solving a multiphysics problem?
Some Trial: I tried to use ISCreateBlock to create a block IS with 3 blocks on vector and use it instead of MatNestGetISs, But PETSc report that the local Matrix and Vector size are not match:
[6]PETSC ERROR: MatMult() line 2172 in /tmp/petsc-3.4.4/src/mat/interface/matrix.c Mat mat,Vec y: local dim 7320 7319
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20141206/1a387478/attachment.html>


More information about the petsc-users mailing list