Nek5000
SEM for Incompressible NS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
scratch_mod.F90
Go to the documentation of this file.
1 
2 module scratch
3  use kinds, only : dp
4  use, INTRINSIC :: iso_c_binding
5 ! Scratch arrays used in CONNECT and associated subroutines.
6 
7 ! ring pass arrays
8 
9  real(DP), allocatable :: rmxs(:), rmax(:)
10  real(DP), allocatable :: xcg(:), ycg(:), zcg(:)
11  real(DP), allocatable :: xgs(:), ygs(:), zgs(:)
12  real(DP), allocatable :: xml(:,:,:,:), xms(:,:,:,:)
13  real(DP), allocatable :: yml(:,:,:,:), yms(:,:,:,:)
14  real(DP), allocatable :: zml(:,:,:,:), zms(:,:,:,:)
15 
16  real(DP), allocatable :: side(:,:,:), sides(:,:,:)
17  real(DP), allocatable :: flag(:,:,:,:)
18  real(DP), allocatable :: tmp(:,:,:,:), tmp2(:,:,:,:)
19  real(DP), allocatable :: lmult(:,:,:,:)
20  real(DP), allocatable :: bcs(:,:,:), xyz(:,:,:)
21 
22 ! nested dissection arrays
23 
24  character(3), allocatable :: cbcs(:,:)
25  integer, allocatable :: ibrnch(:), nbrnch(:), list(:), list1(:), list2(:)
26  logical, allocatable :: ifcnst(:,:)
27 
28  real(DP), allocatable :: xyzl(:,:,:), cg(:,:)
29 
30 !max dimension xyzl(3,8,lelt),cg(3,lelt)
31 !max equivalence (xyzl,xms)
32 !max equivalence (cg,xgs)
33 
34  contains
35 
36  subroutine init_scratch()
37  use size_m
38  implicit none
39 
40  allocate( rmxs(lelt),rmax(lelt))
41 ! ,xcg(lelt),ycg(lelt),zcg(lelt) &
42 ! ,xgs(lelt),ygs(lelt),zgs(lelt) &
43  allocate(xml(3,3,lzl,lelt),xms(3,3,lzl,lelt) & ! verified
44  ,yml(3,3,lzl,lelt),yms(3,3,lzl,lelt) & ! verified
45  ,zml(3,3,lzl,lelt),zms(3,3,lzl,lelt) ) ! verified
46  allocate(side(4,6,lelt),sides(4,6,lelt)) ! verified
47  allocate(xyz(3,8,lelt)) ! verified
48 ! allocate(flag(3,3,lzl,lelt))
49 ! ,tmp2(3,3,lzl,lelt) &
50 ! ,lmult(3,3,lzl,lelt),bcs(5,6,lelt) &
51 
52 ! nested dissection arrays
53 
54  allocate(cbcs(6,lelt))
55  allocate(ibrnch(lelt),nbrnch(lelt) &
56  ,list(lelt),list1(lelt) ,list2(lelt) &
57  ,ifcnst(6,lelt) )
58 
59 !max call C_F_POINTER (C_LOC(xms), xyzl, [3,8,lelt])
60 !max call C_F_POINTER (C_LOC(xgs), cg, [3,lelt])
61  allocate(xyzl(3,8,lelt), cg(3,lelt))
62 
63  end subroutine init_scratch
64 
65 end module scratch
cleaned
Definition: scratch_mod.F90:2
subroutine init_scratch()
Definition: scratch_mod.F90:36
static int flag
Definition: byte.c:52