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