272 . NPC , IGRNOD , MEMFLOW,UNITAB,
273 . X , NOM_OPT , LGAUGE ,IGRV, LSUBMODEL,IRESP)
286#include "implicit_f.inc"
290#include "com01_c.inc"
291#include "com04_c.inc"
292#include "scr17_c.inc"
293#include "param_c.inc"
294#include "units_c.inc"
295#include "flowcom.inc"
299 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
300 INTEGER IFLOW(*),NPC(*)
301 INTEGER NOM_OPT(LNOPT1,*), LGAUGE(3,*), IGRV(NIGRV,*)
304 TYPE(
submodel_data),
DIMENSION(NSUBMOD),
INTENT(IN) :: LSUBMODEL
305 INTEGER,
INTENT(IN) :: IRESP
307 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
308 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
312 INTEGER IADI, IADR, I, ID, ITYP, II, NINOUT, ISU, J, IPIMP,
313 . NN, IAD, ITAG(NUMNOD), IAD1, IAD2, J1, J2, J3, J4, ISH34,
314 . NNO, ITABINV(NUMNOD), IFVEL, IFPRES,
315 . k, ifunc, l, ifpa, iadmati, iadmatr
316 . nbloc, iform, ilvout, itagio(numnod), ng1, ng2, ng3, ng4,
317 . n1, n2, n3, n4, prod, nprow, npcol, itest, ivini, ifvini,
318 . iinside, nrmax, nr, isuio,nflow0, nblocmax, uid,
320 INTEGER JFORM, KFORM, II1, II2, II3, II4, II5, II6
321 INTEGER IR1, IR2, IR3,IR4, , IR6, IR7, IR8, IR9, IR10, IR11
322 INTEGER IPRES, IWAVE, INTEGR, FREESURF, AFTERFLOW, GRAV_ID, NELMAX, IBID, HG
323 INTEGER,
DIMENSION(:),
ALLOCATABLE :: N_SHELL
324 my_real sfpa, sfvel, sfpres, scalt, dtsub, rho, tole, scalt_pa,
325 . sfvini, dirx, diry, dirz,
norm, rnspmd, scalt_vi
326 my_real xc, yc, zc, xs, ys, zs, ssp, pmax, theta
328 my_real xa, ya, za, xd, yd, zd, tt
329 my_real,
DIMENSION(:,:),
ALLOCATABLE :: cbem
331 CHARACTER(LEN=NCHARKEY) :: KEY
332 CHARACTER(LEN=NCHARTITLE) :: TITR
333 LOGICAL :: IS_AVAILABLE
334 INTEGER :: HM_NDAA, HM_NFLOW
354 CALL hm_get_intv(
'surf_IDex', ii, is_available, lsubmodel)
355 CALL hm_get_intv(
'Nio', ninout, is_available, lsubmodel)
356 CALL hm_get_intv(
'Iinside', iinside, is_available, lsubmodel)
357 CALL hm_get_intv(
'Ifsp', ifpa, is_available, lsubmodel)
358 CALL hm_get_floatv(
'Fscalesp', sfpa, is_available, lsubmodel, unitab)
359 CALL hm_get_floatv(
'Ascalesp', scalt, is_available, lsubmodel, unitab)
363 IF (ii==igrsurf(j)%ID) isu=j
372 j1=igrsurf(isu)%NODES(j,1)
373 j2=igrsurf(isu)%NODES(j,2)
374 j3=igrsurf(isu)%NODES(j,3)
375 j4=igrsurf(isu)%NODES(j,4)
376 ish34=igrsurf(isu)%ELTYP(j)
380 IF (ish34==3) itag(j4)=1
386 iflow(iadi+niflow+nno)=j
392 j1=igrsurf(isu)%NODES(j,1)
393 j2=igrsurf(isu)%NODES(j,2)
394 j3=igrsurf(isu)%NODES(j,3)
395 j4=igrsurf(isu)%NODES(j,4)
396 ish34=igrsurf(isu)%ELTYP(j)
399 iflow(iadi+niflow+nno+3*(nel-1)+1)=itabinv(j1)
400 iflow(iadi+niflow+nno+3*(nel-1)+2)=itabinv(j2)
401 iflow(iadi+niflow+nno+3*(nel-1)+3)=itabinv(j3)
402 ELSEIF (ish34==3)
THEN
404 iflow(iadi+niflow+nno+3*(nel-1)+1)=itabinv(j1)
405 iflow(iadi+niflow+nno+3*(nel-1)+2)=itabinv(j2)
406 iflow(iadi+niflow+nno+3*(nel-1)+3)=itabinv(j4)
408 iflow(iadi+niflow+nno+3*(nel-1)+1)=itabinv(j2)
409 iflow(iadi+niflow+nno+3*(nel-1)+2)=itabinv(j3)
410 iflow(iadi+niflow+nno+3*(nel-1)+3)=itabinv(j4)
414 IF (iinside/=2) iinside=1
420 IF (ifpa==npc(j)) ifunc=j
435 CALL hm_get_intv(
'grn_IDaux', iii, is_available, lsubmodel)
436 CALL hm_get_intv(
'Itest', itest, is_available, lsubmodel)
437 CALL hm_get_floatv(
'Tole', tole, is_available, lsubmodel, unitab)
439 IF (iinside==2.AND.itest==1) itest=2
440 IF (tole==zero) tole=em5
442 CALL hm_get_floatv(
'Rho', rho, is_available, lsubmodel, unitab)
443 CALL hm_get_intv(
'Ivinf', ivini, is_available, lsubmodel)
448 IF (igrnod(j)%ID==iii) igr=j
450 nnn=igrnod(igr)%NENTITY
452 iflow(iadi+niflow+nno+3*nel+ninout*niioflow+j)=
467 IF(sfvel == zero)
THEN
469 sfvel = one * fac_gen
471 IF(sfpres == zero)
THEN
473 sfpres = one * fac_gen
475 IF(scalt == zero)
THEN
477 scalt = one * fac_gen
482 IF (ii==igrsurf(k)%ID) isuio=k
495 iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+2)=0
500 IF (ifvel==npc(k)) ifunc=k
515 iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+3)=ifvel
516 rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+1)=sfvel
522 IF (ifpres==npc(k)) ifunc=k
535 iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+4)=ifpres
536 rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+2)=sfpres
538 rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+3)=scalt
547 . c2=
'ONE AND ONLY ONE PRESSURE MUST BE IMPOSED')
548 ELSEIF (ivfree/=1.AND.(iinside==0.OR.
549 . (iinside==1.AND.ivini==0)))
THEN
555 . c2=
'ONE AND ONLY ONE VELOCITY MUST BE LEFT FREE')
556 ELSEIF (ivfree/=0.AND.iinside==1.AND.ivini==1)
THEN
562 . c2=
'NO FREE VELOCITY ALLOWED')
571 . c2=
'NO IMPOSED PRESSURE')
579 isuio=iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+1)
580 nn=igrsurf(isuio)%NSEG
582 ng1=igrsurf(isuio)%NODES(k,1)
583 ng2=igrsurf(isuio)%NODES(k,2)
584 ng3=igrsurf(isuio)%NODES(k,3)
585 ng4=igrsurf(isuio)%NODES(k,4)
586 ish34=igrsurf(isuio)%ELTYP(k)
601 n1=iflow(iadi+niflow+nno+3*(j-1)+1)
602 n2=iflow(iadi+niflow+nno+3*(j-1)+2)
603 n3=iflow(iadi+niflow+nno+3*(j-1)+3)
604 prod=itagio(n1)*itagio(n2)*itagio
605 iflow(iadi+niflow+nno+3*nel+ninout*niioflow+nnn+j)=0
607 . iflow(iadi+niflow+nno+3*nel+ninout*niioflow+nnn+j)=
608 .
max(itagio(n1),itagio(n2),itagio(n3))
611 CALL hm_get_intv(
'Iform', iform, is_available, lsubmodel)
612 CALL hm_get_intv(
'Ipri', ilvout, is_available, lsubmodel)
613 CALL hm_get_floatv(
'Dtflow', dtsub, is_available, lsubmodel, unitab)
616 IF (iform==0) iform=1
623 nrmax=int(sqrt(rnspmd))
631 ELSEIF (iform==2)
THEN
640 nbloc=
min(nno/nprow, nno/npcol)
641 nbloc=
min(nblocmax,nbloc)
652 CALL hm_get_intv(
'Ifvinf', ifvini, is_available, lsubmodel)
653 CALL hm_get_floatv(
'Fscalevel', sfvini, is_available, lsubmodel, unitab)
654 CALL hm_get_floatv(
'Ascalevel', scalt_vi, is_available, lsubmodel, unitab)
656 CALL hm_get_floatv(
'Dirx', dirx, is_available, lsubmodel, unitab)
657 CALL hm_get_floatv(
'Diry', diry, is_available, lsubmodel, unitab)
658 CALL hm_get_floatv(
'Dirz', dirz, is_available, lsubmodel, unitab)
662 IF (ifvini==npc(j)) ifunc=j
674 norm=sqrt(dirx**2+diry**2+dirz**2)
681 . c2=
'NULL VELOCITY DIRECTION VECTOR')
696 iflow(iadi+9)=nno*nno+nno*(nel+1)
697 iflow(iadi+10)=iadmati
698 iflow(iadi+11)=iadmatr
702 iflow(iadi+14)=niflow+nno+3*nel+ninout*niioflow+nnn+nel+nno+nnn
704 iflow(iadi+14)=niflow+nno+3*nel+ninout*niioflow+nnn+nel+4*nno+2*nnn+2*nel
706 iflow(iadi+15)=nrflow+5*(nno+nnn)+ninout*nrioflow
707 iflow(iadi+17)=ilvout
710 iflow(iadi+20)=iadmatr+nno*nno
713 iflow(iadi+24)=ifvini
715 rflow(iadr+2)=scalt_pa
721 rflow(iadr+8)=scalt_vi
727 memflow(1)=memflow(1)+iflow(iadi+8)
728 memflow(2)=memflow(2)+iflow(iadi+9)
731 WRITE(iout,1100) i, id, trim(titr),igrsurf(isu)%ID, nno, nel
734 ELSEIF (iinside==2)
THEN
737 WRITE(iout,1200) ifpa, sfpa, scalt_pa, iii, nnn
740 WRITE(iout,1225) tole
741 ELSEIF (itest==2)
THEN
743 WRITE(iout,1225) tole
744 ELSEIF (itest==0)
THEN
748 WRITE(iout,1400) ninout
750 isuio=iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+1)
751 ifvel=iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+3)
752 sfvel=rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+1)
753 ifpres=iflow(iadi+niflow+nno+3*nel+niioflow*(j-1)+4)
754 sfpres=rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+2)
755 scalt=rflow(iadr+nrflow+5*(nno+nnn)+nrioflow*(j-1)+3)
756 WRITE(iout,1410) j, igrsurf(isuio)%ID
757 IF (ifvel>0)
WRITE(iout,1420) ifvel, sfvel
758 IF (ifpres>0)
WRITE(iout,1430) ifpres, sfpres
759 WRITE(iout,1440) scalt
761 WRITE(iout,1500) iform, ilvout, dtsub
762 IF (ivini==1)
WRITE(iout,1600) ifvini, sfvini, scalt_vi,
764 IF (nspmd > 1)
WRITE(iout,1700) nprow, npcol, nbloc
766 iadr=iadr+iflow(iadi+15)
767 iadi=iadi+iflow(iadi+14)
769 iadmatr=iadmatr+nno*nno+nno*(nel+1)
779 CALL hm_get_intv(
'surf_ID', ii, is_available, lsubmodel
780 CALL hm_get_intv(
'grav_ID', grav_id, is_available, lsubmodel)
782 CALL hm_get_floatv(
'Rho', rho, is_available, lsubmodel, unitab)
783 CALL hm_get_floatv(
'C', ssp, is_available, lsubmodel, unitab)
784 CALL hm_get_floatv(
'Pmin', pmin, is_available, lsubmodel, unitab)
786 IF(pmin == zero) pmin=-ep30
788 CALL hm_get_floatv(
'Xs', xs, is_available, lsubmodel, unitab)
789 CALL hm_get_floatv(
'Ys', ys, is_available, lsubmodel, unitab)
790 CALL hm_get_floatv(
'Zs', zs, is_available, lsubmodel, unitab)
792 CALL hm_get_intv(
'Iform', iform, is_available, lsubmodel)
793 CALL hm_get_intv(
'Ipri', ilvout, is_available, lsubmodel)
794 CALL hm_get_intv(
'Ipres', ipres, is_available, lsubmodel)
795 CALL hm_get_intv(
'Kform', kform, is_available, lsubmodel)
796 CALL hm_get_intv(
'Freesurf', freesurf, is_available, lsubmodel)
797 CALL hm_get_intv(
'Afterflow', afterflow, is_available, lsubmodel)
798 CALL hm_get_intv(
'Integr', integr, is_available, lsubmodel)
800 IF(iform == 0) iform=1
801 IF(ilvout == 0) ilvout=1
804 IF(kform == 0) kform=1
805 IF(integr == 0) integr=2
806 IF(freesurf == 0) freesurf=1
807 IF(afterflow == 0) afterflow=2
808 IF (iwave ==2 .AND. freesurf == 2)
THEN
814 . c2=
'FREE SURFACE IS NOT COMPATIBLE WITH PLANE WAVE')
816 IF(kform ==2) integr=1
818 IF(nbgauge > 0 .AND. jform == 2)
ALLOCATE(n_shell(numelc))
822 IF (ii==igrsurf(j)%ID) isu=j
825 nn =igrsurf(isu)%NSEG
830 j1=igrsurf(isu)%NODES(j,1)
831 j2=igrsurf(isu)%NODES(j,2)
832 j3=igrsurf(isu)%NODES(j,3)
833 j4=igrsurf(isu)%NODES(j,4)
834 ish34=igrsurf(isu)%ELTYP(j)
838 IF (ish34==3) itag(j4)=1
844 iflow(iadi+niflow+nno)=j
850 j1=igrsurf(isu)%NODES(j,1)
851 j2=igrsurf(isu)%NODES(j,2)
852 j3=igrsurf(isu)%NODES(j,3)
853 j4=igrsurf(isu)%NODES(j,4)
854 ish34=igrsurf(isu)%ELTYP(j)
858 iad2=iadi+niflow+nno+3*(nel-1)
859 iflow(iad2+1)=itabinv(j1)
860 iflow(iad2+2)=itabinv(j2)
861 iflow(iad2+3)=itabinv(j3)
862 ELSEIF (ish34==3)
THEN
864 iad2=iadi+niflow+nno+3*(nel-1)
865 iflow(iad2+1)=itabinv(j1)
866 iflow(iad2+2)=itabinv(j2)
867 iflow(iad2+3)=itabinv(j4)
869 iad2=iadi+niflow+nno+3*(nel-1)
870 iflow(iad2+1)=itabinv(j2)
871 iflow(iad2+2)=itabinv(j3)
872 iflow(iad2+3)=itabinv(j4)
874 ELSEIF(jform == 2)
THEN
877 iad2=iadi+niflow+nno+5*(nel-1)
878 iflow(iad2+1)=itabinv(j1)
879 iflow(iad2+2)=itabinv(j2)
880 iflow(iad2+3)=itabinv(j3)
881 iflow(iad2+4)=itabinv(j3)
883 IF(nbgauge > 0) n_shell(nel)=0
884 ELSEIF (ish34==3)
THEN
886 iad2=iadi+niflow+nno+5*(nel-1)
887 iflow(iad2+1)=itabinv(j1)
888 iflow(iad2+2)=itabinv(j2)
889 iflow(iad2+3)=itabinv(j3)
890 iflow(iad2+4)=itabinv(j4)
892 IF(nbgauge > 0) n_shell(nel)=igrsurf(isu)%ELEM(j)
905 CALL hm_get_floatv(
'Theta', theta, is_available, lsubmodel, unitab)
907 CALL hm_get_floatv(
'aTheta', atheta, is_available, lsubmodel, unitab)
909 IF(apmax == zero) apmax = one
910 ELSEIF(ipres == 2)
THEN
914 CALL hm_get_intv(
'fct_IDP', ifpres, is_available, lsubmodel)
915 CALL hm_get_floatv(
'FscaleP', sfpres, is_available, lsubmodel, unitab)
916 IF(sfpres == zero)
THEN
918 sfpres = one * fac_gen
923 IF (ifpres==npc(k)) ifunc=k
926 CALL ancmsg(msgid=621,msgtype=msgerror,anmode=aninfo,
927 . i1=id,c1=titr,c2=
'FUNCTION',i2=ifpres)
930 ELSEIF(ipres == 3)
THEN
932 ELSEIF(ipres == 4)
THEN
935 CALL hm_get_floatv(
'Xc', xc, is_available, lsubmodel, unitab)
937 CALL hm_get_floatv(
'Zc', zc, is_available, lsubmodel, unitab)
951 IF(freesurf == 2 .OR. grav_id > 0
THEN
952 CALL hm_get_floatv(
'XA', xa, is_available, lsubmodel, unitab)
953 CALL hm_get_floatv(
'YA', ya, is_available, lsubmodel, unitab)
954 CALL hm_get_floatv(
'ZA', za, is_available, lsubmodel, unitab)
955 CALL hm_get_floatv(
'Dir-X', dirx, is_available, lsubmodel, unitab)
956 CALL hm_get_floatv(
'Dir-Y', diry, is_available, lsubmodel, unitab)
958 norm=sqrt(dirx**2+diry**2+dirz**2)
961 . msgtype=msgerror,anmode=aninfo,
962 . i1=id,c1=titr,c2=
'NULL FREE SURFACE NORMAL')
968 IF(freesurf == 2)
THEN
969 tt = dirx*(xc-xa)+diry*(yc-ya)+dirz*(zc-za)
970 xd = xc - two*tt*dirx
971 yd = yc - two*tt*diry
972 zd = zc - two*tt*dirz
981 nrmax=int(sqrt(rnspmd))
983 IF (mod(nspmd,nr)==0)
THEN
993 nbloc=
min(nel/nprow, nel/npcol)
994 nbloc=
min(nblocmax,nbloc)
1007 iflow(iadi+10)=iadmati
1008 iflow(iadi+11)=iadmatr
1009 iflow(iadi+12)=nbloc
1010 iflow(iadi+13)=iform
1013 iflow(iadi+14)=niflow+nno+3*nel+nno
1014 ELSEIF(jform == 2)
THEN
1015 iflow(iadi+14)=niflow+nno+5*nel+nno+nbgauge
1019 iflow(iadi+14)=niflow+nno+3*nel+nno+nno+nel
1020 ELSEIF(jform == 2)
THEN
1021 iflow(iadi+14)=niflow+nno+5*nel+nno+nbgauge+nno+nel
1025 IF (nel > int(sqrt(real(hg))))
THEN
1026 CALL ancmsg(msgid = 1711, anmode=aninfo, msgtype = msgerror,
1027 . i1 = int(sqrt(real(hg))))
1030 IF(freesurf == 1)iflow(iadi+15)=nrflow+ 7*nel+nel*nel+3*nel
1031 IF(freesurf == 2)iflow(iadi+15)=nrflow+10*nel+nel*nel+3*nel
1032 iflow(iadi+17)=ilvout
1033 iflow(iadi+18)=nprow
1034 iflow(iadi+19)=npcol
1036 iflow(iadi+21)=ipres
1037 iflow(iadi+22)=iwave
1038 iflow(iadi+23)=kform
1039 iflow(iadi+24)=integr
1040 iflow(iadi+25)=freesurf
1041 iflow(iadi+26)=afterflow
1043 IF(grav_id > 0)
THEN
1045 IF(igrv(5,j) == grav_id) k=j
1049 iflow(iadi+28)=nelmax
1051 rflow(iadr+1)=rho*ssp
1053 rflow(iadr+3)=sfpres
1061 rflow(iadr+12)=sqrt((xs-xc)**2+(ys-yc)**2+(zs-zc)**2)
1073 rflow(iadr+23)=apmax
1074 rflow(iadr+24)=atheta
1076 memflow(1)=memflow(1)+iflow(iadi+8)
1077 memflow(2)=memflow(2)+iflow(iadi+9)
1080 IF(jform == 1)
WRITE(iout,2100) i, id, trim(titr), igrsurf(isu)%ID, nno, nel, grav_id
1081 IF(jform == 2)
WRITE(iout,2200) i, id, trim(titr), igrsurf(isu)%ID, nno, nel, grav_id
1082 WRITE(iout,2300) rho, ssp, pmin
1083 WRITE(iout,2400) xs, ys, zs
1084 WRITE(iout,2500) iform, ilvout, ipres, kform, freesurf, afterflow, integr
1086 WRITE(iout,2600) pmax, theta, apmax, atheta
1087 ELSEIF(ipres == 2)
THEN
1088 WRITE(iout,2700) ifpres,sfpres
1090 IF(iwave == 1)
WRITE(iout,3000) xc, yc, zc
1091 IF(grav_id > 0 .OR. freesurf == 2)
WRITE(iout,3500) xa,ya,za,dirx,diry,dirz
1092 IF(freesurf == 2)
WRITE(iout,3600) xd,yd,zd
1131 ELSEIF(jform==2)
THEN
1139 ir4=ir3+nel*freesurf
1141 ir6=ir5+nel*freesurf
1142 ir7=ir6+nel*freesurf
1144 IF (nel > int(sqrt(real(hg))))
THEN
1145 CALL ancmsg(msgid = 1711, anmode=aninfo, msgtype = msgerror,
1146 . i1 = int(sqrt(real(hg))))
1154 CALL init_tg(iflow(ii1), iflow(ii2), iflow(ii3), x, xs, ys, zs, xd, yd, zd,
1155 . rflow(ir1), rflow(ir2), rflow(ir3), rflow(ir4), rflow(ir5), rflow(ir6))
1156 CALL mass_fluid_tg(iform, ilvout, nno, nel, iflow(ii2), iflow(ii3), x,
1157 . rflow(ir2), rflow(ir4), rflow(ir7), rho)
1158 ELSEIF(jform == 2)
THEN
1159 CALL init_qd(iflow(ii1), iflow(ii2), iflow(ii3), x, xs, ys, zs, xd, yd, zd,
1160 . rflow(ir1), rflow(ir2), rflow(ir3), rflow(ir4), rflow(ir5), rflow(ir6))
1161 IF(nel < nelmax)
THEN
1162 ALLOCATE(cbem(nel,nel))
1163 CALL mass_fluid_qd(nno, nel, iflow(ii1), iflow(ii2), iflow(ii3), x,
1164 . rflow(ir2), rflow(ir4), rflow(ir7), cbem, rho,iresp)
1167 CALL mass_fluid_qd(nno, nel, iflow(ii1), iflow(ii2), iflow(ii3), x,
1168 . rflow(ir2), rflow(ir4), rflow(ir7), rflow(ir11), rho,iresp)
1170 IF(nbgauge > 0)
THEN
1171 WRITE (iout,
'(/5X,A)')
'GAUGE ELEMENT ELEMENT'
1174 IF(lgauge(1,j) /= 0) cycle
1180 IF(j1 /= n_shell(k)) cycle
1186 WRITE(iout,
'(3I10)') j,-lgauge(3,j),iflow(ii5+j-1)
1192 iadr=iadr+iflow(iadi+15)
1193 iadi=iadi+iflow(iadi+14)
1201 .
' INCOMPRESSIBLE FLOW (BOUNDARY ELEMENTS METHOD)'/
1202 .
' ----------------------------------------------'/)
1203 1100
FORMAT( 5x,
'BEM PROBLEM NUMBER ',i10
1204 . /10x,
'FLOW ID ',i10,1x,a,
1205 . /10x,
'EXTERNAL SURFACE ID ',i10
1206 . /10x,
'NUMBER OF SURFACE NODES ',i10
1207 . /10x,
'NUMBER OF TRIANGULAR BOUNDARY ELEMENTS ',i10)
1208 1110
FORMAT( 10x,
'FLOW INSIDE THE SURFACE')
1209 1120
FORMAT( 10x,
'FLOW OUTSIDE THE SURFACE')
1210 1200
FORMAT( 10x,
'STAGNATION PRESSURE CURVE ',i10
1211 . /10x,
'STAGNATION PRESSURE SCALE FACTOR ',1pe10.3
1212 . /10x,
'TIME SCALE FACTOR FOR STAG. PRES. CURVE '
1213 . /10x,
'AUXILIARY NODE GROUP ID ',i10
1214 . /10x
'NUMBER OF AUXILIARY NODES '
1215 1210
FORMAT( 10x,
'POINT-INSIDE-SURFACE TEST FOR AUX. NODES')
1216 1220
FORMAT( 10x,
'POINT-OUTSIDE-SURFACE TEST FOR AUX. NODES')
1217 1225
FORMAT( 10x,
'ADIMENSIONAL TOLERANCE FOR TESTING ',1pe10.3)
1218 1230
FORMAT( 10x,
'NO TEST FOR AUX. NODES')
1219 1300
FORMAT( 10x,
'FLUID DENSITY ',1pe10.3)
1220 1400
FORMAT(/10x,
'INFLOW-OUTFLOW'
1221 . /10x
'--------------'
1222 . /10x,
'NUMBER OF INFLOW-OUTFLOW SURFACES ',i10)
1223 1410
FORMAT(/10x,
'SURFACE NUMBER ',i10
1224 . /10x,
'SURFACE ID ',i10)
1225 1420
FORMAT( 10x,
'IMPOSED VELOCITY CURVE ',i10
1226 . /10x,
'IMPOSED VELOCITY SCALE FACTOR ',1pe10.3)
1227 1430
FORMAT( 10x,
'IMPOSED PRESSURE CURVE ',i10
1228 . /10x,
'IMPOSED PRESSURE SCALE FACTOR ',1pe10.3)
1229 1440
FORMAT( 10x,
'TIME SCALE FACTOR FOR CURVES ',1pe10.3)
1230 1500
FORMAT(/10x,
'BEM PARAMETERS'
1231 . /10x,
'--------------'
1232 . /10x,
'BEM FORMULATION FLAG ',i10
1233 . /10x,
'BEM SOLVER OUTPUT LEVEL ',i10
1234 . /10x,
'TIME STEP FOR MATRICES ASSEMBLY ',1pe10.3)
1235 1600
FORMAT(/10x,
'VELOCITY FIELD AT INFINITY'
1236 . /10x,
'--------------------------'
1237 . /10x,
'VELOCITY CURVE ',i10
1238 . /10x,
'VELOCITY SCALE FACTOR ',1pe10.3
1239 . /10x,
'TIME SCALE FOR VELOCITY CURVE ',1pe10.3
1240 . /10x,
'X COMPONENT OF VELOCITY VECTOR ',1pe10.3
1241 . /10x,
'Y COMPONENT OF VELOCITY VECTOR ',1pe10.3
1242 . /10x,
'Z COMPONENT OF VELOCITY VECTOR '
1243 1700
FORMAT(/10x,
'PARALLEL SOLVER PARAMETERS (SCALAPACK)'
1244 . /10x,
'--------------------------------------'
1245 . /10x,
'NUMBER OF ROW OF PROCESS GRID ',i10
1246 . /10x,
'NUMBER OF COLUMNS OF PROCESS GRID ',i10
1247 . /10x,
'2D-CYCLIC DECOMPOSITION BLOCK-SIZE ',i10)
1250 .
' DAA SURFACE (BOUNDARY ELEMENT METHOD) '/
1251 .
' -------------------------------------- '/)
1252 2100
FORMAT( 5x,
'DAA SURFACE NUMBER ',i10
1253 . /10x,
'DAA ID ',i10,1x,a,
1254 . /10x,
'WET SURFACE ID ',i10
1255 . /10x,
'NUMBER OF SURFACE NODES ',i10
1256 . /10x,
'NUMBER OF TRIANGULAR ELEMENTS ',i10
1257 . /10x,
'GRAVITY ID (/GRAV) ',i10)
1258 2200
FORMAT( 5x,
'DAA SURFACE NUMBER ',i10
1259 . /10x,
'DAA ID ',i10,1x,a,
1260 . /10x,
'WET SURFACE ID ',i10
1261 . /10x,
'NUMBER OF SURFACE NODES ',i10
1262 . /10x,
'NUMBER OF SHELL ELEMENTS ',i10
1263 . /10x,
'GRAVITY ID (/GRAV) ',i10)
1264 2300
FORMAT( 10x,
'FLUID DENSITY ',1pe13
1265 . /10x,
'FLUID SOUND SPEED ',1pe13.6
1266 . /10x,
'MINIMUM PRESSURE ',1pe13.6)
1267 2400
FORMAT( 10x,
'X-COORDINATE OF STANDOFF POINT ',1pe13.6
1268 . /10x,
'Y-COORDINATE OF STANDOFF POINT ',1pe13
1269 . /10x,
'Z-COORDINATE OF STANDOFF POINT ',1pe13
1270 2500
FORMAT(/10x,
'BEM FORMULATION FLAG IFORM ',i10
1271 . /10x,
'DAA SOLVER OUTPUT LEVEL ',i10
1272 . /10x,
'INCIDENT PRESSURE INPUT FLAG ',i10
1273 . /10x,
'DAA FORMULATION FLAG KFORM ',i10
1274 . /10x,
'FREE SURFACE FLAG ',i10
1275 . /10x,
'AFTERFLOW VELOCITY FLAG ',i10
1276 . /10x,
'INTEGRATION FLAG ',i10)
1277 2600
FORMAT(/10x,
'MAXIMUM PRESSURE AT STANDOFF POINT ',1pe13.6
1278 . /10x,
'DECAY TIME AT STANDOFF POINT ',1pe13.6
1279 . /10x,
'EXPONENT FOR PMAX (APMAX) ',1pe13.6
1280 . /10x,
'EXPONENT FOR DECAY TIME (ATHETA) ',1pe13.6)
1281 2700
FORMAT(/10x,
'INCIDENT PRESSURE FUNCTION ',i10
1282 . /10x,
'PRESSURE SCALE FACTOR ',1pe13.6)
1283 3000
FORMAT( 10x,
'X-COORDINATE OF EXPLOSIVE CHARGE ',1pe13.6
1284 . /10x,
'Y-COORDINATE OF EXPLOSIVE CHARGE ',1pe13.6
1285 . /10x,
'Z-COORDINATE OF EXPLOSIVE CHARGE ',1pe13.6)
1286 3100
FORMAT(/10x,
'PLANE WAVE DIRECTION '
1287 . /10x,
'X-DIRECTION ',1pe13.6
1288 . /10x,
'Y-DIRECTION '
1289 . /10x,
'Z-DIRECTION ',1pe13.6)
1290 3500
FORMAT(/10x,
'FREE SURFACE '
1291 . /10x,
'X-COORDINATE OF SURFACE POINT A ',1pe13.6
1292 . /10x,
'Y-COORDINATE OF SURFACE POINT A ',1pe13.6
1293 . /10x,
'Z-COORDINATE OF SURFACE POINT A ',1pe13
1294 . /10x,
'SURFACE NORMAL X-COMPONENT ',1pe13.6
1295 . /10x,
'SURFACE NORMAL Y-COMPONENT ',1pe13.6
1296 . /10x,
'SURFACE NORMAL Z-COMPONENT '
1297 3600
FORMAT(/10x,
'X-COORDINATE OF CHARGE IMAGE '
1298 . /10x,
'Y-COORDINATE OF CHARGE IMAGE ',1pe13.6
1299 . /10x,
'Z-COORDINATE OF CHARGE IMAGE ',1pe13.6)