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

Matthew Knepley knepley at gmail.com
Sat Dec 6 13:53:33 CST 2014


MATNEST is merely an optimization, and not usually the most important one.
Get everything working for PC fieldsplit first and then we can see if NEST
makes sense.

  Thanks

      Matt
On Dec 6, 2014 7:56 AM, "linjing bo" <francium87 at hotmail.com> wrote:

> 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/54d378f0/attachment.html>


More information about the petsc-users mailing list