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