40
41
42
43#include "implicit_f.inc"
44
45
46
47#include "param_c.inc"
48#include "units_c.inc"
49
50
51
52 INTEGER FXBELM(*), NELS, NELC, NELTG, IPARG(NPARG,*), NML,
53 . NSN, IXS(NIXS,*), IXC(NIXC,*), IXTG(,*), NFX, IFILE,
54 . LVSIG, NSNI, NME, IRCS, IRCM0, NELT, NELP, IXT(NIXT,*),
55 . IXP(NIXP,*)
56 INTEGER, INTENT (IN ) :: IBEAM_VECTOR(NELP)
58 . fxbsig(*), x(3,*), pm(npropm,*), fxbmod(*),
59 . geo(npropg,*), fxbrpm(*)
60 my_real,
INTENT (IN ) :: rbeam_vector(3,nelp)
61
62
63
64 INTEGER I,II,IM,IADMOD,IADEL,IADSIG, , IADS, IRCM, IAD, J
66 . rini(3,3), vmod(nsn*6), vsig(lvsig), vv(6)
67
68 ircm=ircm0
69 ircm=ircm+nme*(nsn-nsni)
70
71 DO i=1,3
72 DO ii=1,3
73 rini(i,ii)=fxbrpm(1+(i-1)*3+ii)
74 ENDDO
75 ENDDO
76
77 iadsig=1
78 DO im=1,nml
79 IF (ifile==0) THEN
80 iadmod=nsn*6*(im-1)+1
81 DO i=1,nsn*6
82 vmod(i)=fxbmod(iadmod+i-1)
83 ENDDO
84 ELSEIF (ifile==1) THEN
85 iadmod=nsni*6*(im-1)+1
86 DO i=1,nsni*6
87 vmod(i)=fxbmod(iadmod+i-1)
88 ENDDO
89 iadm=nsni*6
90 DO i=1,nsn-nsni
91 ircm=ircm+1
92 READ(ifxm,rec=ircm) (vv(ii),ii=1,6)
93 DO ii=1,6
94 vmod(iadm+ii)=vv(ii)
95 ENDDO
96 iadm=iadm+6
97 ENDDO
98 ENDIF
99
100 iadel=1
101 iads=1
103 . fxbelm(iadel), iparg, x, pm, ixs,
104 . geo, vmod, vsig(iads), rini, nels)
105
106 iadel=iadel+nels*13
107 iads=iads+nels*7
109 . fxbelm(iadel), iparg, x, pm, ixc,
110 . geo, vmod, vsig(iads), rini, nelc)
111
112 iadel=iadel+nelc*10
113 iads=iads+nelc*10
115 . fxbelm(iadel), iparg, x, pm, ixt,
116 . geo, vmod, vsig(iads),nelt)
117
118 iadel=iadel+nelt*7
119 iads=iads+nelt*2
121 . fxbelm(iadel), iparg, x, pm, ixp,
122 . geo, vmod, vsig(iads), rini, nelp,
123 . ibeam_vector ,rbeam_vector)
124
125 iadel=iadel+nelp*9
126 iads=iads+nelp*8
128 . fxbelm(iadel), iparg, x, pm, ixtg,
129 . geo, vmod, vsig(iads), rini, neltg)
130 IF (ifile==0) THEN
131 DO i=1,lvsig
132 fxbsig(iadsig+i-1)=vsig(i)
133 ENDDO
134 ELSE
135 iad=0
136 DO i=1,lvsig/6
137 ircs=ircs+1
138 WRITE(ifxs,rec=ircs) (vsig(iad+j),j=1,6)
139 iad=iad+6
140 ENDDO
141 ii=lvsig-(lvsig/6)*6
142 IF (ii/=0) THEN
143 ircs=ircs+1
144 WRITE(ifxs,rec=ircs) (vsig(iad+j),j=1,ii),(zero,j=ii+1,6)
145 ENDIF
146 ENDIF
147 iadsig=iadsig+nels*7+nelc*10+nelt*2+nelp*8+neltg*10
148 ENDDO
149
150 RETURN
subroutine fsigcini(fxbelm, iparg, x, pm, ixc, geo, fxbmod, fxbsig, r, nelc)
subroutine fsigpini(fxbelm, iparg, x, pm, ixp, geo, fxbmod, fxbsig, r, nelp, ibeam_vector, rbeam_vector)
subroutine fsigsini(fxbelm, iparg, x, pm, ixs, geo, fxbmod, fxbsig, r, nels)
subroutine fsigtini(fxbelm, iparg, x, pm, ixtg, geo, fxbmod, fxbsig, r, neltg)
subroutine fsigtrini(fxbelm, iparg, x, pm, ixt, geo, fxbmod, fxbsig, nelt)