41 integer nelem,nactdog(0:3,*),node1,node2,nodem,kon(*),ipkon(*),
42 & ielprop(*),nodef(*),idirf(*),index,iflag,
43 & inv,id,numf,npu,i,mi(*),iaxial
45 real*8 prop(*),v(0:mi(2),*),xflow,f,
df(*),cp,r,dvi,
46 & p1,p2,physcon(*),ttime,time,xmach,kappa,
47 & xpu(100),ypu(100),qred,p1mp2zp1,t1,scal,t2
52 if(nactdog(2,node1).ne.0)
then 54 elseif(nactdog(2,node2).ne.0)
then 56 elseif(nactdog(1,nodem).ne.0)
then 60 elseif ((iflag.eq.1).or.(iflag.eq.2))
then 64 npu=nint(prop(index+2))
73 xpu(i)=prop(index+2*i+1)
74 ypu(i)=prop(index+2*i+2)
82 t1=v(0,node1)-physcon(1)
87 t1=v(0,node2)-physcon(1)
94 call ident(xpu,p1mp2zp1,npu,id)
97 xflow=inv*qred*p1/dsqrt(t1)
98 elseif(id.ge.npu)
then 100 xflow=inv*qred*p1/dsqrt(t1)
102 qred=scal*(ypu(id)+(ypu(id+1)-ypu(id))
103 & *(p1mp2zp1-xpu(id))/(xpu(id+1)-xpu(id)))
104 xflow=inv*qred*p1/dsqrt(t1)
107 elseif (iflag.eq.2)
then 112 xflow=v(1,nodem)*iaxial
117 xflow=v(1,nodem)*iaxial
118 t1=v(0,node1)-physcon(1)
129 t1=v(0,node2)-physcon(1)
130 xflow=-v(1,nodem)*iaxial
142 df(2)=xflow/(2.d0*p1*dsqrt(t1))
143 df(3)=inv*dsqrt(t1)/p1
145 call ident(xpu,p1mp2zp1,npu,id)
148 f=dabs(xflow)/p1*dsqrt(t1)-scal*ypu(1)
150 df(1)=-xflow*dsqrt(t1)/p1**2
152 elseif(id.ge.npu)
then 153 f=dabs(xflow)/p1*dsqrt(t1)-scal*ypu(npu)
155 df(1)=-xflow*dsqrt(t1)/p1**2
158 f=dabs(xflow)/p1*dsqrt(t1)-(scal*ypu(id)
159 & +scal*(ypu(id+1)-ypu(id))
160 & *(p1mp2zp1-xpu(id))/(xpu(id+1)-xpu(id)))
162 df(4)=scal*(ypu(id+1)-ypu(id))/(xpu(id+1)-xpu(id))*1/p1
164 df(1)=-xflow*dsqrt(t1)/p1**2-(p2/p1**2)
165 & *(scal*(ypu(id+1)-ypu(id))/(xpu(id+1)-xpu(id)))
169 elseif(iflag.eq.3)
then 172 xflow=v(1,nodem)*iaxial
174 xmach=dsqrt(((p1/p2)**((kappa-1.d0)/kappa)-1.d0)*2.d0/
180 xflow=v(1,nodem)*iaxial
181 t1=v(0,node1)-physcon(1)
182 t2=v(0,node2)-physcon(1)
193 t1=v(0,node2)-physcon(1)
194 t2=v(0,node1)-physcon(1)
195 xflow=-v(1,nodem)*iaxial
203 write(1,55)
' from node',node1,
204 &
' to node', node2,
': air massflow rate=',xflow
206 55
FORMAT(1x,a,i6,a,i6,a,
e11.4,a,a,
e11.4,a)
209 write(1,56)
' Inlet node ',node1,
': Tt1=',t1,
210 &
', Ts1=',t1,
', Pt1=',p1
212 write(1,*)
' Element ',nelem,lakon(nelem)
213 write(1,57)
'M = ',xmach
215 write(1,56)
' Outlet node ',node2,
': Tt2=',t2,
216 &
', Ts2=',t2,
', Pt2=',p2
218 else if(inv.eq.-1)
then 219 write(1,56)
' Inlet node ',node2,
': Tt1=',t1,
220 &
', Ts1=',t1,
', Pt1=',p1
222 write(1,*)
' Element ',nelem,lakon(nelem)
223 write(1,57)
'M = ',xmach
225 write(1,56)
' Outlet node ',node1,
': Tt2=',t2,
226 &
', Ts2=',t2,
', Pt2=',p2
230 56
FORMAT(1x,a,i6,a,
e11.4,a,
e11.4,a,
e11.4,a)
231 57
format(40x,a,
e11.4)
subroutine ident(x, px, n, id)
Definition: ident.f:26
subroutine df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
static double * e11
Definition: radflowload.c:42