1 module solvedata 2 3 integer nsolflow,npermDims, nTmpDims, nPermDimsS, nTmpDimsS 4 5 real*8, allocatable :: lhsP(:,:), lhsK(:,:), lhsS(:,:) 6 real*8, allocatable :: aperm(:,:), atemp(:,:) 7 real*8, allocatable :: apermS(:,:,:), atempS(:,:) 8 9 end module 10 11c----------------------------------------------------------------------- 12c allocate the arrays 13c----------------------------------------------------------------------- 14 subroutine aSDf 15 use solvedata 16 include "common.h" 17 allocate (lhsP(4,nnz_tot)) 18 allocate (lhsK(9,nnz_tot)) 19 if(leslib.eq.1) then 20 allocate (aperm(nshg,nPermDims)) 21 allocate (atemp(nshg,nTmpDims)) 22 endif 23 return 24 end 25 26 subroutine aSDs(nsclrsol) 27 use solvedata 28 include "common.h" 29 allocate (lhsS(nnz_tot,nsclrsol)) 30 if(leslib.eq.1) then 31 allocate (apermS(nshg,nPermDimsS,nsclrsol)) 32 allocate (atempS(nshg,nTmpDimsS)) 33 endif 34 return 35 end 36c----------------------------------------------------------------------- 37c delete the arrays 38c----------------------------------------------------------------------- 39 subroutine dSDf 40 use solvedata 41 include "common.h" 42 deallocate (lhsP) 43 deallocate (lhsK) 44 if(leslib.eq.1) then 45 deallocate (aperm) 46 deallocate (atemp) 47 endif 48 return 49 end 50 51 subroutine dSDs 52 use solvedata 53 include "common.h" 54 deallocate (lhsS) 55 if(leslib.eq.1) then 56 deallocate (apermS) 57 deallocate (atempS) 58 endif 59 return 60 end 61