source: CIVL/examples/fortran/nek5000/core/planx.f

main
Last change on this file was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100755
File size: 2.8 KB
Line 
1 SUBROUTINE PLAN3 (IGEOM)
2C-----------------------------------------------------------------------
3C
4C Compute pressure and velocity using consistent approximation spaces.
5C Operator splitting technique.
6C
7C-----------------------------------------------------------------------
8 include 'SIZE'
9 include 'INPUT'
10 include 'EIGEN'
11 include 'SOLN'
12 include 'TSTEP'
13C
14 COMMON /SCRNS/ RESV1 (LX1,LY1,LZ1,LELV)
15 $ , RESV2 (LX1,LY1,LZ1,LELV)
16 $ , RESV3 (LX1,LY1,LZ1,LELV)
17 $ , DV1 (LX1,LY1,LZ1,LELV)
18 $ , DV2 (LX1,LY1,LZ1,LELV)
19 $ , DV3 (LX1,LY1,LZ1,LELV)
20 COMMON /SCRVH/ H1 (LX1,LY1,LZ1,LELV)
21 $ , H2 (LX1,LY1,LZ1,LELV)
22C
23 IF (IGEOM.EQ.1) THEN
24C
25C Old geometry
26C
27 CALL MAKEF
28C
29 ELSE
30C
31C New geometry, new b.c.
32C
33 intype = -1
34 call sethlm (h1,h2,intype)
35 call cresvif (resv1,resv2,resv3,h1,h2)
36
37 call ophinv (dv1,dv2,dv3,resv1,resv2,resv3,h1,h2,tolhv,nmxv)
38 call opadd2 (vx,vy,vz,dv1,dv2,dv3)
39c
40 call incomprn(vx,vy,vz,pr)
41C
42 ENDIF
43C
44 RETURN
45 END
46C
47 SUBROUTINE LAGPRES
48C--------------------------------------------------------------------
49C
50C Keep old pressure values
51C
52C--------------------------------------------------------------------
53 include 'SIZE'
54 include 'SOLN'
55 include 'TSTEP'
56
57 common /cgeom/ igeom
58
59 IF (NBDINP.EQ.3.and.igeom.le.2) THEN
60 NTOT2 = lx2*ly2*lz2*NELV
61 CALL COPY (PRLAG,PR,NTOT2)
62 ENDIF
63 RETURN
64 END
65C
66 subroutine cresvif (resv1,resv2,resv3,h1,h2)
67C---------------------------------------------------------------------
68C
69C Compute startresidual/right-hand-side in the velocity solver
70C
71C---------------------------------------------------------------------
72 include 'SIZE'
73 include 'TOTAL'
74 REAL RESV1 (LX1,LY1,LZ1,1)
75 REAL RESV2 (LX1,LY1,LZ1,1)
76 REAL RESV3 (LX1,LY1,LZ1,1)
77 REAL H1 (LX1,LY1,LZ1,1)
78 REAL H2 (LX1,LY1,LZ1,1)
79 COMMON /SCRUZ/ W1 (LX1,LY1,LZ1,LELV)
80 $ , W2 (LX1,LY1,LZ1,LELV)
81 $ , W3 (LX1,LY1,LZ1,LELV)
82
83 common /cgeom/ igeom
84
85 NTOT1 = lx1*ly1*lz1*NELV
86 NTOT2 = lx2*ly2*lz2*NELV
87 if (igeom.eq.2) CALL LAGVEL
88 CALL BCDIRVC (VX,VY,VZ,v1mask,v2mask,v3mask)
89 CALL BCNEUTR
90C
91 call extrapp (pr,prlag)
92 call opgradt (resv1,resv2,resv3,pr)
93 CALL OPADD2 (RESV1,RESV2,RESV3,BFX,BFY,BFZ)
94 CALL OPHX (W1,W2,W3,VX,VY,VZ,H1,H2)
95 CALL OPSUB2 (RESV1,RESV2,RESV3,W1,W2,W3)
96C
97 RETURN
98 END
99c-----------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.