1 subroutine get_variable (vtype, branch, node, lastnode, blktype,
2 & dt, rdt,
time, savev, savev2, value,
3 & time_flag,
block, ipinblk)
7 integer vtype,
branch, node, lastnode, blktype
8 real dt, rdt,
time, savev, savev2, value
63 if ((vtype .eq. ip_vr1) .or. (vtype .eq. ip_vr3))
then
65 else if (vtype .eq. ip_vr2)
then
67 else if ((vtype .eq. ip_ir1) .or. (vtype .eq. ip_ir3))
then
69 else if (vtype .eq. ip_ir2)
then
71 else if ((vtype .eq. ip_pr1) .or. (vtype .eq. ip_pr3))
then
73 else if (vtype .eq. ip_pr2)
then
75 else if ((vtype .eq. ip_er1) .or. (vtype .eq. ip_er3))
then
76 value = savev +
fpr1(node,
branch, time_flag) * dt
78 else if (vtype .eq. ip_er2)
then
79 value = savev +
fpr2(node,
branch, time_flag) * dt
81 else if ((vtype .eq. ip_r1) .or. (vtype .eq. ip_r3))
then
82 value = 1.0 / (g(node,
branch) + 1.0e-20)
83 else if (vtype .eq. ip_r2)
then
85 else if ((vtype .eq. ip_qr1) .or. (vtype .eq. ip_qr3))
then
86 value = savev +
fir1(node,
branch, time_flag) * dt
88 else if (vtype .eq. ip_qr2)
then
95 else if ((vtype .eq. ip_vc1) .or. (vtype .eq. ip_vc3))
then
97 else if ((vtype .eq. ip_ic1) .or. (vtype .eq. ip_ic3))
then
98 if (
time .gt. 0.0)
then
100 value = (charg - savev) * rdt
106 else if ((vtype .eq. ip_pc1) .or. (vtype .eq. ip_pc3))
then
107 if (
time .gt. 0.0)
then
110 & (epowr - savev) * rdt
116 else if ((vtype .eq. ip_ec1) .or. (vtype .eq. ip_ec3))
then
117 savev = savev +
fpc1(node,
branch, time_flag) * dt
119 else if ((vtype .eq. ip_c1) .or. (vtype .eq. ip_c3))
then
120 value = cechk(node,
branch)
121 else if ((vtype .eq. ip_qc1) .or. (vtype .eq. ip_qc3))
then
123 else if ((vtype .eq. ip_c1e) .or. (vtype .eq. ip_c3e))
then
129 else if (vtype .eq. ip_vl2)
then
130 if (
time .gt. 0.0)
then
132 value = (fluxl - savev) * rdt
138 else if (vtype .eq. ip_il2)
then
140 else if (vtype .eq. ip_pl2)
then
141 if (
time .gt. 0.0)
then
144 & (epowr - savev) * rdt
150 else if (vtype .eq. ip_el2)
then
151 savev = savev +
fpl2(node,
branch, time_flag) * dt
153 else if (vtype .eq. ip_l2)
then
154 value = zlrechk(node,
branch)
155 else if (vtype .eq. ip_fl2)
then
157 else if (vtype .eq. ip_ql2)
then
158 value = savev +
fiout(node,
branch, time_flag) * dt
160 else if (vtype .eq. ip_l2e)
then
165 else if (vtype .eq. ip_vsrc)
then
166 if ((blktype .eq. voltsource) .or.
167 & (blktype .eq. cendsource) .or.
168 & (blktype .eq. csclsource))
then
175 else if ((blktype .eq. currsource) .or.
176 & (blktype .eq. vendsource))
then
179 else if (vtype .eq. ip_isrc)
then
181 else if (vtype .eq. ip_psrc)
then
182 if (blktype .eq. voltsource)
then
185 else if ((blktype .eq. cendsource) .or.
186 & (blktype .eq. csclsource))
then
189 else if (blktype .eq. currsource)
then
192 else if (blktype .eq. vendsource)
then
196 else if (vtype .eq. ip_esrc)
then
197 if (blktype .eq. voltsource)
then
202 else if ((blktype .eq. cendsource) .or.
203 & (blktype .eq. csclsource))
then
208 else if (blktype .eq. currsource)
then
213 else if (blktype .eq. vendsource)
then
219 else if (vtype .eq. ip_qsrc)
then
220 value = savev +
fiout(node,
branch, time_flag) * dt
225 else if (vtype .eq. ip_vin)
then
227 else if (vtype .eq. ip_iin)
then
229 else if (vtype .eq. ip_pin)
then
232 else if (vtype .eq. ip_ein)
then
237 else if (vtype .eq. ip_qin)
then
238 value = savev +
fiin(node,
branch, time_flag) * dt
243 else if (vtype .eq. ip_vout)
then
245 else if (vtype .eq. ip_iout)
then
247 else if (vtype .eq. ip_pout)
then
250 else if (vtype .eq. ip_eout)
then
255 else if (vtype .eq. ip_qout)
then
256 value = savev +
fiout(node,
branch, time_flag) * dt
262 else if (vtype .eq. ip_frad)
then
264 else if (vtype .eq. ip_fvel)
then
266 else if (vtype .eq. ip_facc)
then
268 else if (vtype .eq. ip_fke)
then
270 else if (vtype .eq. ip_yw_al)
then
272 else if (vtype .eq. ip_ym_al)
then
274 else if (vtype .eq. ip_yw_ar)
then
276 else if (vtype .eq. ip_ym_ar)
then
278 else if (vtype .eq. ip_yw_cu)
then
280 else if (vtype .eq. ip_ym_cu)
then
282 else if (vtype .eq. ip_yw_kr)
then
284 else if (vtype .eq. ip_ym_kr)
then
286 else if (vtype .eq. ip_yw_xe)
then
288 else if (vtype .eq. ip_ym_xe)
then
291 else if (vtype .eq. ip_srad)
then
293 else if (vtype .eq. ip_svel)
then
295 else if (vtype .eq. ip_sacc)
then
297 else if (vtype .eq. ip_ske)
then
299 else if (vtype .eq. ip_smass)
then
301 else if (vtype .eq. ip_srad1)
then
302 value = shellradius(1)
303 else if (vtype .eq. ip_srad2)
then
304 value = shellradius(2)
305 else if (vtype .eq. ip_srad3)
then
306 value = shellradius(3)
307 else if (vtype .eq. ip_srad4)
then
308 value = shellradius(4)
309 else if (vtype .eq. ip_srad5)
then
310 value = shellradius(5)
311 else if (vtype .eq. ip_scur1)
then
313 else if (vtype .eq. ip_scur2)
then
315 else if (vtype .eq. ip_scur3)
then
317 else if (vtype .eq. ip_scur4)
then
319 else if (vtype .eq. ip_scur5)
then
325 else if (vtype .eq. ip_efld)
then
326 value = var_model(9,invarl(inumout))
327 else if (vtype .eq. ip_bfld)
then
328 value = var_model(10,invarl(inumout))
329 else if (vtype .eq. ip_xmfi)
then
330 value = var_model(11,invarl(inumout))
334 else if (vtype .eq. ip_fc)
then
335 value = var_model(8,invarl(inumout))
340 else if (vtype .eq. ip_grad)
then
342 else if (vtype .eq. ip_gvel)
then
344 else if (vtype .eq. ip_gacc)
then
346 else if (vtype .eq. ip_gke)
then
351 else if (vtype .eq. ip_zflow)
then
352 value = var_model(12,invarl(inumout))
353 else if (vtype .eq. ip_gzflow)
then
354 value = var_model(13,invarl(inumout))
363 else if (vtype .eq. ip_zloss)
then
364 value = var_model(6,invarl(inumout))
365 else if (vtype .eq. ip_gloss)
then
366 value = var_model(7,invarl(inumout))
371 else if (vtype .eq. ip_aloss)
then
372 value = pin(10,ipinblk,
branch)
382 else if (vtype .eq. ip_icathode)
then
383 value = ccathode(mzflowblock)
384 else if (vtype .eq. ip_iplasma)
then
385 value = cplasma(mzflowblock)
386 else if (vtype .eq. ip_zot)
then
387 value = measdzflow(mzflowblock)
395 else if (vtype .eq. ip_u1)
then
397 else if (vtype .eq. ip_u2)
then
399 else if (vtype .eq. ip_u3)
then
401 else if (vtype .eq. ip_u4)
then
403 else if (vtype .eq. ip_u5)
then
405 else if (vtype .eq. ip_u6)
then
407 else if (vtype .eq. ip_u7)
then
409 else if (vtype .eq. ip_u8)
then
411 else if (vtype .eq. ip_u9)
then
413 else if (vtype .eq. ip_u10)
then
416 else if (vtype .eq. ip_pdline)
then
419 do i = node, lastnode
424 elseif (vtype .eq. ip_edline)
then
427 do i = node, lastnode
433 else if (vtype .eq. ip_eline)
then
438 do i = node, lastnode
443 do i = node, lastnode
446 cvalue = esum + savev
451 do i = node, lastnode
454 savev2 = savev2 + psum
456 do i = node, lastnode
459 ivalue = esum + savev2
464 value = cvalue + ivalue
466 else if (vtype .eq. ip_pline)
then
471 do i = node, lastnode
475 if (
time .gt. 0.0)
then
477 do i = node, lastnode
480 cvalue = psum + (esum - savev) * rdt
489 do i = node, lastnode
493 if (
time .gt. 0.0)
then
495 do i = node, lastnode
498 ivalue = psum + (esum - savev2) * rdt
507 value = cvalue + ivalue
function fec1(inod, ibrn, time_flag)
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line corrected spelling errors in format added statement for Zflow Plasma Loss Model added format for CSV output type fixed more lines longer than characters added format for Measure Zflow Block and forward c reverse current directions in Zflow plasma loss c and Zflow POS models added format for SFC output type c removed from all code calls c c c c c a80 c i10 c No grids on plots c Do not write files containing the plotted points c Execute only one cycle c Do not echo the setup parameters and indicies c branch
function fvr2(inod, ibrn, time_flag)
function fiin(inod, ibrn, time_flag)
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line corrected spelling errors in format added statement for Zflow Plasma Loss Model added format for CSV output type fixed more lines longer than characters added format for Measure Zflow Block and forward c reverse current directions in Zflow plasma loss c and Zflow POS models added format for SFC output type c removed from all code calls c c c c c a80 c i10 c No grids on plots c Do not write files containing the plotted points c Execute only one cycle c Do not echo the setup parameters and indicies c c &exitting c a13 c c c c c c c c102 c &described as a function of time c c c &described as a function of time c c c &function of time c c shell c &min A K c &trapped field time
function fir1(inod, ibrn, time_flag)
function ffl2(inod, ibrn, time_flag)
function fpr1(inod, ibrn, time_flag)
function fel2(inod, ibrn, time_flag)
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line corrected spelling errors in format added statement for Zflow Plasma Loss Model added format for CSV output type fixed more lines longer than characters added format for Measure Zflow Block and forward c reverse current directions in Zflow plasma loss c and Zflow POS models added format for SFC output type c removed from all code calls c c c c c a80 c i10 c No grids on plots c Do not write files containing the plotted points c Execute only one cycle c Do not echo the setup parameters and indicies c c &exitting c a13 c c c c c c c c102 c &described as a function of time c c c &described as a function of time c c c &function of time c c shell c &min A K c &trapped field c153 c c c Sin c c c remaining calls in rdscrelem c Tabular a10 Cond c c c &used with this model c Exponential model of a resistive c c c Rise model of a resistive c c Z FLOW POS c c c c SW1 c c c158 MFI Insulator CB c c c c161 Z FLOW Plasma Loss Current c c c Applied B Diode c &Ion Ion c c c c Initial c PRINT Output Request for block
function fqc1(inod, ibrn, time_flag)
c *****************************************************************************c Various format statements for read_screamer_data output c To get these into made format to be characters c for each line c
function fiout(inod, ibrn, time_flag)
function fpr2(inod, ibrn, time_flag)
function fpl2(inod, ibrn, time_flag)
function fvblk(inod, ibrn, time_flag)
subroutine get_variable(vtype, branch, node, lastnode, blktype, dt, rdt, time, savev, savev2, value, time_flag, block, ipinblk)
function fpc1(inod, ibrn, time_flag)