97!||
spmd_initfi ../engine/source/mpi/interfaces/spmd_i7tool.f
105!||
userwi_read ../engine/source/user_interface/userwindow_interface_routines.f
120!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.f90
143!|| restart_rwallpen_mod ../engine/source/output/restart/restart_rwallpen.f90
157 SUBROUTINE rdresb( AF ,IAF ,LVARREA ,IRUNN ,
158 . MULTI_FVM ,H3D_DATA ,PINCH_DATA ,ALE_CONNECTIVITY ,T_MONVOL ,
159 . SENSORS ,EBCS_TAB ,DYNAIN_DATA ,USER_WINDOWS ,OUTPUT ,
160 . INTERFACES ,LOADS ,MAT_ELEM ,PYTHON ,IFLOW ,
161 . SKEWS ,RFLOW ,LIFLOW ,LRFLOW ,IMPL_S0 ,
163 . STACK ,DRAPE_SH4N ,DRAPE_SH3N ,DRAPEG ,NDRAPE ,
164 . GLOB_THERM ,PBLAST ,ELEMENT ,NODES ,RBE3 ,
200 USE bcs_mod ,
ONLY : bcs
207 use read_inivel_mod,
only : read_inivel
209 use read_ale_grid_mod,
only : read_ale_grid
210 use read_bcs_wall_mod,
only : read_bcs_wall
211 use read_bcs_nrf_mod,
only : read_bcs_nrf
213 use restart_rbe3pen_mod,
only : get_nrbe3pen_l,read_rrbe3pen
214 use checksum_output_option_mod
215 use element_mod ,
only : nixc
217 use restart_rwallpen_mod,
only : get_nrwallpen_l,read_rrwallpen
221#include "implicit_f.inc"
225#include "mvsiz_p.inc"
229#include "com01_c.inc"
230#include "com04_c.inc"
231#include "com_xfem1.inc"
232#include "couple_c.inc"
233#include "intstamp_c.inc"
234#include "param_c.inc"
235#include "parit_c.inc"
236#include "remesh_c.inc"
237#include "scr06_c.inc"
238#include "scr03_c.inc"
239#include "scr05_c.inc"
240#include "scr07_c.inc"
241#include "scr14_c.inc"
242#include "scr16_c.inc"
243#include "scr19_c.inc"
244#include "scrcut_c.inc"
245#include "scrfs_c.inc"
246#include "scrnoi_c.inc"
247#include "scr_fac_c.inc"
251#include "tabsiz_c.inc"
256 INTEGER IAF(*),LVARREA,LEN_G,LEN_M, IRUNN
258 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
259 TYPE(H3D_DATABASE) :: H3D_DATA
260 TYPE(PINCH) :: PINCH_DATA
261 TYPE(t_ale_connectivity),
INTENT(INOUT) :: ALE_CONNECTIVITY
262 TYPE(MONVOL_STRUCT_),
DIMENSION(NVOLU),
INTENT(INOUT) :: T_MONVOL
263 TYPE(t_ebcs_tab),
INTENT(INOUT) :: EBCS_TAB
266 TYPE(output_) ,
INTENT(INOUT) :: OUTPUT
267 TYPE(interfaces_) ,
INTENT(INOUT) :: INTERFACES
268 TYPE(sensors_) ,
INTENT(INOUT) :: SENSORS
269 TYPE(loads_) ,
INTENT(INOUT) :: LOADS
270 TYPE(mat_elem_) ,
INTENT(INOUT) :: MAT_ELEM
271 TYPE(python_) ,
INTENT(INOUT) :: PYTHON
272 TYPE(skew_) ,
INTENT(INOUT) :: SKEWS
274 TYPE (STACK_PLY) ,
INTENT(INOUT) :: STACK
275 TYPE(
drape_) ,
INTENT(INOUT) :: DRAPE_SH3N(NUMELTG_DRAPE),DRAPE_SH4N(NUMELC_DRAPE)
276 TYPE(
drapeg_) ,
INTENT(INOUT) :: DRAPEG
277 TYPE(glob_therm_) ,
INTENT(INOUT) :: GLOB_THERM
278 TYPE(pblast_) ,
INTENT(INOUT) :: PBLAST
279 TYPE(connectivity_) ,
INTENT(INOUT) :: ELEMENT
280 TYPE(nodal_arrays_) ,
INTENT(INOUT) :: NODES
281 TYPE(rbe3_) ,
INTENT(INOUT) :: RBE3
282 TYPE(rwall_) ,
INTENT(INOUT) :: RWALL
283 INTEGER,
INTENT(IN) :: LIFLOW
284 INTEGER,
INTENT(IN) :: LRFLOW
285 my_real,
INTENT(INOUT) :: forneqs(3,numnod)
286 INTEGER,
INTENT(INOUT) :: IFLOW(LIFLOW)
287 my_real,
INTENT(INOUT) :: rflow(lrflow)
288 INTEGER,
INTENT(IN) :: IMPL_S0
289 INTEGER,
INTENT(IN) :: NDRAPE
294 INTEGER I,J,LMXVREA, LEN,MY_ILEN,MY_RLEN,ISTAT,II,NS_DIFF
295 parameter(lmxvrea=1000+30*maxlaw+30)
296 my_real tabvrea(lmxvrea)
297 INTEGER,
DIMENSION(:),
ALLOCATABLE::IBID
298 my_real,
DIMENSION(:),
ALLOCATABLE::RBID
299 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE :: XDPDUM
300 INTEGER,
DIMENSION(NVOLU) :: NTRI
301 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INTEGER_DATA
302 INTEGER :: INT1, INT2, INT3, INT0, ITMP
304 INTEGER :: PYTHON_LEN
305 INTEGER,
DIMENSION(:),
ALLOCATABLE :: BUFFER
307 LOGICAL :: IS_EBCS_PARALLEL
308 INTEGER :: NPT,NRBE3PEN_L
315 IF(lvarrea>lmxvrea)
THEN
316 CALL ancmsg(msgid=33,anmode=aninfo,i1=lvarrea,i2=lmxvrea)
323 len_g = npropgi*numgeo
324 len_m = npropmi*nummat
328 CALL checksum_restart_read(output%CHECKSUM)
330 CALL read_i_c(nodes%NODGLOB,snodglob)
332 CALL read_i_c(nodes%MAIN_PROC,sweight)
355 ALLOCATE(buffer(python_len))
356 buffer(1) = python_len
358 CALL python_deserialize(python, buffer)
371 CALL read_i_c(element%shell%ixc,sixc)
372 DO i = 1, sixc / nixc
373 element%shell%nodes(1:4,i) = element%shell%ixc(2:5, i)
374 element%shell%pid(i) = element%shell%ixc(6, i)
375 element%shell%matid(i) = element%shell%ixc(1, i)
376 element%shell%user_id(i) = element%shell%ixc(7, i)
378 CALL init_global_shell_id(element%SHELL)
388 CALL init_global_node_id(nodes,numnod)
394 CALL read_i_c(ale_connectivity%NALE,
ale%GLOBAL%SNALE)
396 IF (iale + ieuler + ialelag + glob_therm%ITHERM /= 0)
THEN
398 ALLOCATE(ale_connectivity%ee_connect%iad_connect(itmp))
399 CALL read_i_c(ale_connectivity%ee_connect%iad_connect, itmp)
402 ALLOCATE(ale_connectivity%ee_connect%connected(itmp))
403 CALL read_i_c(ale_connectivity%ee_connect%connected, itmp)
406 ALLOCATE(ale_connectivity%ee_connect%type(itmp))
407 CALL read_i_c(ale_connectivity%ee_connect%type, itmp)
410 ALLOCATE(ale_connectivity%ee_connect%iface2(itmp))
411 CALL read_i_c(ale_connectivity%ee_connect%iface2, itmp)
418 IF(ale_connectivity%has_ne_connect)
THEN
429 IF (iale > 0 .AND.
ale%GRID%NWALE_RST >= 0)
THEN
430 IF(ale_connectivity%has_nn_connect)
THEN
431 ALLOCATE(ale_connectivity%NN_CONNECT%IAD_CONNECT(numnod + 1))
432 CALL read_i_c(ale_connectivity%NN_CONNECT%IAD_CONNECT, numnod + 1)
433 ALLOCATE(ale_connectivity%NN_CONNECT%CONNECTED(ale_connectivity%NN_CONNECT%IAD_CONNECT(numnod + 1)))
434 CALL read_i_c(ale_connectivity%NN_CONNECT%CONNECTED, ale_connectivity%NN_CONNECT%IAD_CONNECT(numnod + 1))
437 IF(ale_connectivity%has_ne_connect)
THEN
438 ALLOCATE(ale_connectivity%NE_CONNECT%IAD_CONNECT(numnod + 1))
439 CALL read_i_c(ale_connectivity%NE_CONNECT%IAD_CONNECT, numnod + 1)
440 ALLOCATE(ale_connectivity%NE_CONNECT%CONNECTED(ale_connectivity%NE_CONNECT%IAD_CONNECT(numnod + 1)))
441 CALL read_i_c(ale_connectivity%NE_CONNECT%CONNECTED, ale_connectivity%NE_CONNECT%IAD_CONNECT(numnod + 1))
445 multi_fvm%NS_DIFF = .false.
446 IF (ns_diff == 1)
THEN
447 multi_fvm%NS_DIFF = .true.
448 ale_connectivity%HAS_IDGLOB = .true.
449 IF (.NOT.
ALLOCATED(ale_connectivity%IDGLOB%ID))
THEN
450 ALLOCATE(ale_connectivity%IDGLOB%ID(numels + nsvois + numelq + nqvois + numeltg + ntgvois))
452 IF (.NOT.
ALLOCATED(ale_connectivity%IDGLOB%UID))
THEN
453 ALLOCATE(ale_connectivity%IDGLOB%UID(numels + nsvois + numelq + nqvois + numeltg + ntgvois))
455 IF (.NOT.
ALLOCATED(multi_fvm%ELEM_DATA%CENTROID))
THEN
456 ALLOCATE(multi_fvm%ELEM_DATA%CENTROID(3, numels + nsvois + numelq + nqvois + numeltg + ntgvois))
458 IF (.NOT.
ALLOCATED(multi_fvm%FACE_DATA%CENTROID))
THEN
459 ALLOCATE(multi_fvm%FACE_DATA%CENTROID(3, 6, numels + nsvois + numelq + nqvois + numeltg + ntgvois))
461 IF (.NOT.
ALLOCATED(multi_fvm%VOL))
THEN
462 ALLOCATE(multi_fvm%VOL(numels + nsvois + numelq + nqvois + numeltg + ntgvois))
464 CALL read_i_c(ale_connectivity%IDGLOB%ID, numels + nsvois + numelq + nqvois + numeltg + ntgvois)
465 CALL read_i_c(ale_connectivity%IDGLOB%UID, numels + nsvois + numelq + nqvois + numeltg
515 IF (nintloadp>0)
THEN
533 ebcs_tab%nebcs = int0
534 ebcs_tab%nebcs_fvm = int1
535 ebcs_tab%nebcs_parallel = int2
536 ebcs_tab%nebcs_loc = int3
539 ALLOCATE(integer_data(int0))
540 CALL ebcs_tab%read_type_data(int0, integer_data)
541 ALLOCATE(ebcs_tab%my_typ(int0))
542 ALLOCATE(ebcs_tab%need_to_compute(int0))
544 ebcs_tab%my_typ(1:int0) = integer_data(1:int0)
550 ebcs_tab%need_to_compute(ii) = .false.
552 is_ebcs_parallel = .false.
553 IF(ebcs_tab%my_typ(ii) == 10 .or. ebcs_tab%my_typ(ii) == 11)is_ebcs_parallel = .true.
554 IF(is_ebcs_parallel) ebcs_tab%need_to_compute(ii) = .true.
556 ebcs_tab%need_to_compute(ii) = .true.
561 CALL ebcs_tab%create_from_types(int1 + int2 + int3 , integer_data(1:int1 + int2 + int3 ))
564 IF (int1 + int2 + int3 > 0)
THEN
565 DO ii = 1, int1 + int2 + int3
566 CALL ebcs_tab%tab(ii)%poly%read_common_data()
567 CALL ebcs_tab%tab(ii)%poly%read_data()
571 ALLOCATE( ebcs_parithon(ebcs_tab%nebcs) )
602 CALL read_i_c(rbe3%IRBE3,rbe3%nrbe3*irbe3_variables)
604 CALL get_nrbe3pen_l(rbe3%nrbe3,irbe3_variables,rbe3%IRBE3,nrbe3pen_l)
606 CALL read_i_c(rbe3%LRBE3,rbe3%lrbe3_sz)
627 CALL read_i_c(rwall%NPRW,rwall%NNPRW*rwall%NRWALL)
629 CALL read_i_c(rwall%LPRW,rwall%SZ_LPRW)
671 t_monvol(ii)%NB_FILL_TRI = ntri(ii)
672 IF (ntri(ii) > 0)
THEN
673 ALLOCATE(t_monvol(ii)%FILL_TRI(3 * ntri(ii)))
674 CALL read_i_c(t_monvol(ii)%FILL_TRI(1:3 * ntri(ii)), 3
685 CALL thsurf_read_restart(output%TH%TH_SURF)
689 CALL read_i_c(nodes%BOUNDARY_ADD,siad_elem)
705 CALL read_i_c(rbe3%mpi%IAD_RBE3,nspmd+1)
715 CALL read_i_c(nodes%BOUNDARY,sfr_elem)
719 CALL read_i_c(rwall%FR_WALL,sfr_wall)
735 CALL read_i_c(rbe3%mpi%FR_RBE3,rbe3%mpi%fr_rbe3_sz)
737 CALL read_i_c(rbe3%mpi%FR_RBE3MP,rbe3%mpi%fr_rbe3_sz)
765 CALL read_i_c(interfaces%SPMD_ARRAYS%FR_EDG,2*nbddedgt)
767 CALL read_i_c(interfaces%SPMD_ARRAYS%IAD_FREDG,(nspmd+1)*ninter25
818 nodes%WEIGHT_MD = nodes%WEIGHT
834 CALL read_i_c(element%PON%ADSKY,numnod+1)
836 CALL read_i_c(element%PON%PROCNE,lcne0)
849 CALL read_i_c(element%PON%IADS ,
SIZE(element%PON%IADS))
850 CALL read_i_c(element%PON%IADS10 ,
SIZE(element%PON%IADS10 ))
851 CALL read_i_c(element%PON%IADS20 ,
SIZE(element%PON%IADS20 ))
852 CALL read_i_c(element%PON%IADS16 ,
SIZE(element%PON%IADS16 ))
853 CALL read_i_c(element%PON%IADQ ,
SIZE(element%PON%IADQ ))
854 CALL read_i_c(element%PON%IADC ,
SIZE(element%PON%IADC ))
855 CALL read_i_c(element%PON%IAD_TRUSS ,
SIZE(element%PON%IAD_TRUSS))
856 CALL read_i_c(element%PON%IAD_BEAM ,
SIZE(element%PON%IAD_BEAM ))
857 CALL read_i_c(element%PON%IAD_SPRING ,
SIZE(element%PON%IAD_SPRING ))
858 CALL read_i_c(element%PON%IAD_TG ,
SIZE(element%PON%IAD_TG ))
859 CALL read_i_c(element%PON%IAD_TG6 ,
SIZE(element%PON%IAD_TG6 ))
860 CALL read_i_c(element%PON%IAD_MV ,
SIZE(element%PON%IAD_MV ))
861 CALL read_i_c(element%PON%IAD_CONLD ,
SIZE(element%PON%IAD_CONLD))
862 CALL read_i_c(element%PON%IAD_CONV ,
SIZE(element%PON%IAD_CONV))
863 CALL read_i_c(element%PON%IAD_RADIA ,
SIZE(element%PON%IAD_RADIA))
864 CALL read_i_c(element%PON%IAD_LOADP ,
SIZE(element%PON%IAD_LOADP))
865 CALL read_i_c(element%PON%IAD_FXFLUX ,
SIZE(element%PON%IAD_FXFLUX))
889 IF(iplyxfem > 0)
THEN
898 IF (icrack3d > 0)
THEN
906 ELSEIF(ipari0==1)
THEN
908 len = numnod+1+lcne0+(numnod+1)*
min(1,i2nsnt)+lcni2
909 + + nisky0+nskyrw0+nskyrbk0+niskyi2+nskymv0+nskymvc0
910 + + nskyll0+nskyrbm0+nskyi18+nskyrbe30+nskyrbmk0
912 IF(ns10e>0) len = len +saddcncnd+sprocncnd+siadcnd
913 IF(iplyxfem > 0)len = len + lcnepxfem + 4*eplyxfe+ nplyxfe+1
922 IF(ebcs_tab%nebcs_parallel > 0)
THEN
923 DO i=1,ebcs_tab%nebcs
924 is_ebcs_parallel = .false.
925 IF(ebcs_tab%my_typ(i)==10 .OR. ebcs_tab%my_typ(i)==11)is_ebcs_parallel = .true.
926 IF(is_ebcs_parallel)
THEN
927 my_size = ebcs_tab%tab(i)%poly%nb_elem
928 ALLOCATE(ebcs_parithon(i)%ELEM_ADRESS(4,my_size))
929 CALL read_i_c(ebcs_parithon(i)%ELEM_ADRESS,4*my_size)
956 . glob_therm%IDT_THERM,glob_therm%INTHEAT)
963 IF(nintstamp /= 0)
THEN
969 IF(ninterfric /= 0)
THEN
970 CALL intfric_rresti(interfaces%INTBUF_FRIC_TAB,ninterfric)
989 IF (pblast%NLOADP_B>0)
THEN
990 CALL pblast_load(pblast)
991 CALL pblast_init_tables(pblast%PBLAST_DATA)
994 IF (loads%NLOAD_CYL > 0)
THEN
1022 IF(bcs%NUM_WALL > 0)
THEN
1023 CALL read_bcs_wall()
1030 IF(bcs%NUM_NRF > 0)
THEN
1045 CALL rdcomr(lmxvrea,tabvrea,dynain_data,interfaces%PARAMETERS,
1046 . output,glob_therm)
1078 skew_len = skews%N_SKEW_VAR*skews%TOTAL_SKEW_NUMBER
1079 CALL read_db(skews%SKEW,skew_len)
1101 IF (multi_fvm%IS_USED)
THEN
1102 CALL read_db(multi_fvm%PRES_SHIFT, 1)
1104 CALL read_db(multi_fvm%VEL(1, :), numels)
1105 CALL read_db(multi_fvm%VEL(2, :), numels)
1106 CALL read_db(multi_fvm%VEL(3, :), numels)
1108 CALL read_db(multi_fvm%VEL(1, :), numelq
1109 CALL read_db(multi_fvm%VEL(2, :), numelq + numeltg)
1110 CALL read_db(multi_fvm%VEL(3, :), numelq + numeltg)
1130 CALL read_db(sphveln,ssphveln)
1144 CALL read_db(tab_mat,stab_mat)
1152 CALL read_db(gauge,llgauge*nbgauge
1158 CALL read_db(rbe3%FRBE3,rbe3%frbe3_sz)
1160 CALL read_rrbe3pen(rbe3%PEN,nrbe3pen_l)
1162 CALL read_db(factiv,lractiv*nactiv)
1166 CALL read_db(fr_wave,sfr_wave)
1180 CALL read_db(rwall%RWBUF,rwall%nrwlp*rwall%nrwall)
1182 CALL read_db(rwall%RWSAV,rwall%SZ_RWSAV)
1184 CALL get_nrwallpen_l(rwall%nrwall,rwall%nnprw,rwall%nprw,rwall%nrwall_pen,rwall%pen%lnspen)
1186 CALL read_rrwallpen(rwall%nrwall_pen,rwall%pen,rwall%pen%lnspen)
1202 CALL read_db(rcontact ,srcontact)
1203 CALL read_db(acontact ,srcontact)
1204 CALL read_db(pcontact ,srcontact)
1207 IF(irunn>1.OR.mcheck/=0)
CALL spmd_initfi(
ipari,2,h3d_data,interfaces%PARAMETERS,
1208 . glob_therm%IDT_THERM,glob_therm%INTHEAT)
1216 IF (iresmd==0.AND.npsav>=25)
THEN
1217 CALL read_db(partsav,npsav*npart)
1220 IF(nnoise>0.AND. (irunn>1 .OR. mcheck/=0))
THEN
1223 CALL read_db(af(mf01),sfnoise)
1226 IF (iresp == 1)
THEN
1227 IF (irxdp == 1)
THEN
1231 CALL fillxdp(nodes%X,nodes%XDP,nodes%D,nodes%DDP)
1239 ALLOCATE(xdpdum(3*numnod))
1254 IF(mod(irform,5)>=2.AND.mod(irform,5)<=4)
THEN
1269 ALLOCATE(ibid(my_ilen),stat=istat)
1271 CALL ancmsg(msgid=20,anmode=aninfo)
1274 ALLOCATE(rbid(my_rlen),stat=istat)
1276 CALL ancmsg(msgid=20,anmode=aninfo)
1283 IF(nadmesh /= 0 .OR. irest_mselt /= 0)
THEN
1291 IF(irest_mselt /= 0)
THEN
1298 IF(nadmesh /= 0)
THEN
1299 CALL read_db(padmesh,kpadmesh*npart)
1300 IF(glob_therm%ITHERM_FE > 0)
THEN
1313 IF(istatcnd /= 0)
THEN
1318 IF(nintstamp /= 0)
THEN
1321 IF(nintskidold > 0)
THEN
1322 IF(nintstamp/=0)
THEN
1323 CALL read_db(pskids, nintskidold*numnodg)
1325 CALL read_db(pskids, nintskidold*numnod)
1329 IF(nintstamp/=0.AND.nspmd > 1 )
THEN
1330 IF(ispmd == 0)
CALL read_db(fcont_max, 3*numnodg)
1332 CALL read_db(fcont_max, 3*numnod)
1340 CALL read_db(fcont2_max, 3*numnod)
1343 CALL read_db(fncont2_max, 3*numnod)
1344 CALL read_db(ftcont2_max, 3*numnod)
1348 CALL read_db(fcont2_min, 3*numnod)
1351 CALL read_db(fncont2_min, 3*numnod)
1352 CALL read_db(ftcont2_min, 3*numnod)
1353 CALL read_db(npcont2_min, 3*numnod)
1356 IF(output%DATA%S_EFRICINT >0)
THEN
1357 IF(output%DATA%NINEFRIC > 0)
CALL read_db(output%DATA%EFRIC, output%DATA%NINEFRIC*numnod)
1358 IF(output%DATA%NINEFRIC_STAMP > 0)
CALL read_db(output%DATA%EFRIC_STAMP, output%DATA%NINEFRIC_STAMP*numnodg)
1360 IF(output%DATA%S_EFRIC >0)
THEN
1361 CALL read_db(output%DATA%EFRICG, numnod)
1362 IF(nintstamp/=0)
CALL read_db(output%DATA%EFRICG_STAMP, numnodg)
1367 IF(ninterfric /= 0)
THEN
1368 CALL intfric_rrestr(interfaces%INTBUF_FRIC_TAB,ninterfric)
1372 CALL read_db(nodes%MS0,numnod)
1374 IF(idtmins_old==1)
THEN
1376 ELSEIF(idtmins_old==2)
THEN
1384 IF(idtmins_old/=0.OR.idtmins_int_old/=0)
THEN
1385 CALL read_db(res_sms,3*numnod)
1387 IF(idtmins_old==2.OR.idtmins_int_old/=0)
THEN
1389 CALL read_db(diag_sms ,numnod)
1391 CALL read_db(dmint2 ,4*i2nsn25)
1393 IF (isms_selec /= 0)
THEN
1416 CALL read_ale_grid()
1481 DO i = 1, nretractor
1523 ALLOCATE (
retractor(i)%TABLE(j)%X(1)%VALUES(npt))
1525 ALLOCATE (
retractor(i)%TABLE(j)%Y%VALUES(npt))
1532 IF (n_anchor_remote > 0)
THEN
1537 IF (n_anchor_remote_send > 0)
THEN
1542 IF ((nslipring_g + nretractor_g >0).AND.(ispmd == 0))
THEN
1543 ALLOCATE(th_slipring(nslipring_g,6))
1544 ALLOCATE(th_retractor(nretractor_g,3))
1568 IF (nconld > 0)
THEN
1569 CALL read_db(dpl0cld,6*nconld)
1570 CALL read_db(vel0cld,6*nconld)
1595 IF (impl_s0>0)
CALL imprrest(impl_s0
1598 IF(glob_therm%ITHERM_FE > 0 )
THEN
1599 CALL thcrrest(nodes%MCP,nodes%TEMP)
1603 IF(nitsche > 0 )
THEN
1614 IF (glob_therm%NUMCONV > 0)
CALL convrrest(
ibcv, fconv ,glob_therm)
1615 IF (glob_therm%NUMRADIA > 0)
CALL radiarrest(
ibcr, fradia,glob_therm)
1620 IF (iplyxfem > 0)
THEN
1632 IF (nintloadp>0)
THEN
1633 CALL read_db(dgaploadint, ninter*nloadp_hyd )
1637 IF (loads%NINIVELT>0)
THEN
1638 ALLOCATE(loads%INIVELT(loads%NINIVELT))
1639 CALL read_inivel(loads%NINIVELT,loads%INIVELT)
1651 IF(srthbuf > 0)
CALL rthbufrest(rthbuf,srthbuf)
1656 IF(numelig3d > 0)
CALL wigerest(wige)
1658 IF(ipart_stack >0)
THEN
1662 IF (ndrape > 0)
THEN
1701#include "implicit_f.inc"
1705#include "com04_c.inc"
1706#include "scr05_c.inc"
1707#include "units_c.inc"
1708#include "fxbcom.inc"
1709#include "chara_c.inc"
1710#include "task_c.inc"
1714 INTEGER LEN_IPM,LEN_MOD, NRECM, NRECS, IRCM, IRCM0, IRCM1,
1715 . IRCS, IRCS0, IRCS1, LREC, I, J, RCLEN,TLEN
1719 CHARACTER(LEN=10) :: CPID
1720 CHARACTER(LEN=6) :: CISPMD
1721 CHARACTER(LEN=4096) :: TMPDIR
1725 len_ipm=nbipm*nfxbody
1726 IF (irform/5<=1)
THEN
1741 IF (irform/5<=1)
THEN
1742 IF (len_mod>0)
CALL redsqr (fxbmod,len_mod,irform
1743 IF (lenglm>0)
CALL redsqr (fxbglm,lenglm,irform
1744 IF (lencp>0)
CALL redsqr (fxbcpm
1745 IF (lencp>0)
CALL redsqr (fxbcps,lencp ,irform)
1746 IF (lenlm>0)
CALL redsqr (fxblm, lenlm ,irform)
1747 IF (lenfls>0)
CALL redsqr (fxbfls,lenfls,irform)
1748 IF (lendls>0)
CALL redsqr (fxbdls,lendls,irform)
1749 CALL redsqr (fxbdep,lenvar,irform)
1750 CALL redsqr (fxbvit,lenvar,irform)
1751 CALL redsqr (fxbacc,lenvar,irform)
1752 CALL redsqr (fxbrpm,lenrpm,irform)
1753 IF (lensig>0)
CALL redsqr (fxbsig,lensig,irform)
1754 IF (lengrvr>0)
CALL redsqr (fxbgrvr,lengrvr,irform
1756 IF (len_mod>0)
CALL read_db(fxbmod,len_mod)
1758 IF (lencp>0)
CALL read_db(fxbcpm,lencp )
1759 IF (lencp>0)
CALL read_db(fxbcps
1760 IF (lenlm>0)
CALL read_db(fxblm, lenlm )
1761 IF (lenfls>0)
CALL read_db(fxbfls,lenfls)
1762 IF (lendls>0)
CALL read_db(fxbdls,lendls)
1767 IF (lensig>0)
CALL read_db(fxbsig,lensig)
1768 IF (lengrvr>0)
CALL read_db(fxbgrvr,lengrvr)
1771 INQUIRE(iolength=rclen) vv
1776 WRITE(cpid,
'(I10.10)') my_pid
1777 WRITE(cispmd,
'(I6.6)') ispmd
1778 ifxm_fn=tmpdir(1:tlen)//
'/'//
'25_'//rootn
'_'//cpid//
'_'//cispmd//
'.tmp'
1779 ifxs_fn=tmpdir(1:tlen)//
'/'//
'26_'//rootn(1:lenrootn)//
'_'//cpid//
'_'//cispmd//
'.tmp'
1783 OPEN(unit=ifxm,file=trim(
ifxm_fn),access=
'DIRECT',recl=rclen)
1784 OPEN(unit=ifxs,file=trim(
ifxs_fn),access=
'DIRECT',recl=rclen
1796 nrecm=nrecm+ircm1-ircm0
1797 nrecs=nrecs+ircs1-ircs0
1805 WRITE(ifxm,rec=ircm) (vv(j),j
1810 WRITE(ifxs,rec=ircs) (vv(j),j=1,lrec)
1839#include "implicit_f.inc"
1843#include "units_c.inc"
1844#include "com04_c.inc"
1845#include "scr05_c.inc"
1846#include "eigcom.inc"
1847#include "chara_c.inc"
1848#include "task_c.inc"
1852 INTEGER NRECM, IRCM, NBN, NBM, LREC, I, J, RCLEN,TLEN
1855 CHARACTER(LEN=10) :: CPID
1856 CHARACTER(LEN=6) :: CISPMD
1857 CHARACTER(LEN=4096) :: TMPDIR
1862 IF (irform/5<=1)
THEN
1872 IF (irform/5<=1)
THEN
1873 CALL redsqr (eigrpm,neig*nerpm,irform)
1875 CALL read_db(eigrpm,neig*nerpm)
1878 INQUIRE(iolength=rclen) vv
1881 WRITE(cpid,
'(I10.10)') my_pid
1882 WRITE(cispmd,
'(I6.6)') ispmd
1885 ieigm_fn=tmpdir(1:tlen)//
'/'//
'27_'//rootn(1:lenrootn)//
'_'//cpid//
'_'//cispmd//
'.tmp'
1887 OPEN(unit=ieigm,file=trim(
ieigm_fn),access=
'DIRECT',recl
1902 WRITE(ieigm,rec=ircm) (vv(j),j=1,lrec)
1926#include "implicit_f.inc"
1930#include "com01_c.inc"
1931#include "scr05_c.inc"
1939 INTEGER I, J, TN(7), N, NDDL, DSNDDL, DSLEN, K, L, NSDEC
1948 IF (irform/5<=1)
THEN
1949 CALL redsqi(tn, n, irform)
1956 graphe(i)%NDDL=dsnddl
1957 graphe(i)%NSUPEL=dslen
1958 graphe(i)%NSLEVEL=tn(3)
1959 graphe(i)%NSDEC=nsdec
1960 graphe(i)%NSVMAX=tn(5)
1961 graphe(i)%IPRI=tn(6)
1962 graphe(i)%NDDL_GLOB=tn(7)
1967 IF (irform/5<=1)
THEN
1968 CALL redsqr(cutfreq, n, irform)
1972 graphe(i)%CUTFREQ=cutfreq
1976 ALLOCATE(graphe(i)%LSDDL(2,dsnddl),
1977 . graphe(i)%LSDDL_INI(2,dsnddl),
1978 . graphe(i)%LSDDL_GLOB(dsnddl),
1979 . graphe(i)%LSDDL_GLOB_INI(dsnddl))
1981 IF (irform/5<=1)
THEN
1982 CALL redsqi(graphe(i)%LSDDL(j,1:dsnddl), dsnddl, irform)
1984 CALL read_i_c(graphe(i)%LSDDL(j,1:dsnddl), dsnddl)
1987 IF (irform/5<=1)
THEN
1988 CALL redsqi(graphe(i)%LSDDL_GLOB, dsnddl, irform)
1990 CALL read_i_c(graphe(i)%LSDDL_GLOB, dsnddl)
1992 graphe(i)%NDDL_INI=graphe(i)%NDDL
1995 graphe(i)%LSDDL_INI(j,k)=graphe(i)%LSDDL(j,k)
1999 graphe(i)%LSDDL_GLOB_INI(j)=graphe(i)%LSDDL_GLOB(j)
2004 ALLOCATE(graphe(i)%DGRAPH(dslen))
2007 IF (irform/5<=1)
THEN
2012 graphe(i)%DGRAPH(j)%NDDL_I=tn(1)
2013 graphe(i)%DGRAPH(j)%NDDL_F=tn(2)
2014 graphe(i)%DGRAPH(j)%NSDMAX=tn(3)
2016 ALLOCATE(graphe(i)%DGRAPH(j)%CHILD(nsdec))
2017 ALLOCATE(graphe(i)%DGRAPH(j)%DDLS(nddl),
2018 . graphe(i)%DGRAPH(j)%DDLS_INI(nddl))
2019 ALLOCATE(graphe(i)%DGRAPH(j)%IFAC(tn(3)+1,tn(2)),
2020 . graphe(i)%DGRAPH(j)%IFACM(tn(2)))
2021 ALLOCATE(graphe(i)%DGRAPH(j)%IFAC_INI(tn(3)+1,tn(2)),
2022 . graphe(i)%DGRAPH(j)%IFACM_INI(tn(2)))
2024 IF (irform/5<=1)
THEN
2025 CALL redsqi(graphe(i)%DGRAPH(j)%CHILD, nsdec, irform)
2026 CALL redsqi(graphe(i)%DGRAPH(j)%DDLS, nddl, irform)
2028 CALL redsqi(graphe(i)%DGRAPH(j)
2029 . %IFAC(1:n,k), n, irform)
2031 CALL redsqi(graphe(i)%DGRAPH(j)%IFACM, tn(2), irform)
2033 CALL read_i_c(graphe(i)%DGRAPH(j)%CHILD, nsdec)
2034 CALL read_i_c(graphe(i)%DGRAPH(j)%DDLS, nddl)
2039 CALL read_i_c(graphe(i)%DGRAPH(j)%IFACM, tn(2))
2041 graphe(i)%DGRAPH(j)%NDDL_I_INI=graphe(i)%DGRAPH(j)%NDDL_I
2042 graphe(i)%DGRAPH(j)%NDDL_F_INI=graphe(i)%DGRAPH(j)%NDDL_F
2044 graphe(i)%DGRAPH(j)%DDLS_INI(k)=
2045 . graphe(i)%DGRAPH(j)%DDLS(k)
2049 graphe(i)%DGRAPH(j)%IFAC_INI(l,k)=
2050 . graphe(i)%DGRAPH(j)%IFAC(l,k)
2052 graphe(i)%DGRAPH(j)%IFACM_INI(k)=
2053 . graphe(i)%DGRAPH(j)%IFACM(k)
2076#include "implicit_f.inc"
2080#include "scr05_c.inc"
2081#include "flowcom.inc"
2095 IF (irform/5<=1)
THEN
2096 CALL redsqi (iflow,liflow,irform)
2103 IF (irform/5<=1)
THEN
2104 CALL redsqr (rflow,lrflow,irform)
2132#include "implicit_f.inc"
2136#include "com01_c.inc"
2137#include "com04_c.inc"
2138#include "impl1_c.inc"
2148 . A(3*NUMNOD),AR(3*)
2150 IF(
ALLOCATED(imp_rr))
DEALLOCATE(imp_rr)
2151 ALLOCATE(imp_rr(nimpr))
2162 IF (iroddl/=0)
CALL read_db(ar,nd)
2166 IF ((idyna+idyna0)>0)
THEN
2167 ALLOCATE(dy_a(3,numnod))
2168 IF (iroddl/=0)
ALLOCATE(dy_ar(3,numnod))
2170 IF (iroddl/=0)
CALL cp_real(nd,ar,dy_ar)
2202#include "implicit_f.inc"
2206#include "com01_c.inc"
2207#include "com04_c.inc"
2208#include "task_c.inc"
2209#include "param_c.inc"
2210#include "tabsiz_c.inc"
2211#include "units_c.inc"
2215 INTEGER,
INTENT(IN) :: MONVOL(SMONVOL)
2219 INTEGER LEN, I, II, KK, TABI(11), NNS, , LENP, NPOLY, LENH, NPOLH,
2220 . LENP_ANIM, NPOLH_ANIM, LENH_ANIM, NNS_ANIM, NN_L, NNA_L,
2221 . NNSA_L, NSA, NELSA, NNI_L, IFV, ID_DT_OPTION, K1, ITYP,
2222 . ID_BAG, ID_BAG_INPUT, N
2223 INTEGER COLOR,KEY, IH3D_FLAG
2276 NULLIFY(
fvspmd(i)%IBUF_L)
2277 NULLIFY(
fvspmd(i)%IBUFA_L)
2278 NULLIFY(
fvspmd(i)%IBUFSA_L)
2280 NULLIFY(
fvspmd(i)%ELEMSA)
2311 fvspmd(i)%NNA_L_GLOB = nna_l
2313 color =
min(1,nn_l+nni_l+nna_l+nnsa_l)
2314 IF(ispmd ==
fvspmd(i)%PMAIN - 1)
THEN
2332 ALLOCATE(
fvspmd(i)%ITAB(4,nspmd-1))
2337 ALLOCATE(
fvspmd(i)%IBUF_L(2,nn_l+nni_l))
2342 ALLOCATE(
fvspmd(i)%IBUFA_L(2,nna_l))
2347 ALLOCATE(
fvspmd(i)%IBUFSA_L(2,nnsa_l))
2354 IF (ispmd/=
fvspmd(i)%PMAIN-1) cycle
2356 ALLOCATE(
fvspmd(i)%IXSA(8,nsa))
2361 ALLOCATE(
fvspmd(i)%ELEMSA(3,nelsa))
2419 .
ALLOCATE(
fvdata_old(i)%IFVPOLY_ANIM(lenp_anim),
2441 IF (npolh_anim>0)
THEN
2476 IF (npolh_anim>0)
THEN
2487 ifv = monvol(k1-1 + 45)
2489 ih3d_flag = monvol(k1-1 + 75)
2490 IF(ih3d_flag==1)
THEN
2512 IF(id_dt_option==1)
THEN
2516 id_bag=monvol(k1-1+1)
2519 ifv = monvol(k1 -1 +45)
2542 IF(id_dt_option == 2)
THEN
2546 IF(id_bag_input > 0)
THEN
2549 id_bag=monvol(k1-1+1)
2551 IF(id_bag == id_bag_input)
THEN
2552 ifv = monvol(k1 -1 +45)
2553 IF (ityp == 8 .OR. ityp == 11)
THEN
2566 CALL ancmsg(msgid=299,anmode=aninfo,i1=id_bag_input)
2583 id_bag=monvol(k1-1+1)
2585 IF (ityp == 6 .OR. ityp == 8 .OR. ityp == 11)
THEN
2586 ifv = monvol(k1 -1 +45)
2614 CALL ancmsg(msgid=302,anmode=aninfo,i1=id_bag)
2622 CALL ancmsg(msgid=303,anmode=aninfo,i1=id_bag)
2647#include "implicit_f.inc"
2651#include "com04_c.inc"
2652#include "scr05_c.inc"
2669 IF (irform/5<=1)
THEN
2670 CALL redsqr (mcp,numnod,irform)
2671 CALL redsqr (temp,numnod,irform)
2692#include "implicit_f.inc"
2696#include "com04_c.inc"
2697#include "scr05_c.inc"
2714 IF (irform/5<=1)
THEN
2715 CALL redsqr (forneqs,3*numnod,irform)
2717 CALL read_db(forneqs,3*numnod)
2742#include "implicit_f.inc"
2746#include "com04_c.inc"
2747#include "scr05_c.inc"
2748#include "param_c.inc"
2754 type () :: GLOB_THERM
2766 IF (irform/5<=1)
THEN
2767 CALL redsqr (fconv,glob_therm%LFACTHER*glob_therm%NUMCONV,irform)
2768 CALL redsqi (ibcv,glob_therm%NICONV*glob_therm%NUMCONV,irform)
2770 CALL read_db(fconv,glob_therm%LFACTHER*glob_therm%NUMCONV)
2771 CALL read_i_c(ibcv,glob_therm%NICONV*glob_therm%NUMCONV)
2795#include "implicit_f.inc"
2799#include "com04_c.inc"
2800#include "scr05_c.inc"
2801#include "param_c.inc"
2806 my_real :: FRADIA(*)
2807 type (glob_therm_) ,
intent(inout) :: GLOB_THERM
2819 IF (irform/5<=1)
THEN
2820 CALL redsqr (fradia,glob_therm%LFACTHER*glob_therm%NUMRADIA,irform)
2821 CALL redsqi (ibcr,glob_therm%NIRADIA*glob_therm%NUMRADIA,irform)
2823 CALL read_db(fradia,glob_therm%LFACTHER*glob_therm%NUMRADIA)
2824 CALL read_i_c(ibcr,glob_therm%NIRADIA*glob_therm%NUMRADIA)
2830!||====================================================================
2848#include "implicit_f.inc"
2852#include "com04_c.inc"
2853#include "scr05_c.inc"
2854#include "param_c.inc"
2859 my_real :: FBFTEMP(*)
2860 type (glob_therm_) ,
intent(inout) :: GLOB_THERM
2872 IF (irform/5<=1)
THEN
2873 CALL redsqr (fbftemp,glob_therm%LFACTHER*glob_therm%NFXTEMP,irform)
2874 CALL redsqi (ibftemp,glob_therm%NIFT*glob_therm%NFXTEMP,irform)
2876 CALL read_db(fbftemp,glob_therm%LFACTHER*glob_therm%NFXTEMP)
2877 CALL read_i_c(ibftemp,glob_therm%NIFT*glob_therm%NFXTEMP)
2897#include "implicit_f.inc"
2901#include "com04_c.inc"
2902#include "scr05_c.inc"
2906 INTEGER IRBYM(*), LNRBYM(*),WEIGHT(*)
2920 IF (irform/5<=1)
THEN
2921 CALL redsqr (rbym,nrbym*nfrbym,irform)
2922 CALL redsqi(irbym,nrbym*nirbym ,irform)
2923 CALL redsqi(lnrbym,ngslnrbym,irform)
2924 CALL redsqi(weight,nrbym,irform)
2926 CALL read_db(rbym,nrbym*nfrbym)
2948#include "implicit_f.inc"
2952#include "com01_c.inc"
2953#include "com04_c.inc"
2954#include "param_c.inc"
2959 . ms_layer(*),zi_layer(*),msz2(*)
2961 . icode(*),iskew(*),inod(*),iel(*)
2973 CALL read_db(ms_layer,nplyxfe*nplymax)
2974 CALL read_db(zi_layer,nplyxfe*nplymax)
2980 IF(iplybcs > 0)
THEN
3002#include
"implicit_f.inc"
3006#include "com01_c.inc"
3007#include "param_c.inc"
3013 (IPLYXFEM == 0) then
3025 ALLOCATE(
plynod(nplymax))
3031 ALLOCATE(
plyshell(k)%SHELLIPT(elsz))
3032 ALLOCATE(
plyshell(k)%SHELLID(elsz))
3040 plynod(k)%PLYNUMNODS=ndsz
3041 ALLOCATE(
plynod(k)%NODES(ndsz))
3042 ALLOCATE(
plynod(k)%PLYNODID(ndsz))
3063!||--- uses -----------------------------------------------------
3065!||====================================================================
3074#include "implicit_f.inc"
3078#include "com04_c.inc"
3079#include "param_c.inc"
3096 CALL read_db(cfield,lfacload*nloadc)
3117#include "implicit_f.inc"
3121#include "com04_c.inc"
3122#include "param_c.inc"
3138 CALL read_db(loadp,lfacload*nloadp)
3154#include "implicit_f.inc"
3158#include "com04_c.inc"
3159#include "com_xfem1.inc"
3163 INTEGER INOD_CRKXFEM(*),IEL_CRKXFEM(*),NODLEVXF(*)
3168 CALL READ_I_C(INOD_CRKXFEM,NUMNOD)
3169 CALL READ_I_C(IEL_CRKXFEM,NUMELC+NUMELTG)
3170 CALL READ_I_C(NODLEVXF,NCRKXFE)
3192#include "implicit_f.inc"
3196#include "com01_c.inc"
3197#include "com04_c.inc"
3198#include "com_xfem1.inc"
3202 INTEGER K,LEN,ELSZ,NENR,ELSZC,ELSZTG,,
3205 IF(ICRACK3D == 0) then
3207 ALLOCATE(crkshell(0))
3209 ALLOCATE(crklvset(0))
3212 ALLOCATE(xfem_phantom(0))
3222 ALLOCATE(crkshell(nlevmax))
3223 ALLOCATE(crknod(nlevmax))
3224 ALLOCATE(crklvset(nlevmax))
3225 ALLOCATE(crkavx(nlevmax))
3226 ALLOCATE(
crksky(nlevmax))
3234 crkshell(k)%CRKNUMSHELL = elsz
3235 crkshell(k)%CRKNUMSH4 = elszc
3236 crkshell(k)%CRKNUMSH3 = elsztg
3238 ALLOCATE(crkshell(k)%CRKSHELLID(elsz))
3239 ALLOCATE(crkshell(k)%ELTYPE(elsz))
3240 CALL read_i_c(crkshell(k)%CRKSHELLID ,elsz)
3241 CALL read_i_c(crkshell(k)%ELTYPE ,elsz)
3244 ALLOCATE(crknod(k)%XFECRKNODID(len))
3245 ALLOCATE(crknod(k)%XFENODES(len))
3246 CALL read_i_c(crknod(k)%XFECRKNODID ,len)
3247 CALL read_i_c(crknod(k)%XFENODES ,len)
3250 ALLOCATE(crkshell(k)%XNODEL(4 ,elsz))
3251 CALL read_i_c(crkshell(k)%XNODEL, len)
3254 ALLOCATE(crklvset(k)%ENR0(2,len))
3255 ALLOCATE(crklvset(k)%AREA(elsz))
3256 CALL read_i_c(crklvset(k)%ENR0(1,1:len) ,len)
3257 CALL read_i_c(crklvset(k)%ENR0(2,1:len) ,len)
3258 CALL read_db (crklvset(k)%AREA ,elsz)
3261 ALLOCATE(crkavx(k)%A(3,len))
3262 ALLOCATE(crkavx(k)%AR(3,len))
3263 ALLOCATE(crkavx(k)%V(3,len))
3264 ALLOCATE(crkavx(k)%VR(3,len))
3265 ALLOCATE(crkavx(k)%X(3,len))
3266 ALLOCATE(crkavx(k)%U(3,len))
3268 CALL read_db(crkavx(k)%A ,len)
3269 CALL read_db(crkavx(k)%AR ,len)
3270 CALL read_db(crkavx(k)%V ,len)
3271 CALL read_db(crkavx(k)%VR ,len)
3272 CALL read_db(crkavx(k)%X ,len)
3273 CALL read_db(crkavx(k)%U ,len)
3275 ALLOCATE(crkavx(k)%XX(3,len))
3276 CALL read_db(crkavx(k)%XX, 3*len)
3278 ALLOCATE(
crksky(k)%FSKY(8,lcnecrkxfem))
3282 ALLOCATE(crknod(k)%NOD2IAD(len))
3283 CALL read_i_c(crknod(k)%NOD2IAD, len)
3285 crknod(k)%CRKNUMNODS = crknumnods
3292 nenr = int(ienrnod/nlevmax)
3293 ALLOCATE(xfem_phantom(nxlaymax))
3295 ALLOCATE(xfem_phantom(k)%ELCUT(elsz))
3296 ALLOCATE(xfem_phantom(k)%IFI(lcnecrkxfem))
3297 ALLOCATE(xfem_phantom(k)%TAGXP(5,ncrkxfe,ienrnod))
3298 ALLOCATE(xfem_phantom(k)%ITRI(2,elsz))
3300 CALL read_i_c(xfem_phantom(k)%ELCUT ,elsz)
3301 CALL read_i_c(xfem_phantom(k)%IFI ,lcnecrkxfem)
3302 CALL read_i_c(xfem_phantom(k)%TAGXP ,ncrkxfe*ienrnod*5)
3303 CALL read_i_c(xfem_phantom(k)%ITRI ,elsz
3311 ALLOCATE(
crkedge(k)%LAYCUT(elsz))
3313 ALLOCATE(
crkedge(k)%IEDGETG(3,elsztg))
3314 ALLOCATE(
crkedge(k)%EDGEICRK(numedges))
3315 ALLOCATE(
crkedge(k)%EDGEIFI(2,numedges))
3316 ALLOCATE(
crkedge(k)%EDGEENR(2,numedges))
3317 ALLOCATE(
crkedge(k)%EDGETIP(2,numedges))
3318 ALLOCATE(
crkedge(k)%IBORDEDGE(numedges))
3319 ALLOCATE(
crkedge(k)%ICUTEDGE(numedges))
3320 ALLOCATE(
crkedge(k)%RATIO(numedges))
3339 len = 2*(numelc+numeltg)
3345 len = numnod*ienrnod
3355!||--- called by ------------------------------------------------------
3368#include "implicit_f.inc"
3372#include "param_c.inc"
3378 ALLOCATE(PLY(NPLYMAX))
3380 NULLIFY(ply(k)%V,ply(k)%U )
3381 ALLOCATE(ply(k)%V(3,nplyxfe), ply(k)%U(3,nplyxfe))
3405#include "implicit_f.inc"
3409#include "com04_c.inc"
3415 ALLOCATE (VFLOW(3*NUMNOD), DFLOW(3*NUMNOD),WFLOW(3*NUMNOD))
3429!||--- uses -----------------------------------------------------
3440#include "implicit_f.inc"
3466!||--- called by ------------------------------------------------------
3470!||--- uses -----------------------------------------------------
3481#include "implicit_f.inc"
3485#include "tabsiz_c.inc"
3522#include "implicit_f.inc"
3526#include "tabsiz_c.inc"
3542 CALL read_db(knotlocpc,sknotlocpc)
3546!||====================================================================
3563#include "implicit_f.inc"
3567#include "tabsiz_c.inc"
3582 CALL read_db(knotlocel,sknotlocel)
3603#include "implicit_f.inc"
3607#include "com04_c.inc"
3638#include "implicit_f.inc"
3642#include "param_c.inc"
3647 my_real GEO(*),PM(*)
3654 LSIZ =(4*npt_stack +2)*ns_stack
3656 lsiz =(6*npt_stack + 1)*ns_stack
3678#include "implicit_f.inc"
3682#include "com04_c.inc"
3686 TYPE(
drape_),
DIMENSION(*) :: DRAPE_SH4N,DRAPE_SH3N
3687 TYPE(DRAPEG_) :: DRAPEG
3691 INTEGER LEN,OFF,II,J,IS,NSLICE,NPT,NDIM_INDX_PLY,NDIM,NDIM_SLICE,
3693 my_real,
DIMENSION(:,:),
ALLOCATABLE :: RTMP
3694 my_real,
DIMENSION(:) ,
ALLOCATABLE :: THK
3695 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: ITMP
3696 INTEGER,
DIMENSION(:) ,
ALLOCATABLE :: NPTDRP_ELT,ISLICE,INDX_PLY,
3708 drapeg%NDIM_SH4N = ndim
3709 drapeg%NDIM_SLICE_SH4N = ndim_slice
3710 drapeg%NDIM_INDX_PLY_SH4N = ndim_indx_ply
3712 ALLOCATE(npt_elt(
numelc_drape),itmp(ndim,2),rtmp(ndim,2),
3716 CALL read_i_c(drapeg%INDX_SH4N,numelc)
3720 CALL read_i_c(indx_ply,ndim_indx_ply)
3728 drape_sh4n(ii)%NPLY_DRAPE = nptdrp_elt(ii)
3729 drape_sh4n(ii)%NPLY = npt_elt(ii)
3730 drape_sh4n(ii)%THICK = thk(ii)
3731 npt = drape_sh4n(ii)%NPLY
3732 ALLOCATE(drape_sh4n(ii)%INDX_PLY(npt))
3733 drape_sh4n(ii)%INDX_PLY = 0
3735 drape_sh4n(ii)%INDX_PLY(j)=indx_ply(ndim_indx_ply + j)
3737 ndim_indx_ply = ndim_indx_ply + npt
3738 npt_drape = drape_sh4n
3739 ALLOCATE(drape_sh4n(ii)%DRAPE_PLY(npt_drape))
3741 nslice = islice(ndim_slice + j)
3742 drape_sh4n(ii)%DRAPE_PLY(j)%NSLICE = nslice
3743 ALLOCATE(drape_sh4n(ii)%DRAPE_PLY(j)%IDRAPE(nslice,2),drape_sh4n(ii)%DRAPE_PLY(j)%RDRAPE
3744 drape_sh4n(ii)%DRAPE_PLY(j)%IDRAPE = 0
3745 drape_sh4n(ii)%DRAPE_PLY(j)%RDRAPE = zero
3747 drape_sh4n(ii)%DRAPE_PLY(j)%IDRAPE(is,1) = itmp(ndim + is,1)
3748 drape_sh4n(ii)%DRAPE_PLY(j)%IDRAPE(is,2) = itmp(ndim + is,2)
3749 drape_sh4n(ii)%DRAPE_PLY(j)%RDRAPE(is,1) = rtmp(ndim + is,1)
3750 drape_sh4n(ii)%DRAPE_PLY(j)%RDRAPE(is,2) = rtmp(ndim + is,2)
3752 ndim = ndim + nslice
3754 ndim_slice = ndim_slice + npt_drape
3756 DEALLOCATE(npt_elt,itmp,rtmp,nptdrp_elt,islice,indx_ply, thk)
3765 drapeg%NDIM_SH3N = ndim
3766 drapeg%NDIM_SLICE_SH3N = ndim_slice
3767 drapeg%NDIM_INDX_PLY_SH3N = ndim_indx_ply
3769 . nptdrp_elt(
numeltg_drape),islice(ndim_slice),indx_ply(ndim_indx_ply),
3772 CALL read_i_c(drapeg%INDX_SH3N,numeltg)
3776 CALL read_i_c(indx_ply,ndim_indx_ply)
3784 drape_sh3n(ii)%NPLY_DRAPE = nptdrp_elt(ii)
3785 drape_sh3n(ii)%NPLY = npt_elt(ii)
3786 drape_sh3n(ii)%THICK = thk(ii)
3787 npt = drape_sh3n(ii)%NPLY
3788 ALLOCATE(drape_sh3n(ii)%INDX_PLY(npt))
3789 drape_sh3n(ii)%INDX_PLY = 0
3791 drape_sh3n(ii)%INDX_PLY(j)=indx_ply(ndim_indx_ply + j)
3793 ndim_indx_ply = ndim_indx_ply + npt
3794 npt_drape = drape_sh3n(ii)%NPLY_DRAPE
3795 ALLOCATE(drape_sh3n(ii)%DRAPE_PLY(npt_drape))
3797 nslice = islice(ndim_slice + j)
3798 drape_sh3n(ii)%DRAPE_PLY(j)%NSLICE = nslice
3799 ALLOCATE(drape_sh3n(ii)%DRAPE_PLY(j)%IDRAPE(nslice,2),drape_sh3n(ii)%DRAPE_PLY(j)%RDRAPE(nslice,2))
3800 drape_sh3n(ii)%DRAPE_PLY(j)%IDRAPE = 0
3801 drape_sh3n(ii)%DRAPE_PLY(j)%RDRAPE = zero
3803 drape_sh3n(ii)%DRAPE_PLY(j)%IDRAPE(is,1) = itmp(ndim + is,1)
3804 drape_sh3n(ii)%DRAPE_PLY(j)%IDRAPE(is,2) = itmp(ndim + is,2)
3805 drape_sh3n(ii)%DRAPE_PLY(j)%RDRAPE(is,1) = rtmp(ndim + is,1)
3806 drape_sh3n(ii)%DRAPE_PLY(j)%RDRAPE(is,2) = rtmp(ndim + is,2)
3808 ndim = ndim + nslice
3810 ndim_slice = ndim_slice + npt_drape
3812 DEALLOCATE( npt_elt,itmp,rtmp,nptdrp_elt,islice,indx_ply,thk)
3835#include "implicit_f.inc"
3839#include "com04_c.inc"
3851 CALL READ_I_C(,3*NUMPLY)
subroutine decompress_i_nnz(array, len)
subroutine decompress_r_nnz(array, len)
subroutine fillxdp(x, xdp, d, ddp)
subroutine fxfluxrrest(ibfflux, fbfflux, glob_therm)
subroutine intbuf_ini(intbuf_tab)
type(alefvm_buffer_), target alefvm_buffer
type(alefvm_param_), target alefvm_param
integer, dimension(:), allocatable id_damp_vrel
integer, dimension(:), allocatable fr_damp_vrel
integer, dimension(:), pointer iadcnd
integer, dimension(:), pointer fr_cndm
integer, dimension(:), pointer procncnd
integer, dimension(:), pointer icnds10
integer, dimension(:), pointer addcncnd
integer, dimension(:), pointer iad_cndm
integer, dimension(:), allocatable eigibuf
integer, dimension(:,:), allocatable eigipm
type(fvbag_data), dimension(:), allocatable fvdata_old
integer num_opt_dt_fvmbag_2
type(fvbag_spmd), dimension(:), allocatable fvspmd
integer airbags_total_fvm_in_h3d
type(fvmbag_input_options_), dimension(:), allocatable fvmbag_input_options
integer num_opt_dt_fvmbag_1
integer num_opt_dt_fvmbag
integer num_opt_dt_fvmbag_0
integer, dimension(:), allocatable kmesh
integer, dimension(:,:), allocatable fxbipm
integer, dimension(:), allocatable fxbnod
integer, dimension(:), allocatable fxbelm
integer, dimension(:), allocatable fxbgrvi
type(intstamp_data), dimension(:), allocatable intstamp
type(plynods), dimension(:), allocatable plynod
integer, dimension(:), allocatable indx_ply
integer, dimension(:), allocatable idpid_ply
integer, dimension(:), allocatable plysizg
type(plyshells), dimension(:), allocatable plyshell
integer, dimension(:), allocatable poin_ump
integer, dimension(:), allocatable iconx
integer, dimension(:), allocatable, target igrv
integer, dimension(:), allocatable fr_sec
integer, dimension(:), allocatable iad_rby
integer, dimension(:), allocatable id_global_vois
integer, dimension(:), allocatable fr_nbedge
integer, dimension(:), allocatable iadrbmk
integer, dimension(:), allocatable fr_mad
integer, dimension(:), allocatable ibcv
integer, dimension(:), allocatable lagbuf
integer, dimension(:), allocatable ixx
integer, dimension(:), allocatable, target lpby
integer, dimension(:), allocatable fr_rl
integer, dimension(:), allocatable, target ixs
integer, dimension(:), allocatable iad_rbym2
integer, dimension(:), allocatable iad_i2m
integer, dimension(:), allocatable iad_cut
integer, dimension(:), allocatable lgrav
integer, dimension(:), allocatable, target npby
integer, dimension(:), allocatable kxig3d
integer, dimension(:), allocatable iadmv3
integer, dimension(:), allocatable face_vois
integer, dimension(:), pointer iframe
integer, dimension(:), pointer madfail
integer, dimension(:), allocatable lesdvois
integer, dimension(:), allocatable lnrcvois
integer, dimension(:), allocatable nodenr
integer, dimension(:), allocatable nativ0_sms
integer, dimension(:), allocatable newfront
integer, dimension(:), allocatable iadc_crkxfem
integer, dimension(:), allocatable nodpor
integer, dimension(:), allocatable ilink
integer, dimension(:), allocatable llink
integer, dimension(:), allocatable madclnod
integer, dimension(:,:), allocatable ipadmesh
integer, dimension(:), allocatable lbvel
integer, dimension(:), allocatable lprtsph
integer, dimension(:), allocatable nbsdvois
integer, dimension(:), allocatable lnodpor
integer, dimension(:), allocatable ibcr
integer, dimension(:), allocatable ne_nercvois
integer, dimension(:), allocatable iadmv2
integer, dimension(:), allocatable neflsw
integer, dimension(:), allocatable ixig3d
integer, dimension(:), allocatable linale
type(cluster_), dimension(:), allocatable cluster
integer, dimension(:), allocatable iactiv
integer, dimension(:), allocatable crknodiad
integer, dimension(:), allocatable ne_lercvois
integer, dimension(:), allocatable ibcslag
integer, dimension(:), allocatable ibufssg_io
integer, dimension(:,:), allocatable sh4tree
integer, dimension(:), allocatable fr_lagf
integer, dimension(:), allocatable ispsym
integer, dimension(:), allocatable sh4trim
integer, dimension(:), allocatable addcsrect
integer, dimension(:), allocatable ipm
integer, dimension(:), allocatable, target ipart
integer, dimension(:), allocatable iadwal
integer, dimension(:), allocatable fr_nor
integer, dimension(:), allocatable isphio
integer, dimension(:), allocatable fr_i18
integer, dimension(:), allocatable, target ipari
integer, dimension(:), allocatable fr_rbym2
integer, dimension(:), allocatable igaup
integer, dimension(:), allocatable iad_rbm
integer, dimension(:), allocatable iskew_ply
integer, dimension(:), allocatable nnflsw
integer, dimension(:), allocatable nercvois
type(failwave_str_) failwave
integer, dimension(:), allocatable ispcond
integer, dimension(:), allocatable ibordnode
integer, dimension(:), allocatable sh3trim
integer, dimension(:), allocatable iadrbk
integer, dimension(:), allocatable iecran
integer, dimension(:), allocatable, target iedgesh
integer, dimension(:), allocatable fr_i2m
integer, dimension(:), allocatable ixt
integer, dimension(:), allocatable lnlink
integer, dimension(:), allocatable ibftemp
integer, dimension(:), allocatable ibfv
integer, dimension(:), allocatable iaccp
integer, dimension(:), allocatable, target iel_crkxfem
integer, dimension(:), allocatable iadi18
integer, dimension(:), allocatable lsegcom
integer, dimension(:), allocatable iskwp_l
integer, dimension(:), allocatable inod_pxfem
integer, dimension(:), allocatable dd_r2r_elem
integer, dimension(:), allocatable kloadpinter
integer, dimension(:), allocatable ixr
integer, dimension(:,:), allocatable sh3tree
integer, dimension(:), allocatable lonfsph
integer, dimension(:), pointer madnod
integer, dimension(:), allocatable madidx
integer, dimension(:), allocatable iexlnk
integer, dimension(:), allocatable, target ixtg
integer, dimension(:), pointer lpbyl
integer, dimension(:), allocatable nnlink
integer, dimension(:), allocatable, target ibcl
integer, dimension(:), allocatable adsky_crkxfem
integer, dimension(:), pointer madprt
integer, dimension(:), allocatable fr_rbym
integer, dimension(:), allocatable monvol
integer, dimension(:), allocatable ifill
integer, dimension(:), allocatable kxfenod2elc
integer, dimension(:), allocatable iskwp
integer, dimension(:), allocatable isensp
integer, dimension(:), allocatable fr_rbe2
integer, dimension(:), allocatable irbe2
integer, dimension(:), allocatable inod_crkxfem
integer, dimension(:), allocatable nporgeo
integer, dimension(:), allocatable procne_crkxfem
integer, dimension(:), allocatable fr_rbm2
integer, dimension(:), allocatable kxsp
integer, dimension(:), allocatable neth
integer, dimension(:), allocatable enrtag
integer, dimension(:), allocatable nodlevxf
integer, dimension(:), allocatable loadpinter
integer, dimension(:), allocatable elcutc
integer, dimension(:), allocatable fr_ll
integer, dimension(:), allocatable iad_sec
integer, dimension(:), allocatable nsensp
integer, dimension(:), allocatable dd_iad
integer, dimension(:), allocatable gjbufi
integer, dimension(:), pointer madsh3
integer, dimension(:), allocatable icut
integer, dimension(:), allocatable fr_cj
integer, dimension(:), allocatable, target iskwn
integer, dimension(:), allocatable nesdvois
integer, dimension(:), allocatable cne_crkxfem
integer, dimension(:), allocatable, target iloadp
integer, dimension(:), allocatable iadcj
integer, dimension(:), allocatable ngaup
integer, dimension(:), allocatable lnrbym
integer, dimension(:), allocatable nod2sp
integer, dimension(:), allocatable adsky_pxfem
integer, dimension(:), allocatable nodglobxfe
integer, dimension(:), allocatable weight_rm
integer, dimension(:), allocatable ixp
integer, dimension(:), allocatable laccelm
integer, dimension(:), allocatable, target nom_opt
integer, dimension(:), allocatable iad_rbe2
double precision, dimension(:), allocatable bufgeo
integer, dimension(:), pointer madsol
integer, dimension(:), allocatable fasolfr
integer, dimension(:), allocatable iadi2
integer, dimension(:), allocatable, target npc
integer, dimension(:), allocatable igeo
integer, dimension(:), allocatable, target ibmpc
integer, dimension(:), allocatable ixtg1
integer, dimension(:), allocatable fr_mv
integer, dimension(:), allocatable ims
integer, dimension(:), allocatable fr_edge
integer, dimension(:), allocatable lercvois
integer, dimension(:), allocatable iadrl
integer, dimension(:), allocatable addcni2
integer, dimension(:), allocatable lbcscyc
integer, dimension(:), allocatable fr_rby2
integer, dimension(:), allocatable iad_frnor
integer, dimension(:), allocatable iadc_pxfem
integer, dimension(:), allocatable ne_lesdvois
integer, dimension(:), allocatable ibvel
integer, dimension(:), allocatable iadrbm
integer, dimension(:), allocatable lrivet
integer, dimension(:), pointer npbyl
integer, dimension(:), allocatable iad_edge
integer, dimension(:), allocatable, target icfield
integer, dimension(:), allocatable lgauge
integer, dimension(:), allocatable nstrf
integer, dimension(:), allocatable ibcscyc
integer, dimension(:), allocatable procnor
integer, dimension(:), allocatable tag_skins6
integer, dimension(:), allocatable fr_rby
integer, dimension(:), allocatable iad_rbm2
integer, dimension(:), allocatable irbym
integer, dimension(:,:), allocatable ixsp
integer, dimension(:), pointer madsh4
integer, dimension(:), allocatable iparg
integer, dimension(:), allocatable ixq
integer, dimension(:), allocatable iedge
integer, dimension(:), allocatable ibfflux
integer, dimension(:), allocatable nodedge
integer, dimension(:), allocatable ilas
integer, dimension(:), allocatable iad_rby2
integer, dimension(:), allocatable icode_ply
integer, dimension(:), allocatable lloadp
integer, dimension(:), allocatable fr_cut
integer, dimension(:), allocatable segquadfr
integer, dimension(:), allocatable procni2
integer, dimension(:), allocatable lcfield
integer, dimension(:), allocatable kxx
integer, dimension(:), allocatable nskwp
integer, dimension(:), allocatable ne_nesdvois
integer, dimension(:), allocatable iad_rbym
integer, dimension(:), allocatable nom_sect
integer, dimension(:), allocatable npsegcom
type(nlocal_str_) nloc_dmg
integer, dimension(:), allocatable rg_cut
integer, dimension(:), allocatable iel_pxfem
integer, dimension(:), allocatable lrbe2
integer, dimension(:), allocatable fr_rbm
integer, dimension(:), allocatable llagf
integer, dimension(:), allocatable nbrcvois
integer, dimension(:), allocatable lnsdvois
integer, dimension(:,:), allocatable tab_ump
integer, dimension(:), allocatable naccp
integer, dimension(:), allocatable procne_pxfem
integer, dimension(:), allocatable ithvar
integer, dimension(:), allocatable dd_r2r
integer, dimension(:), allocatable iadll
integer, dimension(:), allocatable icontact
integer, dimension(:), allocatable ipart_state
character(len=10192) ifxm_fn
character(len=10192) ieigm_fn
character(len=10192) ifxs_fn
integer nseatbelt_th_proc
type(retractor_struct), dimension(:), allocatable retractor
type(seatbelt_remote_nodes_struct) anchor_remote_send
type(seatbelt_remote_nodes_struct) anchor_remote
type(seatbelt_th_exch_struct), dimension(:), allocatable seatbelt_th_exch
type(slipring_struct), dimension(:), allocatable slipring
integer, dimension(:), allocatable sph2sol
integer, dimension(:), allocatable irst
integer, dimension(:), allocatable sol2sph_typ
integer, dimension(:), allocatable sol2sph
integer, dimension(:,:), allocatable ply_info
type(ttable), dimension(:), allocatable table
type(time_type) global_comp_time
type(xfem_sky_), dimension(:), allocatable crksky
integer, dimension(:,:), allocatable xedge4n
integer, dimension(:), allocatable indx_crk
type(xfem_edge_), dimension(:), allocatable crkedge
integer, dimension(:,:), allocatable xedge3n
subroutine cp_real(n, x, xc)
subroutine r_bufbric_22()
subroutine rdcomr(lmxvrea, tabvrea, dynain_data, inter_parameters, output, glob_therm)
subroutine alelag_rrest()
subroutine plyxfem_ravuply()
subroutine thcrrest(mcp, temp)
subroutine imprrest(nimpr)
subroutine drape_rrest(drape_sh4n, drape_sh3n, drapeg)
subroutine rthbufrest(rthbuf, srthbuf)
subroutine knotlocpcrest(knotlocpc)
subroutine cfieldrest(cfield)
subroutine knotlocelrest(knotlocel)
subroutine stack_rrest(igeo, geo, pm)
subroutine fvrrest(monvol)
subroutine loadprest(loadp)
subroutine dsrrest(graphe)
subroutine knotrest(knot)
subroutine nitscherrest(forneqs)
subroutine wigerest(wige)
subroutine fxtemprrest(ibftemp, fbftemp, glob_therm)
subroutine ply_info_rest(ply_info)
subroutine rmatrrest(rbym, irbym, lnrbym, weight)
subroutine rdresb(af, iaf, lvarrea, irunn, multi_fvm, h3d_data, pinch_data, ale_connectivity, t_monvol, sensors, ebcs_tab, dynain_data, user_windows, output, interfaces, loads, mat_elem, python, iflow, skews, rflow, liflow, lrflow, impl_s0, forneqs, unitab, stack, drape_sh4n, drape_sh3n, drapeg, ndrape, glob_therm, pblast, element, nodes, rbe3, rwall)
subroutine convrrest(ibcv, fconv, glob_therm)
subroutine plyxfem_rrestanim()
subroutine plyxfem_rrest(ms_layer, zi_layer, inod, iel, icode, iskew, msz2)
subroutine nfrrest(iflow, rflow)
subroutine crkxfem_rrest(inod_crkxfem, iel_crkxfem, nodlevxf)
subroutine crkxfem_rrestanim()
subroutine radiarrest(ibcr, fradia, glob_therm)
subroutine read_cluster(cluster)
subroutine read_dpdb(a, n)
subroutine read_elgroup_param(mat_elem)
subroutine read_failwave(failwave)
subroutine read_matparam(mat_elem)
subroutine read_nloc_struct(nloc_dmg)
subroutine read_pcyl(loads)
subroutine read_sensors(sensors, python)
subroutine read_th_restart(th)
subroutine redsqi(ia, l, iform)
subroutine redsqr(a, l, iform)
subroutine spmd_comm_split(color, key, subcomm, rank, size_l)
subroutine spmd_fvb_comm_pattern(ifv)
subroutine elbuf_ini(elbuf_tab, mat_param, mlaw_tag, prop_tag, fail_tag, igeo, ipm, iparg, ipart, ipartsp, ixs, ixq, ixc, ixtg, flag_xfem, ipartig3d, stack, igeo_stack, ixt, ixp, ixr, kxx, geo, eos_tag, istr_24, print_flag, defaults)
subroutine group_ini(igrnod, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart)
subroutine subset_ini(subset)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
void tmpenvf(char *tmpdir, int *tmplen)
subroutine userwi_read(user_windows, ispmd, nspmd, numnod)
void read_i_c(int *w, int *len)
subroutine read_units(unitab)