36 1 NB ,LEN ,BUFR ,NSV ,A ,
37 2 STIFN ,VISCN ,IBC ,ISECIN ,NOINT ,
38 3 IBAG ,ICODT ,SECFCUM,NSTRF ,ICONTACT,
39 4 FCONT ,INACTI ,IADM ,INTTH ,FTHE ,
40 5 CONDN ,H3D_DATA, MULTI_FVM,LEDGE,NEDGE ,
41 6 NIN ,TAGNCONT,KLOADPINTER,LOADPINTER ,
42 7 LOADP_HYD_INTER,NODADT_THERM)
53#include "implicit_f.inc"
70 INTEGER NB, LEN, IBC ,ISECIN ,IBAG , NOINT, INACTI,NIN,
71 . NSV(*), ICODT(*), NSTRF(*),ICONTACT(*),
73 . KLOADPINTER(NINTER+1),LOADPINTER(NINTER*NLOADP_HYD),
74 . LOADP_HYD_INTER(NLOADP_HYD),
77 . bufr(len,*), a(3,*), stifn(*), viscn(*),
78 . secfcum(7,numnod,nsect),
79 . fcont(3,*),fthe(*),condn(*)
80 INTEGER,
INTENT(IN) :: NODADT_THERM
81 INTEGER,
INTENT(IN) :: NEDGE
82 INTEGER,
INTENT(IN) :: LEDGE(NLEDGE,NEDGE)
84 TYPE(MULTI_FVM_STRUCT),
INTENT(INOUT) :: MULTI_FVM
88 INTEGER I, J, II, N, NOD, K0, K1S, IBCS, IBCM, NBINTER,PP,PPL
94 IF (multi_fvm%IS_USED)
THEN
98 multi_fvm%VEL(1, nod) = multi_fvm%VEL(1, nod) + bufr(2,i)
99 multi_fvm%VEL(2, nod) = multi_fvm%VEL(2, nod) + bufr(3,i)
100 multi_fvm%VEL(3, nod) = multi_fvm%VEL(3, nod) + bufr(4,i)
102 multi_fvm%VEL(1, nod) = multi_fvm%VEL(1, nod) + bufr(7,i)
103 multi_fvm%VEL(2, nod) = multi_fvm%VEL(2, nod) + bufr(8,i)
104 multi_fvm%VEL(3, nod) = multi_fvm%VEL(3, nod) + bufr(9,i)
110 a(1,nod1) = a(1,nod1) + bufr(2,i)
111 a(2,nod1) = a(2,nod1) + bufr(3,i)
112 a(3,nod1) = a(3,nod1) + bufr(4,i)
113 stifn(nod1) = stifn(nod1) + bufr(5,i)
116 a(1,nod2) = a(1,nod2) + bufr(7,i)
117 a(2,nod2) = a(2,nod2) + bufr(8,i)
118 a(3,nod2) = a(3,nod2) + bufr(9,i)
119 stifn(nod2) = stifn(nod2) + bufr(10,i)
122 viscn(nod1) = viscn(nod1) + bufr(6,i)
123 viscn(nod2) = viscn(nod2) + bufr(11,i)
127 fthe(nod1) = fthe(nod1) + bufr(12,i)
128 fthe(nod2) = fthe(nod2) + bufr(13,i)
129 IF(nodadt_therm == 1)
THEN
130 condn(nod1) = condn(nod1) + bufr(14,i)
131 condn(nod2) = condn(nod2) + bufr(15,i)
138 IF (inconv == 1)
THEN
139 IF((anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0.AND.
140 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt>=toutp.OR.(tt>=h3d_data%TH3D.AND.tt<=h3d_data%TH3D_STOP).OR.
141 . (manim>=4.AND.manim<=15).OR. h3d_data%MH3D /= 0))
142 . .OR.anim_v(26)+h3d_data%N_VECT_CONT_MAX>0)
THEN
147 fcont(1,nod)=fcont(1,nod)+bufr(2,i)
148 fcont(2,nod)=fcont(2,nod)+bufr(3,i)
149 fcont(3,nod)=fcont(3,nod)+bufr(4,i)
151 fcont(1,nod)=fcont(1,nod)+bufr(7,i)
152 fcont(2,nod)=fcont(2,nod)+bufr(8,i)
153 fcont(3,nod)=fcont(3,nod)+bufr(9,i)
159 IF(nintloadp > 0)
THEN
164 DO pp = kloadpinter(nin)+1, kloadpinter(nin+1)
165 ppl = loadp_hyd_inter(pp)
166 tagncont(ppl,nod1) = 1
167 tagncont(ppl,nod2) = 1
175 IF(nstrf(1)+nstrf(2)/=0)
THEN
180 IF(nstrf(k1s)==noint)
THEN
185 IF(secfcum(4,nod,i)==1.)
THEN
186 secfcum(1,nod,i)=secfcum(1,nod,i)+bufr(2,ii)
187 secfcum(2,nod,i)=secfcum(2,nod,i)+bufr(3,ii)
191 IF(secfcum(4,nod,i)==1.)
THEN
192 secfcum(1,nod,i)=secfcum(1,nod,i)+bufr(7,ii)
193 secfcum(2,nod,i)=secfcum(2,nod,i)+bufr(8,ii)
194 secfcum(3,nod,i)=secfcum(3,nod,i)+bufr(9,ii)
206 IF((ibag/=0.AND.inacti/=7).OR.
207 . (iadm/=0).OR.(idamp_rdof/=0))
THEN
210 IF(bufr(2,i)/=zero.OR.bufr(3,i)/=zero.OR.
211 + bufr(4,i)/=zero)
THEN
223 ibcs = ibc - 8 * ibcm
229 CALL ibcoff(ibcs,icodt(nod))
231 CALL ibcoff(ibcs,icodt(nod))
subroutine spmd_fiadd25e_poff(nb, len, bufr, nsv, a, stifn, viscn, ibc, isecin, noint, ibag, icodt, secfcum, nstrf, icontact, fcont, inacti, iadm, intth, fthe, condn, h3d_data, multi_fvm, ledge, nedge, nin, tagncont, kloadpinter, loadpinter, loadp_hyd_inter, nodadt_therm)