Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
zper_mod.F90
Go to the documentation of this file.
1 
2 module zper
3 ! Eigenvalue arrays and pointers for Global Tensor Product
4 ! parameter (lelg_sm=2)
5 ! parameter (ltfdm2 =2)
6 ! parameter (lelg_sm=lelg)
7 ! parameter (ltfdm2=2*lx2*ly2*lz2*lelt)
8 ! parameter (leig2=2*lx2*lx2*(lelx*lelx+lely*lely+lelz*lelz))
9 ! parameter (leig =2*lx2*(lelx+lely+lelz))
10  use kinds, only : dp
11  use size_m
12  implicit none
13 
14  integer, parameter :: lfdm0 = 1-lfdm
15  integer, parameter :: lelg_sm=lfdm0+lfdm*lelg
16  integer, parameter :: ltfdm2 =lfdm0+lfdm*2*lx2*ly2*lz2*lelt
17  integer, parameter :: leig2 =lfdm0+lfdm*2*lx2*lx2 &
18  *(lelx*lelx+lely*lely+lelz*lelz)
19  integer, parameter :: leig =lfdm0+lfdm*2*lx2*(lelx+lely+lelz)
20 
21  integer :: neigx, neigy, neigz, pvalx ,pvaly ,pvalz &
22  , pvecx ,pvecy ,pvecz
23 
24  real(DP), allocatable :: sp(:), spt(:), eigp(:), wavep(:)
25  real(DP) :: msp(3,2),mlp(3,2)
26 
27 
28 ! Logical, array and geometry data for tensor-product box
29  logical :: ifycrv,ifzper,ifgfdm,ifgtp,ifemat
30 
31  integer :: nelx,nely,nelz,nelxy &
32  ,lex2pst(3),pst2lex(3) &
33  ,ngfdm_p(3),ngfdm_v(3,2)
34 
35 ! Complete exchange arrays for pressure
36 ! common /gfdmcx/ part_in(0:lp),part_out(0:lp)
37  integer, parameter :: lp_small = 256
38  integer :: part_in(0:lp_small),part_out(0:lp_small), msg_id(0:lp_small,2), mcex
39 
40 ! Permutation arrays for gfdm pressure solve
41  integer, allocatable :: tpn1(:), tpn2(:), tpn3(:), ind23(:)
42 
43  integer, parameter :: lfdx =lfdm0+lfdm*lx2*lelx
44  integer, parameter :: lfdy =lfdm0+lfdm*ly2*lely
45  integer, parameter :: lfdz =lfdm0+lfdm*lz2*lelz
46  real(DP), allocatable :: xgtp(:), ygtp(:), zgtp(:)
47  real(DP), allocatable :: xmlt(:), ymlt(:), zmlt(:)
48 
49 ! Metrics for 2D x tensor-product solver
50  real(DP), allocatable, dimension(:,:,:) :: rx2, ry2, sx2, sy2, w2d, bxyi
51 
52  character(3) :: gtp_cbc(6,0:ldimt1+1)
53 
54  contains
55 
56  subroutine init_zper
57  use size_m
58  implicit none
59 
60 #if 0
61  allocate(sp(leig2),spt(leig2),eigp(leig), wavep(ltfdm2))
62 
63  allocate(tpn1(ltfdm2),tpn2(ltfdm2), tpn3(ltfdm2),ind23(ltfdm2))
64 
65  allocate(xgtp(0:lelx),ygtp(0:lely),zgtp(0:lelz))
66  allocate(xmlt(lfdx),ymlt(lfdy),zmlt(lfdz))
67 #endif
68 
69 
70 ! Metrics for 2D x tensor-product solver
71 #if 0
72  allocate(rx2(lx2,ly2,lelv) &
73  , ry2(lx2,ly2,lelv) &
74  , sx2(lx2,ly2,lelv) &
75  , sy2(lx2,ly2,lelv) &
76  , w2d(lx2,ly2,lelv) &
77  , bxyi(lx1,ly1,lelv) )
78 #endif
79 
80  end subroutine init_zper
81 
82 end module zper
subroutine init_zper
Definition: zper_mod.F90:56
Cleaned.
Definition: zper_mod.F90:2