Screamer Project  V3.3.1
Screamer Structure
 All Files Functions Variables
setpisec.f
Go to the documentation of this file.
1  subroutine setup_pisection (ib, ibk, na, iflgs,
2  & ic_type, ic_counter)
3 c
4 c Define passed variables
5 c
6  integer ib, ibk, na, iflgs, ic_type, ic_counter
7 c
8 c Setup for pi section.
9 c
10  include 'zdemparm.h'
11  include 'zdemmax.h'
12  include 'zdemcomm.h'
13  include 'zdemwork.h'
14 c
15 c Set for 2 nodes.
16 c
17  n1 = nr(ib) + 1
18  n2 = n1 + 1
19  na = 2
20 c
21 c Set R1, C1, R2, L2, R3, C3
22 c
23  r1 = pin(1,ibk,ib)
24  c1 = pin(2,ibk,ib)
25  r2 = pin(3,ibk,ib)
26  zl2 = pin(4,ibk,ib)
27  r3 = pin(5,ibk,ib)
28  c3 = pin(6,ibk,ib)
29 c
30  g(n1,ib) = 1.0 / (r1+1.0e-20)
31  c(n1,ib) = c1
32  rr(n1,ib) = r2
33  zlr(n1,ib) = zl2
34  iflg(n1,ib) = iflgs
35  cechk(n1,ib) = c1
36  zlrechk(n1,ib) = zl2
37 c
38  g(n2,ib) = 1.0 / (r3+1.0e-20)
39  c(n2,ib) = c3
40  rr(n2,ib) = 0.0
41  zlr(n2,ib) = 0.0
42  iflg(n2,ib) = iflgs
43  cechk(n2,ib) = c3
44  zlrechk(n2,ib) = 0.0
45 c
46 c Set initial voltage or current if necessary and the corresponding energy.
47 c
48  if (ic_type .eq. vcapacitor1) then
49  vinitial = value_init(ic_counter)
50  v(n1,ib) = vinitial
51  vn(n1,ib) = vinitial
52  ecapsource = ecapsource + 0.5*c(n1,ib)*vinitial*vinitial
53  else if (ic_type .eq. cinductor) then
54  cinitial = value_init(ic_counter)
55  zir(n1,ib) = cinitial
56  zirn(n1,ib) = cinitial
57  eindsource = eindsource + 0.5*zlr(n1,ib)*cinitial*cinitial
58  else if (ic_type .eq. vcapacitor3) then
59  vinitial = value_init(ic_counter)
60  v(n2,ib) = vinitial
61  vn(n2,ib) = vinitial
62  ecapsource = ecapsource + 0.5*c(n2,ib)*vinitial*vinitial
63  end if
64 c
65  return
66  end
subroutine setup_pisection(ib, ibk, na, iflgs, ic_type, ic_counter)
Definition: setpisec.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