44 2 FSAV ,IN ,STIFN ,STIFR ,FANI ,
45 3 LPBY ,NPBY ,WEIGHT ,MS ,V ,
46 4 IGRSURF ,BUFSF ,ICODR ,ISKEW ,SKEW ,
47 5 KIND ,IAD_RBY,FR_RBY6,RBY6 ,IRBKIN_L,
48 6 NRBYKIN_L,NATIV_SMS,DIMFB,FBSAV6 ,STABSEN ,
49 7 TABSENSOR,NODREAC,FTHREAC,CPTREAC,DAMPR ,
50 8 SDAMP ,DAMP ,NDAMP_VREL,ID_DAMP_VREL,IGRNOD,
51 9 TAGSLV_RBY,IPARIT,WFEXT,NDAMP_VREL_RBYG,SIZE_RBY6_C,
58 USE damping_vref_rby_mod
59 USE damping_vref_rby_stiff_mod
63#include "implicit_f.inc"
73#include "timeri_c.inc"
74#include "intstamp_c.inc"
78 TYPE(timer_),
INTENT(inout) :: TIMERS
79 INTEGER ICODR(*),ISKEW(*),WEIGHT(*),LPBY(*),NPBY(NNPBY,*),
80 . KIND(NRBYKIN),FR_RBY6(*),IAD_RBY(*),IRBKIN_L(*),
81 . NRBYKIN_L, NATIV_SMS(*),DIMFB,STABSEN,TABSENSOR(*),
82 . NODREAC(*),CPTREAC,NDAMP_VREL_RBYG,
83 my_real RBY(NRBY,*) ,A(3,*) ,AR(3,*) ,X(3,*) ,VR(3,*),FSAV(NTHVKI,*),
84 . IN(*) ,STIFN(*),STIFR(*),(3,*),MS(*),V(3,*) ,
85 . BUFSF(*), SKEW(LSKEW,*),FTHREAC(6,*)
86 DOUBLE PRECISION RBY6(8,6,NRBYKIN),RBY6_C(2,6,SIZE_RBY6_C)
87 DOUBLE PRECISION FBSAV6(12,6,DIMFB),RBID(12,6),WFEXT
88 TYPE (SURF_),
DIMENSION(NSURF) :: IGRSURF
89 INTEGER ,
INTENT(IN) :: NDAMP_VREL,IPARIT,SDAMP
90 INTEGER ,
INTENT(IN) :: ID_DAMP_VREL(NDAMP_VREL),TAGSLV_RBY(NUMNOD)
91 ,
INTENT(INOUT) :: DAMPR(NRDAMP,NDAMP),DAMP()
92 TYPE(GROUP_),
INTENT(IN) :: IGRNOD(NGRNOD)
96 INTEGER J,K,N,KK,N2,ILAGM,
97 . isu,adrsrf,im, l, lsend, lrecv, nrbdim,iparsens,isect,
106 IF(npby(7,n)<=0)
THEN
129 IF (npby(4,n)/=0)
THEN
140 IF(ispmd==0.AND.isu/=0)
THEN
142 adrsrf=igrsurf(isu)%IAD_BUFR
143 a(1,im) =a(1,im) +bufsf(adrsrf+25)
144 a(2,im) =a(2,im) +bufsf(adrsrf+26)
145 a(3,im) =a(3,im) +bufsf(adrsrf+27)
146 ar(1,im)=ar(1,im)+bufsf(adrsrf+28)
147 ar(2,im)=ar(2,im)+bufsf(adrsrf+29)
148 ar(3,im)=ar(3,im)+bufsf(adrsrf+30)
149 stifn(im)=stifn(im)+bufsf(adrsrf+31)
150 stifr(im)=stifr(im)+bufsf(adrsrf+32)
152 fsav(10,n2)=fsav(10,n2)+bufsf(adrsrf+25)*dt1
153 fsav(11,n2)=fsav(11,n2)+bufsf(adrsrf+26)*dt1
154 fsav(12,n2)=fsav(12,n2)+bufsf(adrsrf+27)*dt1
155 fsav(13,n2)=fsav(13,n2)+bufsf(adrsrf+28)*dt1
156 fsav(14,n2)=fsav(14,n2)+bufsf(adrsrf+29)*dt1
157 fsav(15,n2)=fsav(15,n2)+bufsf(adrsrf+30)*dt1
162 IF(stabsen/=0) isect=tabsensor(n+nsect+nintsub+ninter+nrwall+1)-
163 . tabsensor(n+nsect+nintsub+ninter+nrwall)
167 1 a ,ar ,x ,fsav(1,n2),rby(1,n),
168 2 lpby(k) ,npby(1,n),in ,vr ,stifn ,
169 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
170 4 1 ,icodr ,iskew ,skew ,rby6(1,1,n),
171 5 npby(2,n),nativ_sms,fbsav6(1,1,isect) ,iparsens,
172 6 nodreac,fthreac,cptreac,npby(5,n))
175 1 a ,ar ,x ,fsav(1,n2),rby(1,n),
176 2 lpby(k) ,npby(1,n),in ,vr ,stifn ,
177 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
178 4 1 ,icodr ,iskew ,skew ,rby6(1,1,n),
179 5 npby(2,n),nativ_sms,rbid , iparsens,
180 6 nodreac,fthreac,cptreac,npby(5,n))
201 IF (npby(4,n)==0)
THEN
212 IF(ispmd==0.AND.isu/=0)
THEN
214 adrsrf=igrsurf(isu)%IAD_BUFR
215 a(1,im) =a(1,im) +bufsf(adrsrf+25)
216 a(2,im) =a(2,im) +bufsf(adrsrf+26)
217 a(3,im) =a(3,im) +bufsf(adrsrf+27)
218 ar(1,im)=ar(1,im)+bufsf(adrsrf+28)
219 ar(2,im)=ar(2,im)+bufsf(adrsrf+29)
220 ar(3,im)=ar(3,im)+bufsf(adrsrf+30)
221 stifn(im)=stifn(im)+bufsf(adrsrf+31)
222 stifr(im)=stifr(im)+bufsf(adrsrf+32)
224 fsav(10,n2)=fsav(10,n2)+bufsf(adrsrf+25)*dt1
225 fsav(11,n2)=fsav(11,n2)+bufsf(adrsrf+26)*dt1
226 fsav(12,n2)=fsav(12,n2)+bufsf(adrsrf+27)*dt1
227 fsav(13,n2)=fsav(13,n2)+bufsf(adrsrf+28)*dt1
228 fsav(14,n2)=fsav(14,n2)+bufsf(adrsrf+29)*dt1
229 fsav(15,n2)=fsav(15,n2)+bufsf(adrsrf+30)*dt1
234 IF(stabsen/=0) isect=tabsensor(n+nsect+nintsub+ninter+nrwall+1)-
235 . tabsensor(n+nsect+nintsub+ninter+nrwall)
239 1 a ,ar ,x ,fsav(1,n2),rby(1,n),
240 2 lpby(k) ,npby(1,n) ,in ,vr ,stifn ,
241 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
242 4 1 ,icodr ,iskew ,skew ,rby6(1,1,n),
243 5 npby(2,n),nativ_sms,fbsav6(1,1,isect) ,iparsens,
244 6 nodreac,fthreac,cptreac,npby(5,n))
247 1 a ,ar ,x ,fsav(1,n2),rby(1,n),
248 2 lpby(k) ,npby(1,n) ,in ,vr ,stifn ,
249 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
250 4 1 ,icodr ,iskew ,skew ,rby6(1,1,n),
251 5 npby(2,n),nativ_sms ,rbid ,iparsens ,
252 6 nodreac,fthreac,cptreac,npby(5,n))
263 IF ((ndamp_vrel_rbyg > 0).AND.(nrbykin_l > 0))
THEN
266 CALL damping_vref_rby(igrnod ,ngrnod ,v ,vr ,a ,
267 . x ,ms ,dampr ,nrdamp ,ndamp ,
268 . ndamp_vrel,iparit ,numnod ,dt1 ,id_damp_vrel,
269 . tt ,nnpby ,nrbykin ,npby ,rby6 ,
270 . rby6_c ,tagslv_rby,weight ,lskew ,numskw ,
271 . dim ,damp ,skew ,wfext ,size_rby6_c
279 IF (imon>0)
CALL startime(timers,11)
284 IF(nintstamp == 0)
THEN
285 IF (ndamp_vrel_rbyg == 0)
THEN
293 . rby6_c,size_rby6_c)
300 IF (imon>0)
CALL stoptime(timers,11)
318 IF(stabsen/=0) isect=tabsensor(n+nsect+nintsub+ninter+nrwall+1)-
319 . tabsensor(n+nsect+nintsub+ninter+nrwall)
323 1 a ,ar ,x ,fsav(1,n2),rby(1,n),
324 2 lpby(k) ,npby(1,n),in ,vr ,stifn ,
325 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
326 4 2 ,icodr ,iskew ,skew, rby6(1,1,n),
327 5 npby(2,n),nativ_sms,fbsav6(1,1,isect) ,iparsens,
328 6 nodreac,fthreac,cptreac,npby(5,n))
332 2 lpby(k) ,npby(1,n),in ,vr ,stifn ,
333 3 stifr ,fani(1,1+2*(nsect+n-1)),weight,ms ,v ,
334 4 2 ,icodr ,iskew ,skew, rby6(1,1,n),
335 5 npby(2,n),nativ_sms,rbid ,iparsens,
336 6 nodreac,fthreac,cptreac,npby(5,n))
346 IF (ndamp_vrel_rbyg > 0)
THEN
348 call damping_vref_rby_stiff(numnod,nnpby,nrbykin,nrbykin_l,npby,
349 . rby6_c,ms,in,stifn,stifr,size_rby6_c,
subroutine resol(timers, element, nodes, coupling, af, iaf, iskwn, neth, ipart, nom_opt, kxx, ixx, ixtg, ixs, ixq, ixt, ixp, ixr, ifill, mat_elem, ims, npc, ibcl, ibfv, idum, las, laccelm, nnlink, lnlink, iparg, dd_iad, igrv, iexlnk, kinet, ipari, nprw, iconx, npby, lpby, lrivet, nstrf, ljoint, nodpor, monvol, ilink, llink, linale, neflsw, nnflsw, icut, cluster, itask, inoise, thke, damp, pm, skews, geo, eani, bufmat, bufgeo, bufsf, w, veul, fill, dfill, alph, wb, dsave, asave, msnf, tf, forc, vel, fsav, fzero, xlas, accelm, agrv, fr_wave, failwave, parts0, elbuf, rwbuf, sensors, rwsav, rby, rivet, secbuf, volmon, lambda, wa, fv, partsav, uwa, val2, phi, segvar, r, crflsw, flsw, fani, xcut, anin, tani, secfcum, bufnois, idata, rdata, iframe, kxsp, ixsp, nod2sp, ispsym, ispcond, xframe, spbuf, xspsym, vspsym, pv, fsavd, ibvel, lbvel, wasph, w16, isphio, lprtsph, lonfsph, vsphio, fbvel, lagbuf, ibcslag, iactiv, dampr, gjbufi, gjbufr, rbmpc, ibmpc, sphveln, nbrcvois, nbsdvois, lnrcvois, lnsdvois, nercvois, nesdvois, lercvois, lesdvois, npsegcom, lsegcom, nporgeo, ixtg1, npbyl, lpbyl, rbyl, igeo, ipm, madprt, madsh4, madsh3, madsol, madnod, madfail, iad_rby, fr_rby, fr_wall, iad_rby2, fr_rby2, iad_i2m, fr_i2m, addcni2, procni2, iadi2, fr_mv, iadmv2, fr_ll, fr_rl, iadcj, fr_cj, fr_sec, iad_sec, iad_cut, fr_cut, rg_cut, newfront, fr_mad, fxbipm, fxbrpm, fxbnod, fxbmod, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxbdep, fxbvit, fxbacc, fxbelm, fxbsig, fxbgrvi, fxbgrvr, eigipm, eigibuf, eigrpm, lnodpor, fr_i18, graphe, iflow, rflow, lgrav, dd_r2r, fasolfr, fr_lagf, llagf, lprw, icontact, rcontact, sh4tree, sh3tree, ipadmesh, padmesh, msc, mstg, inc, intg, ptg, iskwp, nskwp, isensp, nsensp, iaccp, naccp, ipart_state, acontact, pcontact, factiv, sh4trim, sh3trim, mscnd, incnd, ibfflux, fbfflux, rbym, irbym, lnrbym, icodrbym, ibcv, fconv, ibftemp, fbftemp, iad_rbym, fr_rbym, weight_rm, ms_ply, zi_ply, inod_pxfem, iel_pxfem, iadc_pxfem, adsky_pxfem, icode_ply, icodt_ply, iskew_ply, admsms, madclnod, nom_sect, mcpc, mcptg, dmelc, dmeltg, mssa, dmels, mstr, dmeltr, msp, dmelp, msrt, dmelrt, ibcr, fradia, res_sms, table, irbe2, lrbe2, iad_rbe2, fr_rbe2, phie, msf, procne_pxfem, iadsdp_pxfem, iadrcp_pxfem, icfield, lcfield, cfield, msz2, diag_sms, iloadp, lloadp, loadp, inod_crk, iel_crk, iadc_crk, adsky_crk, cne_crk, procne_crk, iadsdp_crk, iadrcp_crk, ibufssg_io, ibc_ply, dmint2, ibordnode, elbuf_tab, por, nodedge, iad_edge, fr_edge, fr_nbedge, crknodiad, lgauge, gauge, igaup, ngaup, nodlevxf, dd_r2r_elem, nodglobxfe, sph2sol, sol2sph, irst, dmsph, wagap, xfem_tab, elcutc, nodenr, kxfenod2elc, enrtag, rthbu f, kxig3d, ixig3d, knot, wige, wsmcomp, stack, cputime_mp_glob, cputime_mp, tab_ump, poin_ump, sol2sph_typ, irunn_bis, addcsrect, iad_frnor, fr_nor, procnor, iad_fredg, fr_edg, drape_sh4n, drape_sh3n, tab_mat, nativ0_sms, multi_fvm, segquadfr, ms_2d, h3d_data, subsets, igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, igrsurf, forneqs, nloc_dmg, iskwp_l, knotlocpc, knotlocel, pinch_data, tag_skins6, ale_connectivity, xcell, xface, ne_nercvois, ne_nesdvois, ne_lercvois, ne_lesdvois, ibcscyc, lbcscyc, t_monvol, id_global_vois, face_vois, dynain_data, fcont_max, ebcs_tab, diffusion, kloadpinter, loadpinter, dgaploadint, drapeg, user_windows, output, interfaces, dt, loads, python, dpl0cld, vel0cld, ndamp_vrel, id_damp_vrel, fr_damp_vrel, ndamp_vrel_rbyg, names_and_titles, unitab, liflow, lrflow, glob_therm, pblast, rbe3)