1 |
|
2 |
#include "ctrparam.h" |
3 |
|
4 |
! ========================================================== |
5 |
! |
6 |
! MESH.F: subroutines for setting vertical coordinates |
7 |
! of the model. |
8 |
! |
9 |
! ---------------------------------------------------------- |
10 |
! |
11 |
! Revision History: |
12 |
! |
13 |
! When Who What |
14 |
! ---- ---------- ------- |
15 |
! 073100 Chien Wang repack based on CliChem3 & M24x11 |
16 |
! |
17 |
! ========================================================== |
18 |
|
19 |
SUBROUTINE MESH09(N,DST,DSB,SIGF,SIGH,DSIGH,DSIGF) |
20 |
|
21 |
IMPLICIT REAL*8 (A-H,O-Z) |
22 |
dimension sigf(n),sigh(0:n),dsigh(n),dsigf(n) |
23 |
dimension sig0(9),sige0(0:9) |
24 |
creal *4 sig0(9),sige0(0:9) |
25 |
CB for LM=9 |
26 |
DATA SIG0/.974264e0,.907372e0,.796957e0,.640124e0,.470418e0, |
27 |
& .318899e0, |
28 |
* .195759e0,.094938e0,.016897e0/ |
29 |
DATA SIGE0/1.e0,.948665e0,.866530e0,.728953e0,.554415e0,.390144e0, |
30 |
* .251540e0,.143737e0,.061602e0,0.e0/ |
31 |
ptop=10.e0 |
32 |
psrf=984.e0 |
33 |
do l=0,9 |
34 |
sigh(n-l)=sige0(l) |
35 |
enddo |
36 |
do l=1,9 |
37 |
sigf(n-l+1)=sig0(l) |
38 |
enddo |
39 |
print *,' ' |
40 |
print '(A35,I2)','VERTICAL GRID FOR LM=',N |
41 |
print *,' ' |
42 |
print *,' L SIGH PH SIGF PF' |
43 |
print *,' ' |
44 |
do l=0,n |
45 |
pp=sigh(l)*(psrf-ptop)+ptop |
46 |
if(l.eq.0)then |
47 |
print '(i5,2f10.2)',l,sigh(l),pp |
48 |
else |
49 |
pp1=sigf(l)*(psrf-ptop)+ptop |
50 |
print '(i5,4f10.2)',l,sigh(l),pp,sigf(l),pp1 |
51 |
endif |
52 |
enddo |
53 |
return |
54 |
end |
55 |
|
56 |
SUBROUTINE MESH11(N,DST,DSB,SIGF,SIGH,DSIGH,DELSF) |
57 |
|
58 |
IMPLICIT REAL*8 (A-H,O-Z) |
59 |
dimension sigf(n),sigh(0:n),dsigh(n),dsigf(n) |
60 |
real sig0(11),sige0(0:11),prnew(5) |
61 |
data prnew/30.,60.,100.,150.,200./ |
62 |
CB for LM=11 |
63 |
DATA SIGE0/1.,.948665,.866530,.728953,.554415,.390144, |
64 |
* .251540,.143737,.092402,.0513347,.02053388,0./ |
65 |
DATA SIG0/.974264,.907372,.796957,.640124,.470418,.318899, |
66 |
* .195759,.112936,.066735,.0308008,.0051335/ |
67 |
CE for LM=11 |
68 |
do l=0,11 |
69 |
sigh(n-l)=sige0(l) |
70 |
enddo |
71 |
do l=1,11 |
72 |
sigf(n-l+1)=sig0(l) |
73 |
enddo |
74 |
ptop=10. |
75 |
psrf=984. |
76 |
do l=1,4 |
77 |
pp=sigh(l)*(psrf-ptop)+ptop |
78 |
ppm1=sigh(l-1)*(psrf-ptop)+ptop |
79 |
ppf=sqrt(pp*ppm1) |
80 |
sigf(l)=(ppf-ptop)/(psrf-ptop) |
81 |
enddo |
82 |
print *,' ' |
83 |
print '(A35,I2)','VERTICAL GRID FOR LM=',N |
84 |
print *,' ' |
85 |
print *,' L SIGH PH SIGF PF' |
86 |
print *,' ' |
87 |
do l=0,n |
88 |
pp=sigh(l)*(psrf-ptop)+ptop |
89 |
if(l.eq.0)then |
90 |
print '(i5,f12.5,f10.2)',l,sigh(l),pp |
91 |
else |
92 |
pp1=sigf(l)*(psrf-ptop)+ptop |
93 |
print '(i5,2(f12.5,f10.2))',l,sigh(l),pp,sigf(l),pp1 |
94 |
endif |
95 |
enddo |
96 |
return |
97 |
end |