xref: /petsc/src/mat/tests/ex171f.F90 (revision d8606c274c09e255c003062beb17b1be973467bc)
1*d8606c27SBarry Smith!
2*d8606c27SBarry Smith!   This program tests MatNullSpaceCreate()
3*d8606c27SBarry Smith!
4*d8606c27SBarry Smith      program main
5*d8606c27SBarry Smith#include <petsc/finclude/petscmat.h>
6*d8606c27SBarry Smith      use petscmat
7*d8606c27SBarry Smith      implicit none
8*d8606c27SBarry Smith
9*d8606c27SBarry Smith      PetscErrorCode ierr
10*d8606c27SBarry Smith      MatNullSpace nsp
11*d8606c27SBarry Smith      Vec     v(1)
12*d8606c27SBarry Smith      PetscInt nloc,on
13*d8606c27SBarry Smith      PetscScalar one
14*d8606c27SBarry Smith      PetscReal norm
15*d8606c27SBarry Smith
16*d8606c27SBarry Smith      PetscCallA(PetscInitialize(ierr))
17*d8606c27SBarry Smith
18*d8606c27SBarry Smith      nloc = 12
19*d8606c27SBarry Smith      PetscCallA(VecCreateMPI(PETSC_COMM_WORLD,nloc,PETSC_DETERMINE,v(1),ierr))
20*d8606c27SBarry Smith      one = 1.0
21*d8606c27SBarry Smith      PetscCallA(VecSet(v(1),one,ierr))
22*d8606c27SBarry Smith      PetscCallA(VecNormalize(v(1),norm,ierr))
23*d8606c27SBarry Smith      on = 1
24*d8606c27SBarry Smith      PetscCallA(MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_FALSE,on,v(1),nsp,ierr))
25*d8606c27SBarry Smith      PetscCallA(MatNullSpaceDestroy(nsp,ierr))
26*d8606c27SBarry Smith      PetscCallA(VecDestroy(v(1),ierr))
27*d8606c27SBarry Smith      PetscCallA(PetscFinalize(ierr))
28*d8606c27SBarry Smith      end
29*d8606c27SBarry Smith
30*d8606c27SBarry Smith!/*TEST
31*d8606c27SBarry Smith!
32*d8606c27SBarry Smith!   test:
33*d8606c27SBarry Smith!
34*d8606c27SBarry Smith!TEST*/
35