Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
zdem.f
Go to the documentation of this file.
1  subroutine zdem(ifile,clen)
2 c -----------------------------------------------------------------------------
3 c
4 c ssss cccc rrrrr eeeeee aa m m eeeeee rrrrr
5 c s s c c r r e a a mm mm e r r
6 c s c r r e a a m mm m e r r
7 c ssss c rrrrr eeeee aaaaaa m mm m eeeee rrrrr
8 c s c r r e a a m m e r r
9 c s s c c r r e a a m m e r r
10 c ssss cccc r r eeeeee a a m m eeeeee r r
11 c
12 c -----------------------------------------------------------------------------
13 c
14 c point of contact:
15 c mark l. kiefer
16 c sandia national laboratories
17 c ms-1186
18 c po box 5800
19 c albuquerque nm 87185-1186
20 c 505/845-7271 (ph)
21 c mlkiefe@sandia.gov(e-mail)
22 c
23 c screamer copyright:
24 c copyright 1996
25 c sandia corporation
26 c under the terms of contract de-ac04-94al85000,
27 c there is a non-exclusive license for use of this work by
28 c or on behalf of the u.s. government
29 c
30 c -----------------------------------------------------------------------------
31 c
32 c series matrix load and solution
33 c
34 c single line code for pulse power design
35 c array parameters - nr mesh points - 1 at top
36 c v,vn = old, new node voltage
37 c zib = current entering branch segment
38 c zir,zirn = old, new long. current in r - l segment
39 c zlr = series inductance, c = shunt capacitance,
40 c g = shunt conductance, rr = series resistance
41 c shunt capacitance at the half time step.
42 c inductance(vacuum) = impedance/speed of light
43 c capacitance(vacuum) = 1/(impedance*speed of light)
44 c capacitance(vacuum) = epso*width*length/height
45 c inductance(vacuum) = zmuo*height*length/width
46 c
47 c -----------------------------------------------------------------------------
48 c
49 c include the files with the various keywords and integer flags.
50 c
51  include 'zdemparm.h'
52  include 'zdempprm.h'
53 c
54 c include the files specifying the array dimensions and the common blocks.
55 c
56  include 'zdemmax.h'
57  include 'zdemcomm.h'
58  include 'zdemwork.h'
59  include 'zdemout.h'
60  include 'zdemenv.h'
61  include 'zdemvars.h'
62  include 'zdemloop.h'
63 c
64 c define passed variables
65 c
66  character*(*) ifile
67  integer clen
68 c
69 c define internal variables
70 c
71  integer ibgin
72  integer status
73 
74 
75 c---------------------------------------------------------
76 c initializations
77 
78 c clear arrays
79  call clrarry
80 
81 c print a start banner(date, time, version...)
82  call banner_start_run(bgin)
83 
84 c get environment variables
85  call get_env_var(ifile,clen)
86 c Read in the screamer input file(assigned to logical unit 4)
87 c this subroutine also gives a "nice" print-out of the data.
88  call readscreamerdata(status)
89  if (status .ne. 0) then
90  goto 802
91  endif
92 c echo the set-up showing all values(slightly cryptic, but useful
93 c for debugging).
94  if (echoset .eq. yes_echo) then
95  call echo_setup
96  end if
97 
98 c initialize the problem
99  call init_problem(status)
100  if (status .ne. 0) then
101  call close_outfile(iunit,ierr)
102  goto 802
103  endif
104 
105 c---------------------------------------------------------
106 c calculations
107 c first, put out a banner page for the status cycle printing for t > 0.
108 c
109  call banner(cyclln)
110 c ***** loop over all time steps. *****
111 c tim is the problem time and timehalf is the current half-step time.
112 c icycle is a counter for printout of current circuit status.
113  do 2 i2 = 1, nsteps
114  tim = i2 * ht
115  timehalf = tim - htd2
116  icycle = icycle + 1
117  call main_loop
118  2 continue
119 
120 c---------------------------------------------------------
121 c outputs and END
122  call close_outfile(iunit,ierr)
123 c ***** now do the output requests if we executed all cycles.
124  call write_outs
125  802 continue
126  call banner_end_run(ifile,clen,bgin)
127 
128  end subroutine zdem
subroutine init_problem(status)
Definition: start_run.f:1
c *****************************************************************************c Parameters for output selections c Added MFI CB parameters c Added callouts for the radiation yield in the c cylindrical foil model c Added line
Definition: zdempprm.h:7
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
Definition: zdemfmt.h:36
subroutine clrarry
Definition: zdemclr.f:1
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
Definition: zdemfmt.h:85
subroutine close_outfile(iunit, ierr)
Definition: clsoutfl.f:1
subroutine write_outs
Definition: write_outs.f:1
subroutine main_loop
Definition: main_loop.f:1
subroutine get_env_var(inpfile, clen)
Definition: getenvvr.f:1
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 length
Definition: zdemfmt.h:83
subroutine readscreamerdata(status)
Definition: rdscrdat.f:1
subroutine banner_end_run(ifile, clen, bgin)
Definition: end_run.f:1
c *****************************************************************************c Common blocks for SCREAMER output printing
Definition: zdemout.h:2
subroutine zdem(ifile, clen)
Definition: zdem.f:1
subroutine banner(line)
Definition: prtbannr.f:1
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
Definition: zdemfmt.h:7
subroutine echo_setup
Definition: echosetp.f:1
c This is a Fortran header file
Definition: sfc.h:3