35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "param_c.inc"
43#include "com04_c.inc"
44#include "task_c.inc"
45#include "com01_c.inc"
46
47
48
49 INTEGER NSTRF(*),NPRW(*),ITAB(*)
51 . rwbuf(nrwlp,*),disp(3,*),xmin ,ymin ,zmin ,xmax ,
ymax, zmax
53 . xwl(*), ywl(*), zwl(*), rwall_v1(*), rwall_v2(*), rwall_v3(*),
54 . rwall_v4(*), rwall_v5(*), rwall_v6(*)
55 integer
56 . fr_sec(nspmd+1,*),fr_wall(nspmd+2,*),weight(*)
57
58
59
60 INTEGER J, I, K, K0, K1, N, NSEG, N1, N2, N3, N4,MSR, ITYP
62 . xx1, yy1, zz1, xx2, yy2, zz2, xx3, yy3, zz3,
63 . xx4, yy4, zz4, d13, xxc, yyc, zzc, al4,
64 . pmain,loc_proc, v1, v2, v3, vv1, vv2,
65 . vv3, r, xn,yn,zn,d,dx,dy,dz, vv
66
68 . xsec(3,3,nsect)
69 REAL R4,SBUF(3*NSECT)
70
71 loc_proc=ispmd+1
72
73
74 k=1
75 DO n=1,nrwall
76 n2=n +nrwall
77 n3=n2+nrwall
78 n4=n3+nrwall
79 msr = nprw(n3)
80 IF (nspmd == 1) THEN
81 IF(msr==0)THEN
82 xwl(n)= zero
83 ywl(n)= zero
84 zwl(n)= zero
85 ELSE
86
87 xwl(n)=disp(1,msr)
88 ywl(n)=disp(2,msr)
89 zwl(n)=disp(3,msr)
90 ENDIF
91 ELSE
93 END IF
94 IF (ispmd==0) THEN
95 ityp= nprw(n4)
96 IF(ityp==4)THEN
97 xwl(n) = xwl(n)
98 ywl(n) = ywl(n)
99 zwl(n) = zwl(n)
100 ENDIF
101 k=k+nprw(n)
102 IF(nprw(n4)==-1)k=k+nint(rwbuf(8,n))
103 END IF
104 ENDDO
105
106 k=1
107 DO n=1,nrwall
108 n2=n +nrwall
109 n3=n2+nrwall
110 n4=n3+nrwall
111 ityp= nprw(n4)
112
113 IF(iabs(ityp)==1)THEN
114
115 IF (ispmd==0) THEN
116
117 rwall_v1(n) = zero
118 rwall_v2(n) = zero
119 rwall_v3(n) = zero
120 rwall_v4(n) = zero
121 rwall_v5(n) = zero
122 rwall_v6(n) = zero
123 ENDIF
124
125 ELSEIF(ityp==2)THEN
126
127 IF (ispmd==0) THEN
128
129 rwall_v1(n) = zero
130 rwall_v2(n) = zero
131 rwall_v3(n) = zero
132 rwall_v4(n) = zero
133 rwall_v5(n) = zero
134 rwall_v6(n) = zero
135 ENDIF
136 ELSEIF(ityp==3)THEN
137
138 IF (ispmd==0) THEN
139 rwall_v1(n) = zero
140 rwall_v2(n) = zero
141 rwall_v3(n) = zero
142 rwall_v4(n) = zero
143 rwall_v5(n) = zero
144 rwall_v6(n) = zero
145 ENDIF
146 ELSEIF(ityp==4)THEN
147 IF (ispmd==0) THEN
148
149 rwall_v1(n) = zero
150 rwall_v2(n) = zero
151 rwall_v3(n) = zero
152 rwall_v4(n) = zero
153 rwall_v5(n) = zero
154 rwall_v6(n) = zero
155 ENDIF
156
157 ENDIF
158 k=k+nprw(n)
159 IF(nprw(n4)==-1)k=k+nint(rwbuf(8,n))
160 ENDDO
161
162 RETURN
subroutine ymax(idn, fac, npc, pld, stiffmin, stiffmax, stiffini, stiffavg)
subroutine spmd_h3d_getmsr_update(fr_wall, disp, msr, xwl, ywl, zwl, rwl)