Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Added our tweaked version of NAS benchmarks.
[simgrid.git] / examples / smpi / NAS / LU / applu.incl
diff --git a/examples/smpi/NAS/LU/applu.incl b/examples/smpi/NAS/LU/applu.incl
new file mode 100644 (file)
index 0000000..413fc83
--- /dev/null
@@ -0,0 +1,153 @@
+
+c---------------------------------------------------------------------
+c---------------------------------------------------------------------
+c---  applu.incl   
+c---------------------------------------------------------------------
+c---------------------------------------------------------------------
+
+c---------------------------------------------------------------------
+c   npbparams.h defines parameters that depend on the class and 
+c   number of nodes
+c---------------------------------------------------------------------
+
+      include 'npbparams.h'
+
+c---------------------------------------------------------------------
+c   parameters which can be overridden in runtime config file
+c   (in addition to size of problem - isiz01,02,03 give the maximum size)
+c   ipr = 1 to print out verbose information
+c   omega = 2.0 is correct for all classes
+c   tolrsd is tolerance levels for steady state residuals
+c---------------------------------------------------------------------
+      integer ipr_default
+      parameter (ipr_default = 1)
+      double precision omega_default
+      parameter (omega_default = 1.2d0)
+      double precision tolrsd1_def, tolrsd2_def, tolrsd3_def, 
+     >                 tolrsd4_def, tolrsd5_def
+      parameter (tolrsd1_def=1.0e-08, 
+     >          tolrsd2_def=1.0e-08, tolrsd3_def=1.0e-08, 
+     >          tolrsd4_def=1.0e-08, tolrsd5_def=1.0e-08)
+
+      double precision c1, c2, c3, c4, c5
+      parameter( c1 = 1.40d+00, c2 = 0.40d+00,
+     >           c3 = 1.00d-01, c4 = 1.00d+00,
+     >           c5 = 1.40d+00 )
+
+c---------------------------------------------------------------------
+c   grid
+c---------------------------------------------------------------------
+      integer nx, ny, nz
+      integer nx0, ny0, nz0
+      integer ipt, ist, iend
+      integer jpt, jst, jend
+      integer ii1, ii2
+      integer ji1, ji2
+      integer ki1, ki2
+      double precision  dxi, deta, dzeta
+      double precision  tx1, tx2, tx3
+      double precision  ty1, ty2, ty3
+      double precision  tz1, tz2, tz3
+
+      common/cgcon/ dxi, deta, dzeta,
+     >              tx1, tx2, tx3,
+     >              ty1, ty2, ty3,
+     >              tz1, tz2, tz3,
+     >              nx, ny, nz, 
+     >              nx0, ny0, nz0,
+     >              ipt, ist, iend,
+     >              jpt, jst, jend,
+     >              ii1, ii2, 
+     >              ji1, ji2, 
+     >              ki1, ki2
+
+c---------------------------------------------------------------------
+c   dissipation
+c---------------------------------------------------------------------
+      double precision dx1, dx2, dx3, dx4, dx5
+      double precision dy1, dy2, dy3, dy4, dy5
+      double precision dz1, dz2, dz3, dz4, dz5
+      double precision dssp
+
+      common/disp/ dx1,dx2,dx3,dx4,dx5,
+     >             dy1,dy2,dy3,dy4,dy5,
+     >             dz1,dz2,dz3,dz4,dz5,
+     >             dssp
+
+c---------------------------------------------------------------------
+c   field variables and residuals
+c---------------------------------------------------------------------
+      double precision u(5,-1:isiz1+2,-1:isiz2+2,isiz3),
+     >       rsd(5,-1:isiz1+2,-1:isiz2+2,isiz3),
+     >       frct(5,-1:isiz1+2,-1:isiz2+2,isiz3),
+     >       flux(5,0:isiz1+1,0:isiz2+1,isiz3)
+
+      common/cvar/ u,
+     >             rsd,
+     >             frct,
+     >             flux
+
+
+c---------------------------------------------------------------------
+c   output control parameters
+c---------------------------------------------------------------------
+      integer ipr, inorm
+
+      common/cprcon/ ipr, inorm
+
+c---------------------------------------------------------------------
+c   newton-raphson iteration control parameters
+c---------------------------------------------------------------------
+      integer itmax, invert
+      double precision  dt, omega, tolrsd(5),
+     >        rsdnm(5), errnm(5), frc, ttotal
+
+      common/ctscon/ dt, omega, tolrsd,
+     >               rsdnm, errnm, frc, ttotal,
+     >               itmax, invert
+
+      double precision a(5,5,isiz1,isiz2),
+     >       b(5,5,isiz1,isiz2),
+     >       c(5,5,isiz1,isiz2),
+     >       d(5,5,isiz1,isiz2)
+
+      common/cjac/ a, b, c, d
+
+c---------------------------------------------------------------------
+c   coefficients of the exact solution
+c---------------------------------------------------------------------
+      double precision ce(5,13)
+
+      common/cexact/ ce
+
+c---------------------------------------------------------------------
+c   multi-processor common blocks
+c---------------------------------------------------------------------
+      integer id, ndim, num, xdim, ydim, row, col
+      common/dim/ id,ndim,num,xdim,ydim,row,col
+
+      integer north,south,east,west
+      common/neigh/ north,south,east, west
+
+      integer from_s,from_n,from_e,from_w
+      parameter (from_s=1,from_n=2,from_e=3,from_w=4)
+
+      integer npmax
+      parameter (npmax=isiz01+isiz02)
+
+      logical icommn(npmax+1),icomms(npmax+1),
+     >        icomme(npmax+1),icommw(npmax+1)
+      double precision  buf(5,2*isiz2*isiz3),
+     >                  buf1(5,2*isiz2*isiz3)
+
+      common/comm/ buf, buf1,
+     >             icommn,icomms,
+     >             icomme,icommw
+
+      double precision maxtime
+      common/timer/maxtime
+
+
+c---------------------------------------------------------------------
+c   end of include file
+c---------------------------------------------------------------------