81 SUBROUTINE contrl(MULTI_FVM,LSUBMODEL,IS_DYNA,DETONATORS,USER_WINDOWS,MAT_ELEM,
82 . NAMES_AND_TITLES,LIPART1,DEFAULTS,GLOB_THERM,PBLAST,OUTPUT)
107 USE bcs_mod ,
only : bcs
112 USE output_mod ,
ONLY : output_
116#include "implicit_f.inc"
120#include "mvsiz_p.inc"
124#include "units_c.inc"
126#include "com01_c.inc"
127#include "com04_c.inc"
128#include "com06_c.inc"
129#include "com08_c.inc"
130#include "com09_c.inc"
131#include "com10_c.inc"
132#include "com_xfem1.inc"
133#include "intstamp_c.inc"
134#include "random_c.inc"
135#include "scr03_c.inc"
136#include "scr05_c.inc"
137#include "scr06_c.inc"
138#include "scr10_c.inc"
139#include "scr12_c.inc"
140#include "scr15_c.inc"
141#include "scr16_c.inc"
142#include "scr22_c.inc"
143#include "scr23_c.inc"
145#include "param_c.inc"
147#include "lagmult.inc"
149#include "scr14_c.inc"
150#include "remesh_c.inc"
151#include "sysunit.inc"
152#include "commandline.inc"
154#include "userlib.inc"
156#include "drape_c.inc"
157#include "inter22.inc"
158#include "boltpr_c.inc"
159#include "ige3d_c.inc"
160#include "com_engcards_c.inc"
165 TYPE(multi_fvm_struct),
INTENT(IN) :: MULTI_FVM
167 INTEGER,
INTENT(IN)::IS_DYNA
170 TYPE(mat_elem_),
INTENT(INOUT) ::
172 INTEGER,
INTENT(IN) :: LIPART1
173 TYPE(defaults_),
INTENT(INOUT) :: DEFAULTS
174 type (glob_therm_) ,
intent(inout) :: glob_therm
175 TYPE(pblast_),
INTENT(INOUT) :: PBLAST
176 TYPE(output_),
INTENT(INOUT) :: OUTPUT
180 INTEGER I, J, N, ISFIL, IPCT, IBID,INSH,
181 . ihbe_dd,iparith,jale,jeul,
182 . iun,nshfram,jupw,imat,ig,ish3n_dd,iframe_dds,
183 . ipla_dds,npts_dd,uid,ihbe,ismstr,iplas,icpre,icstr,npt,
184 . isrot,l1,npts, nimpdisp,nimpvel,nimpacc,icr,
185 . stat,ierror,
id,idx,idy,idz,nctrl,bid,nsh3nfram,ns17_old,
186 . ignore_spmd,ignore_threads,got_variable,krot,old_rsb,
187 . nrafx,nrafy,nrafz,nfunct0,ntable0,ntable1,nsensor,
188 . irfe,irfl, hm_ninter_def,nb_ams,numnusr,nperturb_hm,icr3,
191 INTEGER IS_BEGIN,SCHAR
192 INTEGER IHBE_DS,ISST_DS,IPLA_DS,,ITET4_D,ITET10_D,ICPRE_D,IMAS_DS,ICONTROL_D,
193 . ihbe_d,ipla_d,istr_d,ithk_d,ishea_d,isst_d,
194 . ish3n_d, istra_d,npts_d,idril_d,ioffset_d,def_inter(100)
196 CHARACTER (LEN=NCHARLINE) ::
197 CHARACTER (LEN=NCHARLINE) :: XRFILE
198 CHARACTER (LEN=NCHARLINE) :: KEY
199 CHARACTER (LEN=NCHARLINE) :: KEY2
200 CHARACTER (LEN=NCHARLINE) :: TMPLINE
201 CHARACTER (LEN=NCHARLINE) :: LINE
202 CHARACTER (LEN=NCHARTITLE) :: TITR
203 CHARACTER (LEN=255) :: STR_NBTHREADS
204 CHARACTER MESS*40, ERRMSG*40
205 CHARACTER*3 :: LABEL_DEF,LABEL_ROT
209 INTEGER OMP_GET_THREAD_NUM, OMP_GET_NUM_THREADS,NTHREAD1
210 EXTERNAL omp_get_thread_num, omp_get_num_threads
211 CHARACTER (LEN=255) :: STR
216 INTEGER ,
DIMENSION(:),
ALLOCATABLE :: NPLY,NSUB,NISUB
218 INTEGER :: NITER,IFORM
220 INTEGER :: LEN_TMP_NAME
221 CHARACTER(len=4096) :: TMP_NAME
222 LOGICAL :: IS_AVAILABLE
223 INTEGER :: , NGRTRIA, IDUMMY, NANIM_VERS
225 INTEGER :: NB_INISHE,NB_INISH3,NB_INIBRI,NB_INIQUAD,
226 . nb_inibeam,nb_initruss,nb_inisprig,nb_inisphcel
228 CHARACTER*20 UNIT_NAME
250 IF (numtitle > 0)
THEN
258 WRITE(istdo,
'(A)') line(1:len_trim(line))
262 names_and_titles%TITLE(1:len_line)=line(1:len_line)
270 WRITE(istdo,
'(A)')titre(12)
277 IF (is_begin /= 0)
THEN
281 CALL hm_get_intv(
'INVERS', invers, is_available, lsubmodel)
285 CALL hm_get_string(
'length_inputunit_code',keyli,schar,is_available)
286 CALL hm_get_string('mass_inputunit_code',keymi,schar,is_available)
287 CALL hm_get_string(
'time_inputunit_code',keyti,schar,is_available)
288 CALL hm_get_string(
'length_workunit_code',keyl,schar,is_available)
289 CALL hm_get_string(
'mass_workunit_code',keym,schar,is_available)
290 CALL hm_get_string(
'time_workunit_code',keyt,schar,is_available)
293 CALL ascii_encoding_mu_letter(keyli, keymi, keyti, keyl, keym, keyt)
305 IF(unit_name ==
'LENGTH')
THEN
308 IF(unit_name ==
'MASS')
THEN
311 IF(unit_name ==
'TIME')
THEN
322 WRITE(istdo,
'(A)')titre(10)
329 IF (got_ncpu ==1)
THEN
342 CALL getenv(
'OMP_NUM_THREADS',str)
345 READ(str,
'(I10)',err=999)nthread1
349 IF (got_nth ==1)
THEN
360 nthread =
max(nthread,1)
362 nthread_r2r = nthread
363 CALL omp_set_num_threads(nthread_s)
367 IF (got_nth ==1)
THEN
378 nvsiz = archinfo(ibuiltin,1)
379 ivector = archinfo(ibuiltin,2)
406 CALL HM_READ_SMS(LSUBMODEL)
410 CALL HM_READ_CAA(LSUBMODEL)
414 CALL HM_OPTION_COUNT('/random
',NRAND)
418 CALL HM_READ_LAGMUL(LSUBMODEL)
420 CALL HM_OPTION_COUNT('/
PRIVATE/metadata/fatxml
',IPRIVATE)
421 IF(IPRIVATE > 0 ) IPRIVATE = 1
425 CALL HM_OPTION_COUNT('/stamping
',ISTAMPING)
426 IF(ISTAMPING > 0 ) ISTAMPING = 1
432!--- remove first /DEF/SOLID in src21_c.inc
433 CALL init_def_zero(DEFAULTS)
434!---- obsolet flag values fixed here
437 ISHEA_D=0 ! Old hidden flag in /DEF_SHELL
439 INSH = 0 ! Old hidden flag in /DEF_SHELL
440 NPTS_D = -1 ! Old hidden flag in /DEF_SHELL
444 CALL HM_READ_DEFSHELL(LSUBMODEL,DEFAULTS%SHELL)
448 CALL HM_READ_DEFSOLID(LSUBMODEL,DEFAULTS%SOLID)
450 IS17OLD = 1 ! To be cleaned
452 IF(INSH==1)INER_9_12 = TWELVE
453 IF(INSH==2)INER_9_12 = SIXTEEN
454 IF(INSH==3)INER_9_12 = FOURTY8
455 IF(INSH==4)INER_9_12 = THIRTY
456 IF(INSH==5)INER_9_12 = NINE
457! default values in def_solid/def_shell
458 CALL init_def_elem(N2D,IIMPLICIT,DEFAULTS)
464 CALL HM_OPTION_COUNT('/default/inter
',HM_NINTER_DEF)
465 CALL HM_READ_DEFINTER(HM_NINTER_DEF,DEF_INTER,LSUBMODEL)
466 DEFAULTS%interface%DEF_INTER(1:100) = DEF_INTER(1:100)
468 CALL HM_OPTION_COUNT('/intthick/v5
',IINTTHICK)
469 IF (IINTTHICK > 1) THEN
470 CALL ANCMSG(MSGID=725,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=IINTTHICK)
476 CALL HM_OPTION_COUNT('/shfra/v4
',NSHFRAM)
477 IF (NSHFRAM == 1) THEN
479 ELSEIF (NSHFRAM > 1) THEN
480 CALL ANCMSG(MSGID=546,MSGTYPE=MSGERROR,ANMODE=ANINFO,I1=NSHFRAM)
489 IF(DECNEQ==0) DECNEQ = 100
502.AND.
IF(NB_AMS==0IIMPLICIT==0) THEN
514 ELSEIF(IIMPLICIT/=0) THEN
520 IF(NSPMD < 1) NSPMD=1
521 IF(NSPMD > PARASIZ) NSPMD=PARASIZ
522 IF(NTHREAD < 1) NTHREAD=1
524 IF(NTHREAD > NTHMAX) NTHREAD=NTHMAX
526 IF (GOT_INSPIRE_ALM == 1)THEN
527 IF (NTHREAD_S==1)THEN
528 WRITE(ISTDO,'(a,i4,a)
')' .. solver running on
',NTHREAD_S,' thread
'
530 WRITE(ISTDO,'(a,i4,a)
')' .. solver running on
',NTHREAD_S,' threads
'
533 IF (NTHREAD_S==1)THEN
534 WRITE(ISTDO,'(a,i4,a)
')' ..
starter running on
',NTHREAD_S,' thread
'
536 WRITE(ISTDO,'(a,i4,a)
')' ..
starter running on
',NTHREAD_S,' threads
'
548 CALL CPP_NODES_COUNT(NUMNUSR,NUMCNOD)
551 CALL HM_PREREAD_NODE(UNITAB,LSUBMODEL,NUMNUSR,IS_DYNA) ! NUMNOD is computed here
555 CALL ANCMSG(MSGID=3,MSGTYPE=MSGERROR,ANMODE=ANINFO)
570 CALL HM_OPTION_COUNT('/subdomain
',NSUBDOM)
571 CALL HM_OPTION_COUNT('/extern/link
',NR2RLNK)
591 CALL HM_OPTION_COUNT('/inicrack
',NINICRACK)
601 CALL HM_ELEM_COUNT('xelem
',NUMELX,IS_DYNA)
602 CALL HM_ELEM_COUNT('brick
',NUMBRICK,IS_DYNA)
603 CALL HM_ELEM_COUNT('tetra4
',NUMTETRA4,IS_DYNA)
604 CALL HM_ELEM_COUNT('penta6
',NUMPENTA6,IS_DYNA)
605 NUMELS8 = NUMBRICK+NUMTETRA4+NUMPENTA6
607 CALL HM_ELEM_COUNT('tetra10
',NUMELS10,IS_DYNA)
608 IF (IS_DYNA == 0) CALL HM_ELEM_COUNT('brick20
',NUMELS20,IS_DYNA)
609 CALL HM_ELEM_COUNT('shel16
',NUMELS16,IS_DYNA)
612 NUMELS = NUMELS8+NUMELS10+NUMELS20+NUMELS16
617 CALL FIND_DT1BRICK_ENGINE()
620 CALL HM_ELEM_COUNT('shell
',NUMELC,IS_DYNA)
621.AND.
IF(NUMELC > 0 NANALY /= 0)THEN
622 CALL ANCMSG(MSGID=285,MSGTYPE=MSGERROR,ANMODE=ANINFO)
626 CALL HM_ELEM_COUNT('sh3n
',NUMELTG,IS_DYNA)
627.AND.
IF(NUMELTG > 0 NANALY /= 0)THEN
628 CALL ANCMSG(MSGID=287,MSGTYPE=MSGERROR,ANMODE=ANINFO)
632 CALL HM_ELEM_COUNT('truss
' ,NUMELT,IS_DYNA)
633 CALL HM_ELEM_COUNT('beam
' ,NUMELP,IS_DYNA)
634 CALL HM_ELEM_COUNT('spring
',NUMELR,IS_DYNA)
636 CALL HM_ELEM_COUNT('rivet
',NRIVET,IS_DYNA)
639 CALL HM_ELEM_COUNT('quad',numelq,is_dyna)
642 numeltg = numeltg + numeltria
648 . msgtype=msgwarning,
662 nadmesh = nadmeshg + nadmeshset + nadmeshstat
686 numelig3d0 = numelig3d
697 nummat = hm_nummat + 1
698 mat_elem%NUMMAT = nummat
728 nfunct = nfunct0 + ntable0 + ntable1 + npyfun
735 IF (nperturb > 0) iperturb = 1
763 nbcskin = numbcs - nbcslag
770 CALL HM_OPTION_COUNT('/impacc
' ,NIMPACC)
771 NFXVEL = NIMPDISP + NIMPVEL + NIMPACC
773 CALL HM_OPTION_COUNT('/rbody
',NRBODY)
775 CALL HM_OPTION_COUNT('/rbody/lagmul
',NRBYLAG)
776 NRBYKIN = NRBODY - NRBYLAG
777 CALL HM_OPTION_COUNT('/fxbody
',NFXBODY)
779 CALL HM_OPTION_COUNT('/
merge/rbody
',NRBMERGE)
781 CALL HM_OPTION_COUNT('/
merge/node
',NB_MERGE_NODE)
783 CALL HM_OPTION_COUNT('/rbe2
', NRBE2)
784 CALL HM_OPTION_COUNT('/rbe3
', NRBE3)
786 CALL HM_OPTION_COUNT('/rlink
', NLINK)
788 CALL HM_OPTION_COUNT('/rwall
',NRWALL)
790 CALL HM_OPTION_COUNT('/mpc
',NUMMPC)
791 CALL HM_OPTION_COUNT('/cyl_joint
', NJOINT)
792 CALL HM_OPTION_COUNT('/gjoint
', NGJOINT)
796 CALL HM_OPTION_COUNT('/slipring
', NSLIPRING)
797 CALL HM_OPTION_COUNT('/retractor
', NRETRACTOR)
801 CALL HM_OPTION_COUNT('/
monvol', NMONVOL)
807 CALL HM_OPTION_COUNT('/inter
',HM_NINTER)
809 CALL HM_OPTION_COUNT('/inter/type22
',INT22)
811 IF(INT22>0)ALEFVM_Param%IEnabled=1 !AUTOMATICALLY ENABLING ALE FVM SCHEME FOR FSI INTER22
813 CALL HM_OPTION_COUNT('/inter/sub
',NINTSUB)
814 NINTER = HM_NINTER - NINTSUB
816 CALL HM_OPTION_COUNT('/friction
',NINTERFRIC)
817 CALL HM_OPTION_COUNT('/fric_orient
',NFRIC_ORIENT)
819 CALL HM_OPTION_COUNT('/damp
',NDAMP)
821 CALL HM_OPTION_COUNT('/preload
',NPRELOAD) !Bolt preloading
823 CALL HM_OPTION_COUNT('/sect
',NSECT)
828 CALL HM_OPTION_COUNT('/box
' ,NBBOX)
829 CALL HM_OPTION_COUNT('/surf
',NSURF)
830 CALL HM_OPTION_COUNT('/line
' ,NSLIN)
831 CALL HM_OPTION_COUNT('/grnod
' ,NGRNOD )
832 CALL HM_OPTION_COUNT('/grbric
',NGRBRIC)
833 CALL HM_OPTION_COUNT('/grquad
',NGRQUAD)
834 CALL HM_OPTION_COUNT('/grpart
',NGRPART)
835 CALL HM_OPTION_COUNT('/grshel
',NGRSHEL)
836 CALL HM_OPTION_COUNT('/grsh3n
',NGRSH3N)
837 CALL HM_OPTION_COUNT('/grtria
',NGRTRIA)
838 NGRSH3N = NGRSH3N + NGRTRIA ! 3D or 2D (same buffer)
839 CALL HM_OPTION_COUNT('/grtrus
',NGRTRUS)
840 CALL HM_OPTION_COUNT('/grbeam
',NGRBEAM)
841 CALL HM_OPTION_COUNT('/grspri
',NGRSPRI)
843 CALL HM_OPTION_COUNT('/set
',NSETS)
844 NGPE = NGRNOD + NGRBRIC + NGRQUAD + NGRSHEL + NGRSH3N + NGRTRUS + NGRBEAM + NGRSPRI + NGRPART
848 CALL HM_OPTION_COUNT('/
inivel',HM_NINVEL)
851 CALL HM_OPTION_COUNT('/refsta
',IREFSTA)
853 IF(IREFSTA > 0)IS_REFSTA = .TRUE.
855 CALL HM_OPTION_COUNT('/xref
',NXREF)
857 CALL HM_OPTION_COUNT('/eref
',NEREF)
860 CALL HM_READ_INISTA(S0FILE, ISIGI, IOUTP_FMT, IROOTYY_R, LSUBMODEL)
865 IF (IRFORM /= 12) THEN
866 CALL ANCMSG(MSGID=636,MSGTYPE=MSGWARNING,ANMODE=ANINFO_BLIND_1)
871 CALL HM_READ_REFSTA(LSUBMODEL, XRFILE)
873 CALL HM_OPTION_COUNT('/
inigrav',NINIGRAV)
875 CALL HM_OPTION_COUNT('/inimap1d
', NINIMAP1D)
876 CALL HM_OPTION_COUNT('/inimap2d
', NINIMAP2D)
878 CALL HM_OPTION_COUNT('/
inivol' ,NUM_INIVOL)
882 CALL HM_OPTION_COUNT('/initemp
' ,GLOB_THERM%NINTEMP)
883 CALL HM_OPTION_COUNT('/imptemp
' ,GLOB_THERM%NIMTEMP)
884 CALL HM_OPTION_COUNT('/impflux
' ,GLOB_THERM%NIMPFLUX)
885 CALL HM_OPTION_COUNT('/
convec' ,GLOB_THERM%NCONVEC)
886 CALL HM_OPTION_COUNT('/
radiation',GLOB_THERM%NRADIA)
890 CALL HM_OPTION_COUNT('/sphcel
',NUMSPH)
893 CALL HM_OPTION_COUNT('/sphbcs
',NSPCOND)
901 CALL NBSPH(LSUBMODEL)
904 NUMNOD=NUMNOD+NSPHRES
905 NUMSPH=NUMSPH+NSPHRES
911 CALL HM_OPTION_COUNT('/madymo/exfem
', NEXMAD)
912 CALL HM_OPTION_COUNT('/madymo/link
', NCONX)
913 IF (NCONX > 0) CALL ANCMSG(MSGID=2023, MSGTYPE=MSGERROR, ANMODE=ANINFO)
916 CALL HM_OPTION_COUNT('/
eig',NEIG)
917 IF (NEIG>0) IPARI0 = 0
920 CALL HM_OPTION_COUNT('/bem/flow
', NFLOW)
922 CALL HM_OPTION_COUNT('/bem/daa
', IDUMMY)
923 NFLOW = NFLOW + IDUMMY
928 ALE%GLOBAL%IS_BOUNDARY_MATERIAL = .FALSE.
930 CALL HM_OPTION_COUNT('/ebcs
',NEBCS)
934 CALL HM_OPTION_COUNT('/dfs/detpoin
',DETONATORS%N_DET_POINT)
935 CALL HM_OPTION_COUNT('/dfs/detline
',DETONATORS%N_DET_LINE)
936 CALL HM_OPTION_COUNT('/dfs/wav_sha
',DETONATORS%N_DET_WAVE_SHAPER)
937 CALL HM_OPTION_COUNT('/dfs/detplan
',DETONATORS%N_DET_PLANE)
938 CALL HM_OPTION_COUNT('/dfs/
detcord',DETONATORS%N_DET_CORD)
939 DETONATORS%N_DET=DETONATORS%N_DET_POINT
940 . +DETONATORS%N_DET_LINE
941 . +DETONATORS%N_DET_WAVE_SHAPER
942 . +DETONATORS%N_DET_PLANE
943 . +DETONATORS%N_DET_CORD
948 CALL HM_OPTION_COUNT('/dfs/laser
',NLASER)
951 CALL HM_OPTION_COUNT('/euler/mat
', JEUL)
954 IF(INTEG8==1)LVEUL=52
957 CALL HM_OPTION_COUNT('/
ale/mat
', JALE)
961 CALL HM_OPTION_COUNT('/
ale/bcs
', NALEBCS)
962 IF(ALE%GLOBAL%ICAA == 1) ALE%GRID%NWALE = -1
964 !********************************
965 ! /ALE/GRID: ALE grid formulation
966 !********************************
967 CALL HM_READ_ALE_GRID(DT_INPUT, ALE%GRID%ALPHA, ALE%GRID%GAMMA, ALE%GRID%VGX, ALE%GRID%VGY, ALE%GRID%VGZ,
968 . VOLMIN, LSUBMODEL, UNITAB)
970 !*******************************************************************
971 ! /ALE/MUSCL: activation of second order methods for LAW51 or LAW151
972 !*******************************************************************
973 CALL HM_READ_ALE_MUSCL(LSUBMODEL, UNITAB)
975 !************************
976 ! /ALE/LINK/VEL: counting
977 !************************
978 CALL HM_OPTION_COUNT('/
ale/link/vel
', NALELK)
983 CALL HM_READ_ALE_SOLVER(LSUBMODEL, UNITAB, ALE%GLOBAL%ICAA, ALE%GLOBAL%ISFINT)
988 CALL HM_READ_UPWIND(JUPW, ALE%UPWIND%UPWMG, ALE%UPWIND%UPWOG, ALE%UPWIND%UPWSM, LSUBMODEL, UNITAB)
993 CALL HM_OPTION_COUNT('/run
',NRUN_ENG)
994 CALL HM_OPTION_COUNT('/anim
',NANIM_ENG)
995 CALL HM_OPTION_COUNT('/tfile
',NTFILE_ENG)
996 CALL HM_OPTION_COUNT('/rfile
',NRFILE_ENG)
997 CALL HM_OPTION_COUNT('/dt
',NDT_ENG)
998 CALL HM_OPTION_COUNT('/stop
',NSTOP_ENG)
999 CALL HM_OPTION_COUNT('/vers
',NVERS_ENG)
1000 NGINE=NRUN_ENG+NANIM_ENG+NTFILE_ENG+NRFILE_ENG+NDT_ENG+NSTOP_ENG+NVERS_ENG
1007 CALL HM_OPTION_COUNT('/anim/vers
',NANIM_VERS)
1008 IF (NANIM_VERS > 0) THEN
1009 CALL HM_OPTION_START('/anim/vers
')
1010 CALL HM_OPTION_NEXT()
1011 CALL HM_GET_INTV('anim_vers
', ANIM_VERS, IS_AVAILABLE, LSUBMODEL)
1033 CALL HM_OPTION_COUNT('/
inivel/node
',I)
1035 IRODDL=MIN(1,NUMELC+NUMELP+NRBODY+NUMELR+NUMELTG+NGJOINT+NUMMPC+NFXBODY+NUMELX+KROT)
1038 !for SIN initialization and IN allocation in lectur.F
1039 CALL HM_OPTION_START('material
')
1042 CALL HM_OPTION_READ_KEY(LSUBMODEL,KEYWORD2 = KEY)
1043 IF ((KEY(1:5) == 'law13.AND.
'
1044 . KEY(1:6) /= 'law131.AND.
' KEY(1:6) /= 'law132.AND.
'
1045 . KEY(1:6) /= 'law133.AND.
' KEY(1:6) /= 'law134.AND.
'
1046 . KEY(1:6) /= 'law135.AND.
' KEY(1:6) /= 'law136.AND.
'
1047 . KEY(1:6) /= 'law137.AND.
' KEY(1:6) /= 'law138.AND.
'
1048 . KEY(1:6) /= 'law139
' )
1049.OR.
. KEY(1:5) == 'rigid
') IRODDL0 = 1
1050 IF (KEY(1:5) == 'law68.OR.
' KEY(1:5) == 'cosse
') IISROT = 1
1056 ALLOCATE(IGEO(NPROPGI*NUMGEO),STAT=stat)
1057 IF (STAT /= 0) CALL ANCMSG(MSGID=268,ANMODE=ANINFO,MSGTYPE=MSGERROR,C1='igeo')
1061 ALLOCATE(NSUB (NUMGEO + NUMSTACK) ,STAT=stat)
1062 ALLOCATE(NISUB(NUMGEO + NUMSTACK) ,STAT=stat)
1063 ALLOCATE(NPLY (NUMGEO + NUMSTACK) ,STAT=stat)
1065 CALL HM_PREREAD_PROPERTIES(IGEO,NSPHSOL,NPLY,NSUB,NISUB,LSUBMODEL,DEFAULTS)
1067.AND.
IF(NSPHSOL/=0NUMELS8/=0)THEN
1068 ALLOCATE(IPART(LIPART1*NPART),STAT=stat)
1069 IF (STAT /= 0) CALL ANCMSG(MSGID=268,ANMODE=ANINFO,MSGTYPE=MSGERROR,C1='ipart')
1071 CALL HM_PREREAD_PART(IPART,IGEO,LSUBMODEL)
1073 ALLOCATE(IXS(NIXS*NUMELS8),STAT=stat)
1074 IF (STAT /= 0) CALL ANCMSG(MSGID=268,ANMODE=ANINFO,MSGTYPE=MSGERROR,C1='ipart')
1075 CALL HM_PRELCE16S(IPART,IGEO,IXS,NSPHSOL,LSUBMODEL,IS_DYNA)
1080 NUMNOD=NUMNOD+NSPHSOL
1081 NUMSPH=NUMSPH+NSPHSOL
1084 CALL HM_READ_SPHGLO(LSUBMODEL)
1087 CALL CONTRBE2(ICR,LSUBMODEL)
1088 CALL CONTRBE3(ICR3,LSUBMODEL)
1089.OR..OR.
IF(IISROT==1ICR>0ICR3>0)IRODDL = 1
1091 CALL HM_OPTION_COUNT('/userwi
',USER_WINDOWS%HAS_USER_WINDOW)
1093 IF(DTINI==ZERO)DTINI=EP06
1094 IF(VOLMIN==ZERO)VOLMIN=-EP20
1114 OUTPUT%TH%WFEXT = ZERO
1130.AND.
IF(DTFAC==ZERON2D/=0)DTFAC=0.67 !0.67 => 0.670000016689301 !ZEP67 => 0.670000000000000
1131.AND.
IF(DTFAC==ZERON2D==0)DTFAC=0.90 !0.90 => 0.899999976158142 !ZEP9 => 0.900000000000000
1135.OR.
IF(ISIGI==1ISIGI==2) THEN
1137.OR..OR.
ELSEIF(ISIGI==3ISIGI==4ISIGI==5) THEN
1139 IF(S0FILE==' ') THEN
1143 IF(IROOTYY_R==2)THEN
1145 IF(S0FILE(I:I)/=' ')J = J + 1
1148 TMP_NAME=INFILE_NAME(1:INFILE_NAME_LEN)//S0FILE(1:len_trim(S0FILE))
1149 LEN_TMP_NAME = INFILE_NAME_LEN+len_trim(S0FILE)
1150 IF(S0FILE(N:N)=='y
')THEN
1151 OPEN(UNIT=IIN4,FILE=TMP_NAME(1:LEN_TMP_NAME),ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1153 TMP_NAME=INFILE_NAME(1:INFILE_NAME_LEN)//S0FILE(1:N)//'000
'
1154 LEN_TMP_NAME = INFILE_NAME_LEN+N+3
1155 OPEN(UNIT=IIN5,FILE=TMP_NAME(1:LEN_TMP_NAME),ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1157 OPEN(UNIT=IIN4,FILE=TMP_NAME(1:LEN_TMP_NAME),ERR=100,ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1158 CALL ANCMSG(MSGID=169,MSGTYPE=MSGERROR,ANMODE=ANINFO,C1=S0FILE)
1159100 CALL ANCMSG(MSGID=2062,MSGTYPE=MSGERROR,ANMODE=ANINFO,C1=S0FILE)
1164 DO WHILE(S0FILE(I:I)/=' ')
1169 TMP_NAME=INFILE_NAME(1:INFILE_NAME_LEN)//S0FILE(1:len_trim(S0FILE))
1170 LEN_TMP_NAME = INFILE_NAME_LEN+len_trim(S0FILE)
1171 IF(S0FILE(N:N+4)=='.sty
')THEN
1172 OPEN(UNIT=IIN4,FILE=TMP_NAME(1:LEN_TMP_NAME),ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1174 TMP_NAME=INFILE_NAME(1:INFILE_NAME_LEN)//S0FILE(1:N-6)//'_0000.sty
'
1175 LEN_TMP_NAME = INFILE_NAME_LEN+N-6+9
1176 OPEN(UNIT=IIN5,FILE=TMP_NAME(1:LEN_TMP_NAME),ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1178 OPEN(UNIT=IIN4,FILE=TMP_NAME(1:LEN_TMP_NAME),ERR=200,ACCESS='sequential
',FORM='formatted
',STATUS='old
')
1179 CALL ANCMSG(MSGID=169,MSGTYPE=MSGERROR,ANMODE=ANINFO,C1=S0FILE)
1180200 CALL ANCMSG(MSGID=2062,MSGTYPE=MSGERROR,ANMODE=ANINFO,C1=S0FILE)
1188 CALL HM_OPTION_COUNT('/inishe
', NB_INISHE)
1189 CALL HM_OPTION_COUNT('/inish3
', NB_INISH3)
1190 CALL HM_OPTION_COUNT('/inibri
', NB_INIBRI)
1191 CALL HM_OPTION_COUNT('/iniqua
', NB_INIQUAD)
1192 CALL HM_OPTION_COUNT('/inibeam
', NB_INIBEAM)
1193 CALL HM_OPTION_COUNT('/initruss
', NB_INITRUSS)
1194 CALL HM_OPTION_COUNT('/inispri
', NB_INISPRIG)
1195 CALL HM_OPTION_COUNT('/inisphcel
', NB_INISPHCEL)
1198 . (NB_INISHE+NB_INISH3
1199 . +NB_INIBRI+NB_INIQUAD
1200 . +NB_INIBEAM+NB_INITRUSS
1201 . +NB_INISPRIG+NB_INISPHCEL)/=0) ISIGI=-3
1205 WRITE (IOUT,'(a)
') TRIM(NAMES_AND_TITLES%TITLE)
1206 WRITE (IOUT,'(//a/a/,(a,1pg20.13))
')TITRE(110),TITRE(111)
1207 WRITE (IOUT,'(a,i10)
') TITRE(117)(1:57),IPRI,
1208 . TITRE(120)(1:57),INVERS_SRC
1209 WRITE (IOUT,'(a,i10)
')
1210 . ' nsubs: number of subsets. . . . . . . . . . . . . .
',
1212 . ' npart: number of parts. . . . . . . . . . . . . . .
',
1214 WRITE (IOUT,'(a,i10)
') TITRE(125)(1:57),NUMMAT-1,
1215 . TITRE(135)(1:57),NUMGEO,
1216 . TITRE(126)(1:57),NUMNOD,TITRE(127)(1:57),NUMSKW,
1217 . TITRE(128)(1:57),NUMBCS
1219 . WRITE (IOUT,'(a,i10)
') TITRE(189)(1:57), NALEBCS
1220 WRITE (IOUT,'(a,i10)
')
1221 . ' numfram: number of reference frames . . . . . . . . .',
1223 WRITE (iout,
'(A,I10)')
1224 . titre(131)(1:57),numelq ,
1225 . titre(191)(1:57),numeltria,
1226 . titre(132)(1:57),numels ,
1227 . titre(133)(1:57),numelc ,
1228 . titre(134)(1:57),numelt ,
1229 . titre(136)(1:57),numelp ,
1230 . titre(137)(1:57),numelr ,
1231 . titre(180)(1:57),numeltg-numeltria,
1232 . titre(182)(1:57),numelx ,
1233 . titre(186)(1:57),numelig3d
1234 WRITE (iout,
'(A,I10)')
1235 .
' NUMSPH : NUMBER OF SMOOTH PARTICLES (SPH CELLS) . . .',
1237 WRITE (iout,
'(A,I10)')
1238 .
' NSPHBCS: NUMBER OF SPH SYMMETRY CONDITIONS. . . . . .',
1240 WRITE (iout,
'(A,I10)')
1241 .
' NSPHIO : NUMBER OF SPH INLET/OUTLET CONDITIONS. . . .',
1244 WRITE (iout,
'(A,/,A,I10)')
1245 .
' NSPHRES:NUMBER OF PARTICLES FROM SPH RESERVES AMONG NUMSPH,',
1246 .
' NUMBER OF NODES FROM SPH RESERVES AMONG NUMNOD. . .',
1250 WRITE (iout,
'(A,/,A,I10)')
1251 .
' NSPHSOL:NUMBER OF PARTICLES & NODES CREATED FROM SOLIDS .',
1252 .
' (AMONG NUMSPH & NUMNOD) . . . . . . . . . . . . .',
1255 WRITE (iout,
'(/(A,I10))') titre(138)(1:57),nfunct,
1256 .
' NGRAV: NUMBER OF GRAVITY LOADS . . . . . . . . . . .',
1258 .
' NFUNC2D: NUMBER OF USER 2D FUNCTIONS . . . . . . . .',
1260 .
' NINIGRV:NUMBER OF INITIAL GRAVITY LOADS . . . . . . .',
1262 .
' NCONLD: NUMBER OF CONCENTRATED LOADS. . . . . . . . .',
1264 .
' NINVEL: NUMBER OF INITIAL VELOCITIES. . . . . . . . .',
1266 .
' NPRELD: NUMBER OF PRESSURE LOADS. . . . . . . . . . .',
1268 .
' NINIMAP1D: NUMBER OF INITIAL 1D MAPPING.. . . . . . .',
1270 .
' NINIMAP2D: NUMBER OF INITIAL 2D MAPPING.. . . . . . .',
1273 WRITE (iout,
'(A,I10)')
1274 .
' NPRELOAD: NUMBER OF BOLT PRELOADINGS. . . . . . . . .',
1277 IF(detonators%N_DET > 0)
THEN
1278 WRITE (iout,
'(/(A,I10))') titre(141)(1:57),detonators%N_DET_POINT,
1279 . titre(171)(1:57),detonators%N_DET_LINE,
1280 . titre(172)(1:57),detonators%N_DET_WAVE_SHAPER,
1281 . titre(187)(1:57),detonators%N_DET_CORD,
1282 . titre(188)(1:57),detonators%N_DET_PLANE
1284 IF(nlaser > 0)
WRITE (iout,
'((A,I10))') titre(178)(1:57),nlaser
1285 WRITE (iout,
'(4X,A,I10)')
1286 .
'NUMBER OF ACCELEROMETERS. . . . . . . . . . . . . . .',
1288 .
'NUMBER OF SENSORS . . . . . . . . . . . . . . . . . .',
1290 .
'NUMBER OF GAUGES. . . . . . . . . . . . . . . . . . .',
1292 WRITE (iout,
'(A,I10)') titre(146)(1:57),ninter,
1293 . titre(147)(1:57),nrwall,titre(148)(1:57),nrbody,
1294 .
' NFXBODY: NUMBER OF FLEXIBLE BODIES. . . . . . . . . .',
1296 . titre(149)(1:57),nconx,
1297 . titre(150)(1:57),nodmas,titre(183)(1:57),nimpdisp,
1298 . titre(184)(1:57),nimpvel,titre(185)(1:57),nimpacc,
1299 . titre(152)(1:57),nrivet,titre(153)(1:57),nsect,
1300 . titre(155)(1:57),njoint
1302 IF(ninterfric > 0)
WRITE (iout,
'(A,I10)') titre(190)(1:57),ninterfric
1303 IF(nalelk>0)
WRITE(iout,
'(A,I10)')
1304 .
' NALELK: NUMBER OF ALE LINKS. . . . . . . . . . . . . ',
1306 WRITE (iout, 5051) nactiv
1307 WRITE (iout, 5052) ndamp
1308 WRITE (iout, 5053) ngjoint
1309 WRITE (iout, 5054) nummpc
1310 WRITE (iout, 5050) nr2rlnk
1311 WRITE (iout, 5055) nsubdom
1312 WRITE (iout,5000)nvolu+nmonvol
1313 WRITE(iout,
'(A,I10)')
1314 .' neig: number of eigen and
static modes problems . .
',
1316 WRITE(IOUT,'(a,i10)
')
1317 .' nbem: number of bem solved problems . . . . . . . .
',
1319 WRITE(IOUT,'(a,i10)
')
1320 .' nrbe2: number of rbe2 rigid elements . . . . . . . .
',
1323 .' nrbe3: number of rbe3 constraint elements . . . . .
',
1325 WRITE (IOUT,'(2a/a,i10)
')' initial stress file =
',TRIM(S0FILE),
1326 . ' flag isigi. . .
',
1329 IF (IREFSTA/=0) THEN
1330 WRITE (IOUT,'(2a/a,i10/a,i10)
')
1331 . ' reference metric file =
',XRFILE,
1332 . ' flag irefsta. .
',
1334 . ' number of steps , nitrs. .
',
1338 IF(JALE+JEUL/=0)THEN
1339 WRITE(IOUT,'(a,i10)
')' isfint:
ale/euler momentum integration formulation. .
',ALE%GLOBAL%ISFINT
1341 IF(ALE%GLOBAL%ICAA==1)THEN
1345 WRITE (IOUT,5100)ALE%GRID%NWALE
1346 SELECT CASE (ALE%GRID%NWALE)
1347 CASE(0);WRITE (IOUT,5199) ALE%GRID%ALPHA,ALE%GRID%GAMMA,ALE%GRID%VGX,ALE%GRID%VGY,ALE%GRID%VGZ,VOLMIN
1348 CASE(1);WRITE (IOUT,5200) ALE%GRID%ALPHA,VOLMIN
1349 CASE(2);WRITE (IOUT,5300) DT_INPUT, ALE%GRID%ALPHA,ALE%GRID%GAMMA,ALE%GRID%VGX,ALE%GRID%VGY,VOLMIN
1350 CASE(3);WRITE (IOUT,5350)
1351 CASE(4);WRITE (IOUT,5351) ALE%GRID%ALPHA,ALE%GRID%GAMMA,ALE%GRID%VGX,ALE%GRID%VGY
1352 CASE(5);WRITE (IOUT,5353) ALE%GRID%ALPHA,NINT(ALE%GRID%VGX)
1353 CASE(6);WRITE (IOUT,5354)
1356 IF(INT(ALE%GRID%VGX) == 1)LABEL_DEF = 'yes
'
1358 IF(INT(ALE%GRID%VGY) == 1)LABEL_ROT = 'yes
'
1359 WRITE (IOUT,5355) LABEL_DEF,LABEL_ROT,ALE%GRID%ALPHA,ALE%GRID%GAMMA
1363 IF(ALEFVM_Param%ISOLVER /= 0)ALEMUSCL_Param%IALEMUSCL=0 !muscl not compatible with FVM solver for int22
1364 CALL HM_OPTION_COUNT('/
ale/muscl
', NALEMUSCL)
1365 IF(ALE%UPWIND%UPWSM/=ONE)THEN
1366.OR.
IF(NALEMUSCL>0 ALEMUSCL_Param%IALEMUSCL>0)THEN
1368 ALEMUSCL_Param%IALEMUSCL=0
1369 !ignore muscl & use upwsm3 (backward compatibility)
1370 !double check engine file with /ALE/MUSCL/OFF
1374 IF(JALE+JEUL/=0)THEN
1375.AND.
IF(ALEMUSCL_Param%IALEMUSCL == 1 JUPW/=0 ) THEN !eta3 + muscl(law51) : conflict
1376 CALL ANCMSG(MSGID=1564, MSGTYPE=MSGWARNING, ANMODE=ANINFO)
1377.OR.
ELSEIF(ALEMUSCL_Param%IALEMUSCL == 0 JUPW/=0)THEN
1378 WRITE (IOUT,5360)ALE%UPWIND%UPWMG,ALE%UPWIND%UPWOG !,UPWSM
1380.OR.
IF (ALEMUSCL_Param%IALEMUSCL == 1 ALEMUSCL_Param%IALEMUSCL==2) THEN
1381 WRITE (IOUT, 5504) ALEMUSCL_Param%BETA,ALEMUSCL_Param%IALEMUSCL-1
1385 WRITE (IOUT,'(//,a,i10)
') TITRE(130)(1:57),NANALY
1388 IHBE_DS= DEFAULTS%SOLID%ISOLID
1389 ISST_DS= DEFAULTS%SOLID%ISMSTR
1390 ICPRE_D= DEFAULTS%SOLID%ICPRE
1391 ITET4_D= DEFAULTS%SOLID%ITETRA4
1392 ITET10_D= DEFAULTS%SOLID%ITETRA10
1393 IFRAME_DS = DEFAULTS%SOLID%IFRAME
1394 IMAS_DS= DEFAULTS%SOLID%IMAS
1396 IOFFSET_D= DEFAULTS%SHELL%ioffset !< offset support contact
1397 IHBE_D = DEFAULTS%SHELL%ishell
1398 ISH3N_D= DEFAULTS%SHELL%ish3n
1399 ISST_D = DEFAULTS%SHELL%ismstr
1400 IPLA_D = DEFAULTS%SHELL%iplas
1401 ITHK_D = DEFAULTS%SHELL%ithick
1402 IDRIL_D= DEFAULTS%SHELL%idrill
1404 ICONTROL_D= DEFAULTS%SOLID%ICONTROL
1406.AND.
IF(NUMELQ/=0. OR. (NUMELTG/=0N2D/=0) )THEN
1407 CALL ANCMSG(MSGID = 286,MSGTYPE = MSGERROR,ANMODE = ANINFO)
1411 WRITE(IOUT,5500)INTEG8,IPARITH,USER_WINDOWS%HAS_USER_WINDOW,IHBE_DS,
1412 . ITET4_D,ITET10_D,ISST_DS,ICPRE_D,IHBE_D,ISST_D,ITHK_D,
1413 . IPLA_D,ISTR_D,ISHEA_D,INSH,ISH3N_D, NPTS_D, IFRAME_DS,
1416 WRITE(IOUT,5501)ISHFRAM
1417 IF(ISH3NFRAM>0)WRITE(IOUT,5901)ISH3NFRAM
1418.AND.
IF(JALE/=0 ALEFVM_Param%IEnabled/=0)WRITE(IOUT,5502)ALEFVM_Param%ISOLVER
1419.AND.
IF(JALE/=0 ALE%GLOBAL%ISFINT/=0) WRITE(IOUT,5503)ALE%GLOBAL%ISFINT
1420 WRITE(IOUT,5700)LAGM_TOL
1421 WRITE(IOUT,5800)IMAS_DS
1422.AND.
IF ((NUMSPH>0)(NSPHSOL==0)) WRITE (IOUT,5600) SPASORT,LVOISPH,KVOISPH
1423.AND.
IF ((NUMSPH>0)(NSPHSOL>0)) THEN
1424 IF (ITSOL2SPH==1) WRITE (IOUT,5610) SPASORT,LVOISPH,KVOISPH,ITSOL2SPH
1425 IF (ITSOL2SPH==2) WRITE (IOUT,5620) SPASORT,LVOISPH,KVOISPH,ITSOL2SPH
1430 ELSE IF(IMOT/=0) THEN
1431 WRITE(IOUT,*)'memory request not efficient on this computer
'
1437 ELSE IF(ICRAY==2) THEN
1443 STR_NBTHREADS = 'threads
'
1445 STR_NBTHREADS = 'thread
'
1447 IF(GOT_INSPIRE_ALM == 1)THEN
1448 WRITE(IOUT,4001) NTHREAD_S,STR_NBTHREADS,NSPMD,NTHREAD,IARCH,ARCHN(IARCH),NVSIZ
1450 WRITE(IOUT,4000) NTHREAD_S,STR_NBTHREADS,NSPMD,NTHREAD,IARCH,ARCHN(IARCH),NVSIZ
1453.OR.
IF(IGNORE_SPMD==1IGNORE_THREADS==1)THEN
1454 WRITE(IOUT,'(a)
') ' '
1455 WRITE(IOUT,'(a)
') ' info : number of spmd domain and threads defined in command line
'
1456 WRITE(IOUT,'(a)
') ' /spmd card
PARAMETER are ignored
'
1458 IF(GOT_VARIABLE==1)THEN
1459 WRITE(IOUT,'(a)
') ' '
1460 WRITE(IOUT,*) ' info : omp_num_threads set, default setting ignored
'
1465 WRITE(IOUT,'(a)
') ' '
1466 WRITE(IOUT,'(a)
') ' info : /spmd option, dectyp=2
'
1467 WRITE(IOUT,'(a)
') ' rsb domain decomposition deprecated, changing to default
VALUE'
1471 IF (USERL_AVAIL==1)THEN
1473 IF(GOT_INSPIRE_ALM == 1)THEN
1474 WRITE(IOUT,4601) DLIBFILE(1:DLIBFILE_SIZE),DLIBTKVERS
1476 WRITE(IOUT,4600) DLIBFILE(1:DLIBFILE_SIZE),DLIBTKVERS
1483 IF(ALLOCATED(IXS)) DEALLOCATE(IXS)
1484 IF(ALLOCATED(IGEO)) DEALLOCATE(IGEO)
1485 IF(ALLOCATED(IPART))DEALLOCATE(IPART)
1488 & 4X,'speed parameters
'/
1489 & 4X,'----------------
'/)
1500 & 4X,'starter running on. . . . . . . . . . . . . . . . . .
',I10,
1502 & 4X,'number of spmd domains. . . . . . . . . . . . . . . .
',I10/
1503 & 4X,'number of threads per domain. . . . . . . . . . . . .
',I10/
1504 & 4X,'architecture optimization . . . . . . . . . . . . . .
',I10,
1506 & 4X,'SIZE of element buffer. . . . . . . . . . . . . . . .
',I10)
1508 & 4X,'solver running on . . . . . . . . . . . . . . . . . .
',I10,
1510 & 4X,'number of spmd domains. . . . . . . . . . . . . . . .
',I10/
1511 & 4X,'number of threads per domain. . . . . . . . . . . . .
',I10/
1512 & 4X,'architecture optimization . . . . . . . . . . . . . .
',I10,
1514 & 4X,'SIZE of element buffer. . . . . . . . . . . . . . . .
',I10)
1517 & 4X,'EXTERNAL library
for users code
INTERFACE '/
1518 & 4X,'-----------------------------------------
'/)
1520 & 4X,'library name . . . . . . . . . . . . . . . . . . . .
',A/
1521 & 4X,'radioss users code
INTERFACE version . . . . . . . .
',I10)
1523 & 4X,'library name . . . . . . . . . . . . . . . . . . . .
',A/
1524 & 4X,'solver users code
INTERFACE version . . . . . . . . .
',I10)
1528 & ' nvolu: number of monitored volumes . . . . . . . . .
',I10)
1530 & ' nr2rlnk: number of
EXTERNAL coupling links . . . . .
',I10)
1532 & ' nactiv: number of element deactivation groups . . . .
',I10)
1534 & ' ndamp: number of rayleigh
damping groups . . . . . .
',I10)
1536 & ' ngjoint: number of gear
TYPE joints . . . . . . . . .
',I10)
1538 & ' nummpc: number of multi-point constraints . . . . . .
',I10)
1540 & ' nsubdom: number of subdomains
',I10)
1542 & 4X,'nwale :
ale grid velocity formulation . . . . . . . .
',I10)
1544 & 4X,'ale grid smoothing formulation
'/
1545 & 4X,'------------------------------
'/
1546 & 5X,'donea grid velocity computation method
'//
1547 & 5X,'alpha : donea coefficient. . . . . . . . . .
',1PG20.13/
1548 & 5X,'gamma : grid velocity limitation factor. . .
',1PG20.13/
1549 & 5X,'fscalex : x-grid velocity scale factor . . . .
',1PG20.13/
1550 & 5X,'fscaley : y-grid velocity scale factor . . . .
',1PG20.13/
1551 & 5X,'fscalez : z-grid velocity scale factor . . . .
',1PG20.13/
1552 & 5X,'volmin : minimum volume
for element deletion.
',1PG20.13)
1554 & 4X,'ale grid smoothing formulation
'/
1555 & 4X,'------------------------------
'/
1556 & 5X,'altair average displacement grid formulation
'//
1557 & 5X,'umax : maximum absolute grid velocity . . . .
',1PG20.13/
1558 & 5X,'vmin : minimum volume
for element deletion
',1PG20.13)
1562 &5X,'altair spring method
for grid velocity computation
'//
1563 &5X,'dt0 : typical time step . . . . . . . . . . . .
',1PG20.13/
1564 &5X,'dt0* : effective time step. . . . . . . . . . . .
',1PG20.13/
1565 &5X,'gamma : non linearity factor . . . . . . . . . . .
',1PG20.13/
1566 &5X,'eta :
damping coefficient . . . . . . . . . . .
',1PG20.13/
1567 &5X,'nu : shear factor . . . . . . . . . . . . . . .
',1PG20.13/
1568 &5X,'volmin: minimum volume
for element deletion
',1PG20.13)
1570 & 4X,'ale grid smoothing formulation
'/
1571 & 4X,'------------------------------
'/
1572 & 5X,'grid velocity is not computed(quasi euler)
')
1574 & 4X,'ale grid smoothing formulation
'/
1575 & 4X,'------------------------------
'/
1576 & 5X,'altair standard method
for grid velocity computation
'//
1577 & 5X,'alpha : stability factor . . . . . . . . . . . .
',1PG20.13/
1578 & 5X,'gamma : non linearity factor . . . . . . . . . .
',1PG20.13/
1579 & 5X,'beta :
damping coefficient. . . . . . . . . . .
',1PG20.13/
1580 & 5X,'lc : characteristic length. . . . . . . . . .
',1PG20.13)
1582 & 4X,'ale grid smoothing formulation
'/
1583 & 4X,'------------------------------
'/
1584 & 5X,'laplacian smoothing
'//
1585 & 5X,'lambda:. . . . . . . . . . . . . . . . . . . . .
',1PG20.13/
1586 & 5X,'niter :. . . . . . . . . . . . . . . . . . . . .
',I10)
1588 & 4X,'ale grid smoothing formulation
'/
1589 & 4X,'------------------------------
'/
1590 & 5X,'volume smoothing
')
1592 & 4X,'ale grid smoothing formulation
'/
1593 & 4X,'------------------------------
'/
1594 & 5X,'flow-tracking(mass weighted averaged velocity)
'//
1595 & 5X,'deformation enabled : .
',A3/
1596 & 5X,'rotation enabled : . . . . . . . . . . . . . . .
',A3/
1597 & 5X,'deformation scale factor : . . . . . . . . . . .
',1PG20.13/
1598 & 5X,'rotation scale factor: . . . . . . . . . . . . .
',1PG20.13/)
1603 & 4X,'---------------------
'/
1604 & 5X,'upwind for momentum transport . . . . .=
',1PG20.13/,
1605 & 5X,'upwind for other transport. . . . . . .=
',1PG20.13/)
1607 & 4X,'caa fluid formulation activated
')
1610 & 4X,'------------------------
'/,
1611 . 4X,'node group
id(=0 all nodes). . . . . .
',I5/,
1612 & 5X,'alpha . . . . . . . . . . . . . . . . .=
',1PG20.13/,
1613 & 5X,'beta. . . . . . . . . . . . . . . . . .=
',1PG20.13)
1614 5500 FORMAT(//4X,'analysis options
'/
1615 & 4X,'----------------
'//
1616 & 4X,'integ8 : 8 gauss point condensed integration . . . . .
',I10/
1617 & 4X,'iparith: parallel arithmetic flag(2 off, 1 0n). . . .
',I10/
1618 & 4X,'iuserw : general user window flag. . . . . . . . . . .
',I10/
1619 & 4X,'isolid : default brick formulation flag. . . . . . . .
',I10/
1620 & 4X,'itet4 : default tetra4 formulation flag . . . . . . .
',I10/
1621 & 4X,'itet10 : default tetra10 formulation flag. . . . . . .
',I10/
1622 & 4X,'ismstr : default brick small strain flag . . . . . . .
',I10/
1623 & 4X,'icpre : default solid constant pressure flag. . . . .
',I10/
1624 & 4X,'ishell : default shell formulation flag. . . . . . . .
',I10/
1625 & 4X,'isst : default shell small strain flag . . . . . . .
',I10/
1626 & 4X,'ithk : default shell thickness variation flag. . . .
',I10/
1627 & 4X,'ipla : default plane stress plasticity flag. . . . .
',I10/
1628 & 4X,'istr : default shell strain computation flag . . . .
',I10/
1629 & 4X,'ishea : default shell shear computation flag. . . . .
',I10/
1630 & 4X,'insh : shell inertia flag. . . . . . . . . . . . . .
',I10/
1631 & 4X,'ish3n : default 3 node shell formulation flag . . . .
',I10/
1632 & 4X,'npts : shell properties default number of
',/
1633 & 4X,' integration points or layers. . . . . . . . .
',I10/
1634 & 4X,'iframe : default solid frame formulation flag . . . .
',I10/
1635 & 4X,'ioffset: default shell offset flag. . . . . . . . . .
',I10/
1636 & 4X,'icontrol:default solid distortion control flag. . . . ',i10)
1638 & 4x,
'ISHFRAM: LOCAL SHELL FRAME DEFINITION. . . . . . . . .',i10)
1640 & 4x,
'IALEFVM: FVM FOR ALE MOMENTUM EQUATION. . . . . . . .',i10)
1642 & 4x,
'ISFINT : INTERNAL FORCES FORMULATION . . . . . . . . .',i10)
1644 & 4x,
'MUSCL (MONOTONIC UPSTREAM-CENTERED SCHEME FOR CONSERVATION LAWS)'/
1645 & 4x,
'----------------------------------------------------------------'/
1646 & 5x,
'COMPRESSION COEFFICIENT (BETA). . . . . . . . . . . : ',1pg20.13/
1647 & 5x,
'FORMULATION FLAG (IFLAG). . . . . . . . . . . . . . : ',i10)
1649 & 4x,'lagrange multiplier options
'/
1650 & 4X,'---------------------------
'/
1651 & 4X,'lagm_tol:convergence criterion. . . . . . . . . . . .
',
1654 5600 FORMAT(//4X,'sph global parameters'/
1655 & 4x,
'---------------------'//
1656 & 4x,
'ALPHA SORT :SORTING SECURITY COEFFICIENT . . . . . .',
1658 & 4x,
'LNEIGH :MAXIMUM NUMBER OF COMPUTED NEIGHBOURS. .',i10/,
1659 & 4x,
'NNEIGH :MAXIMUM NUMBER OF STORED NEIGHBOURS. . .',i10)
1660 5610
FORMAT(//4x,
'SPH GLOBAL PARAMETERS'/
1661 & 4x,
'---------------------'//
1662 & 4x,
'ALPHA SORT :SORTING SECURITY COEFFICIENT . . . . . .',
1664 & 4x,
'LNEIGH :MAXIMUM NUMBER OF COMPUTED NEIGHBOURS. .',i10/,
1665 & 4x,
'NNEIGH :MAXIMUM NUMBER OF STORED NEIGHBOURS. . .',i10/,
1666 & 4x,
'ITSOL2SPH :SOL2SPH PARTICLES ACTIVATION TYPE. . . .',i10/,
1667 & 4x,
'(SOL2SPH PARTICLES ACTIVATION BASED ON PARTS)')
1668 5620
FORMAT(//4x,
'SPH GLOBAL PARAMETERS'/
1669 & 4x,
'---------------------'//
1670 & 4x,
'ALPHA SORT :SORTING SECURITY COEFFICIENT . . . . . .',
1672 & 4x,
'LNEIGH :MAXIMUM NUMBER OF COMPUTED NEIGHBOURS. .',i10/,
1673 & 4x,
'NNEIGH :MAXIMUM NUMBER OF STORED NEIGHBOURS. . .',i10/,
1674 & 4x,
'ITSOL2SPH :SOL2SPH PARTICLES ACTIVATION TYPE. . . .',i10/,
1675 & 4x,
'(SOL2SPH PARTICLES ACTIVATION BASED ON SUBSETS)')
1677 & //4x,
'NODAL MASS DISTRIBUTION FLAG . . . . . . . . .',i10)
1679 & 4x,
'ISH3NFRAM: OLD LOCAL SH3N FRAME ACTIVATION . . . . . .',i10)
subroutine eig(k_diag, k_lt, iadk, jdik, ms, in, nddl, ndof, nnzl, x, d, v, a, bufel, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, pm, geo, cont, icut, skew, xcut, fint, itab, fext, fopt, anin, lpby, npby, nstrf, rwbuf, nprw, tani, elbuf_tab, matparam_tab, dd_iad, fr_iad, dd_front, cluster, weight, eani, ipart, rby, nom_opt, igrsurf, bufsf, idata, rdata, bufmat, bufgeo, kxx, ixx, kxsp, ixsp, nod2sp, spbuf, ixs10, ixs20, ixs16, vr, monvol, volmon, ipm, igeo, iparg, eigipm, eigibuf, eigrpm, ldiag, ljdik, ljdik2, ikc, maxncv, thke, nms, nint2, iint2, ipari, intbuf_tab, nodglob, iad_elem, fr_elem, fr_sec, fr_rby2, iad_rby2, fr_wall, inloc, iddl, partsav, fncont, ftcont, temp, err_thk_sh4, err_thk_sh3, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, weight_md, fcluster, mcluster, xfem_tab, w, nv46, nercvois, nesdvois, lercvois, lesdvois, crkedge, indx_crk, xedge4n, xedge3n, stack, sph2sol, stifn, stifr, drape_q4, drape_t3, h3d_data, subset, igrnod, fcont_max, fncontp2, ftcontp2, ale_connectivity, glob_therm)