| implicit none |
| |
| include 'npbparams.h' |
| |
| c.....Array dimensions |
| integer lx1, lnje, nsides, nxyz |
| parameter(lx1=5, lnje=2, nsides=6, nxyz=lx1*lx1*lx1) |
| |
| integer fre, niter, nmxh |
| double precision alpha, dlmin, dtime |
| common /usrdati/ fre, niter, nmxh |
| common /usrdatr/ alpha, dlmin, dtime |
| |
| integer nelt, ntot, nmor, nvertex |
| common /dimn/ nelt,ntot, nmor, nvertex |
| |
| double precision x0, y0, z0, time |
| common /bench1/time, x0, y0, z0 |
| |
| double precision velx, vely, velz, visc, x00, y00, z00 |
| parameter(velx=3.d0, vely=3.d0, velz=3.d0) |
| parameter(visc=0.005d0) |
| parameter(x00=3.d0/7.d0, y00=2.d0/7.d0, z00=2.d0/7.d0) |
| |
| c.....double precision arrays associated with collocation points |
| double precision |
| & ta1 (lx1,lx1,lx1,lelt), ta2 (lx1,lx1,lx1,lelt), |
| & trhs (lx1,lx1,lx1,lelt), t (lx1,lx1,lx1,lelt), |
| & tmult(lx1,lx1,lx1,lelt), dpcelm(lx1,lx1,lx1,lelt), |
| & pdiff(lx1,lx1,lx1,lelt), pdiffp(lx1,lx1,lx1,lelt) |
| common /colldp/ ta1, ta2, trhs, t, tmult, dpcelm, pdiff, pdiffp |
| |
| c.....double precision arays associated with mortar points |
| double precision |
| & umor(lmor), mormult(lmor), tmort(lmor), tmmor(lmor), |
| & rmor(lmor), dpcmor (lmor), pmorx(lmor), ppmor(lmor) |
| common /mortdp/ umor, mormult, tmort,tmmor, rmor, dpcmor, |
| & pmorx, ppmor |
| |
| c.... integer arrays associated with element faces |
| integer idmo (lx1,lx1,lnje,lnje,nsides,lelt), |
| & idel (lx1,lx1, nsides,lelt), |
| & sje (2,2, nsides,lelt), |
| & sje_new (2,2, nsides,lelt), |
| & ijel (2, nsides,lelt), |
| & ijel_new(2, nsides,lelt), |
| & cbc ( nsides,lelt), |
| & cbc_new ( nsides,lelt) |
| common/facein/ idmo, ijel, idel, ijel_new, sje, sje_new, cbc, |
| & cbc_new |
| |
| c.....integer array associated with vertices |
| integer vassign (8,lelt), emo(2,8,8*lelt), |
| & nemo (8* lelt) |
| common /vin/vassign, emo, nemo |
| |
| c.....integer array associated with element edges |
| integer diagn (2,12,lelt) |
| common /edgein/diagn |
| |
| c.... integer arrays associated with elements |
| integer tree ( lelt), mt_to_id ( lelt), |
| & newc ( lelt), mt_to_id_old( lelt), |
| & newi ( lelt), id_to_mt ( lelt), |
| & newe ( lelt), ref_front_id( lelt), |
| & front( lelt), action ( lelt), |
| & ich ( lelt), size_e ( lelt), |
| & treenew ( lelt) |
| common /eltin/ tree, treenew,mt_to_id,mt_to_id_old, |
| & id_to_mt, newc, newi, newe, ref_front_id, |
| & ich, size_e, front, action |
| |
| c.....logical arrays associated with vertices |
| logical ifpcmor (8* lelt) |
| common /vlg/ ifpcmor |
| |
| c.....logical arrays associated with edge |
| logical eassign (12,lelt), if_1_edge(12,lelt), |
| & ncon_edge(12,lelt) |
| common /edgelg/ eassign, ncon_edge, if_1_edge |
| |
| c.....logical arrays associated with elements |
| logical skip (lelt), ifcoa (lelt), ifcoa_id(lelt) |
| common /facelg/ skip, ifcoa, ifcoa_id |
| |
| c.....logical arrays associated with element faces |
| logical fassign(nsides,lelt), edgevis(4,nsides,lelt) |
| common /masonl/ fassign, edgevis |
| |
| c.....small arrays |
| double precision qbnew(lx1-2,lx1,2), bqnew(lx1-2,lx1-2,2) |
| common /transr/ qbnew,bqnew |
| |
| double precision pcmor_nc1(lx1,lx1,2,2,refine_max), |
| $ pcmor_nc2(lx1,lx1,2,2,refine_max), |
| $ pcmor_nc0(lx1,lx1,2,2,refine_max), |
| $ pcmor_c(lx1,lx1,refine_max), tcpre(lx1,lx1), |
| $ pcmor_cor(8,refine_max) |
| common /pcr/ pcmor_nc1,pcmor_c,pcmor_nc0,pcmor_nc2,tcpre, |
| $ pcmor_cor |
| |
| c.....gauss-labotto and gauss points |
| double precision zgm1(lx1) |
| common /gauss/ zgm1 |
| |
| c.....weights |
| double precision wxm1(lx1), w3m1(lx1,lx1,lx1) |
| common /wxyz/ wxm1,w3m1 |
| |
| c.....coordinate of element vertices |
| double precision xc(8,lelt),yc(8,lelt),zc(8,lelt), |
| $ xc_new(8,lelt),yc_new(8,lelt),zc_new(8,lelt) |
| common /coord/ xc,yc,zc,xc_new,yc_new,zc_new |
| |
| c.....dr/dx, dx/dr and Jacobian |
| double precision jacm1_s(lx1,lx1,lx1,refine_max), |
| $ rxm1_s(lx1,lx1,lx1,refine_max), |
| $ xrm1_s(lx1,lx1,lx1,refine_max) |
| common /giso/ jacm1_s,xrm1_s, rxm1_s |
| |
| c.....mass matrices (diagonal) |
| double precision bm1_s(lx1,lx1,lx1,refine_max) |
| common /mass/ bm1_s |
| |
| c.....dertivative matrices d/dr |
| double precision dxm1(lx1,lx1), dxtm1(lx1,lx1), wdtdr(lx1,lx1) |
| common /dxyz/ dxm1,dxtm1,wdtdr |
| |
| c.....interpolation operators |
| double precision |
| $ ixm31(lx1,lx1*2-1), ixtm31(lx1*2-1,lx1), ixmc1(lx1,lx1), |
| $ ixtmc1(lx1,lx1), ixmc2(lx1,lx1), ixtmc2(lx1,lx1), |
| $ map2(lx1),map4(lx1) |
| common /ixyz/ ixmc1,ixtmc1,ixmc2,ixtmc2,ixm31,ixtm31,map2,map4 |
| |
| c.....collocation location within an element |
| double precision xfrac(lx1) |
| common /xfracs/xfrac |
| |
| c.....used in laplacian operator |
| double precision g1m1_s(lx1,lx1,lx1,refine_max), |
| $ g4m1_s(lx1,lx1,lx1,refine_max), |
| $ g5m1_s(lx1,lx1,lx1,refine_max), |
| $ g6m1_s(lx1,lx1,lx1,refine_max) |
| common /gmfact/ g1m1_s,g4m1_s,g5m1_s, g6m1_s |
| |
| c.....We store some tables of useful topological constants |
| c These constants are intialized in a block data 'top_constants' |
| integer f_e_ef(4,6) |
| integer e_c(3,8) |
| integer local_corner(8,6) |
| integer cal_nnb(3,8) |
| integer oplc(4) |
| integer cal_iijj(2,4) |
| integer cal_intempx(4,6) |
| integer c_f(4,6) |
| integer le_arr(4,0:1,3) |
| integer jjface(6) |
| integer e_face2(4,6) |
| integer op(4) |
| integer localedgenumber(6,12) |
| integer edgenumber(4,6) |
| integer f_c(3,8) |
| integer e1v1(6,6),e2v1(6,6),e1v2(6,6),e2v2(6,6) |
| integer children(4,6) |
| integer iijj(2,4) |
| integer v_end(2) |
| integer face_l1(3),face_l2(3),face_ld(3) |
| common /top_consts/ f_e_ef,e_c,local_corner,cal_nnb,oplc, |
| $ cal_iijj,cal_intempx,c_f,le_arr,jjface,e_face2,op, |
| $ localedgenumber,edgenumber,f_c,e1v1,e2v1,e1v2,e2v2, |
| $ children,iijj,v_end,face_l1,face_l2,face_ld |
| |
| c ... Timer parameters |
| integer t_total,t_init,t_convect,t_transfb_c, |
| & t_diffusion,t_transf,t_transfb,t_adaptation, |
| & t_transf2,t_add2,t_last |
| parameter (t_total=1,t_init=2,t_convect=3,t_transfb_c=4, |
| & t_diffusion=5,t_transf=6,t_transfb=7,t_adaptation=8, |
| & t_transf2=9,t_add2=10,t_last=10) |
| logical timeron |
| common /timing/timeron |