35 . ,NB ,COMM_INT, COMM_REAL, COMM_SIZ
36 . ,MODE ,NIN, COMM_PATTERN)
46 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
47#include "implicit_f.inc"
61 INTEGER,
INTENT(IN) :: MODE
68 INTEGER,
INTENT(IN) :: NIN
69 INTEGER,
INTENT(IN) :: RSIZ,ISIZ
71 INTEGER,
INTENT(INOUT) :: NB(NSPMD,NINTER25)
73 INTEGER,
INTENT(IN) :: COMM_PATTERN(NSPMD,NINTER25)
79 TYPE(MPI_COMM_STRUCT):: COMM_REAL
84 TYPE(int_pointer) ,
DIMENSION(NSPMD,NINTER25) :: IBUF
92 INTEGER MSGOFF1,MSGOFF2,MSGOFF3
101 INTEGER STATUS (MPI_STATUS_SIZE)
108 IF(p /= loc_proc .AND. comm_pattern(p,nin) == 1)
THEN
110 comm_siz%SIZ(p,nin) = 1
111 comm_siz%TAG(p,nin) = msgtyp
113 1 nb(p,nin),1,mpi_integer,it_spmd(p),msgtyp,
114 2 spmd_comm_world,comm_siz%SEND_RQ(p,nin),ierror)
116 comm_siz%SEND_RQ(p,nin) = mpi_request_null
119 ELSE IF(mode == 1)
THEN
122 IF(p /= loc_proc .AND. comm_pattern(p,nin) == 1)
THEN
123 IF(nb(p,nin) > 0)
THEN
124 length = nb(p,nin)*rsiz
126 comm_real%SIZ(p,nin) = length
130 1 rbuf(p,nin)%P(1),length,real,it_spmd(p),msgtyp,
131 2 spmd_comm_world,comm_real%SEND_RQ(p,nin),ierror)
134 length = nb(p,nin) * isiz
135 comm_int%SIZ(p,nin) = length
136 comm_int%TAG(p,nin) = msgtyp
138 1 ibuf(p,nin)%P(1),length,mpi_integer,it_spmd(p),msgtyp,
139 2 spmd_comm_world,comm_int%SEND_RQ
141 comm_int%SEND_RQ(p,nin) = mpi_request_null
142 comm_real%SEND_RQ(p,nin) = mpi_request_null
149 IF( p/=loc_proc .AND. comm_pattern(p,nin) == 1)
THEN
151 comm_real%SIZ(p,nin) = 1
154 1 nb(p,nin),1,mpi_integer,it_spmd(p),msgtyp,
155 2 spmd_comm_world,comm_siz%RECV_RQ(p,nin),ierror)
157 comm_siz%RECV_RQ(p,nin) = mpi_request_null
161 ELSEIF(mode == 3)
THEN
165 comm_real%SIZ(p,nin) = 0
166 comm_int%SIZ(p,nin) = 0
167 IF(p/= loc_proc .AND. comm_pattern(p,nin) == 1) nbcom = nbcom + 1
173 CALL mpi_waitany(nspmd,comm_siz%RECV_RQ(1:nspmd,nin),p,status,ierror)
175 IF(nb(p,nin) > 0)
THEN
176 length = nb(p,nin)*rsiz
178 comm_real%SIZ(p,nin) = nb(p,nin)
179 ALLOCATE(rbuf(p,nin)%P(length))
180 rbuf(p,nin)%P(1:length) = 0
183 1 rbuf(p,nin)%P(1),length,real,it_spmd(p),msgtyp,
184 2 spmd_comm_world,status,ierror)
186 length = nb(p,nin)*isiz
188 comm_int%SIZ(p,nin) = nb(p,nin)
190 ALLOCATE(ibuf(p,nin)%P(length))
191 ibuf(p,nin)%P(1:length) = 0
194 1 ibuf(p,nin)%P(1),length,mpi_integer,it_spmd(p),msgtyp,
195 2 spmd_comm_world,status,ierror)
200 ELSEIF(mode == 4)
THEN
203 IF(nb(p,nin) > 0 .AND. comm_pattern(p,nin) == 1)
THEN
204 DEALLOCATE(ibuf(p,nin)%P)
205 DEALLOCATE(rbuf(p,nin)%P)
208 ELSEIF(mode == 5)
THEN
212 CALL mpi_wait(comm_siz%SEND_RQ(p,nin),status,ierror)
214 IF(nb(p,nin) > 0 .AND. comm_pattern(p,nin) == 1)
THEN
215 CALL mpi_wait(comm_int%SEND_RQ(p,nin),status,ierror)
216 DEALLOCATE(ibuf(p,nin)%P)
217 CALL mpi_wait(comm_real%SEND_RQ(p,nin),status,ierror)
218 DEALLOCATE(rbuf(p,nin)%P)
248 2 IGAP ,NSNR ,INTTH ,ILEV,INTBUF_TAB,
249 3 FR_NOR, IAD_FRNOR, NB_SLID ,ITAB, H3D_DATA,
250 4 INTFRIC,FLAGREMN , LREMNORMAX,NRTM,IVIS2 ,
251 5 ISTIF_MSDT,IFSUB_CAREA,NODADT_THERM)
351 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
352#include "implicit_f.inc"
356#include "com01_c.inc"
357#include "com04_c.inc"
364 TYPE(intbuf_struct_) :: INTBUF_TAB
365 INTEGER,
INTENT(IN) :: NIN, NI25, NSN, IGAP, INTTH,ILEV,INTFRIC,FLAGREMN,
366 . LREMNORMAX, NRTM, ,
369 INTEGER,
INTENT(INOUT) :: NSNR
370 INTEGER,
INTENT(IN) :: NODADT_THERM
371 INTEGER,
INTENT(IN) :: ISTIF_MSDT,IFSUB_CAREA
372 INTEGER (NINTER25,NSPMD+1),FR_NOR(*)
373 TYPE(H3D_DATABASE) :: H3D_DATA
378 INTEGER NSNR_OLD,NSNR_NEW,NODFI,NNP,LSKYFI,
379 . nod, loc_proc, i, n, nn, p, ideb, j, k,l,jj, i_stok, ix, ii
381 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX
382 INTEGER NN2,RSHIFT,ISHIFT, IOLDNSNFI, ND, JDEB, Q
383 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IAUX,IAUX_LOCAL,,IAUX_K,IAUX_L
387 INTEGER PNEW,POLD,,ID_NEW
388 INTEGER SNEW,SOLD,PMAIN,NB_SLID_TOT
390 .
DIMENSION(:),
ALLOCATABLE :: penefi_old, stiffi_old
391 INTEGER ,N_NEW_SECND,UID
393 TYPE(int_pointer) ,
DIMENSION(NSPMD) :: INDX_FOR_P,
394 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: PERMUTATIONS, PROC_ORIG
395 INTEGER SINDEX(NSPMD), SIZE_PERM_MAX, PROC_FROM
397 INTEGER PLOCAL, NBLOCAL, PM, KK, , KI, LL, SIZREMNORFI, SIZ, NE
398 INTEGER,
DIMENSION(:),
ALLOCATABLE :: REMNOR_FI_TMP
413 nodfi = nodfi +
nsnfi(nin)%P(p) + nb_slid(p)
414 nb_slid_tot = nb_slid_tot + nb_slid(p)
415 nsnr_tot = nsnr_tot +
nsnfi(nin)%P(p)
417 ALLOCATE(proc_orig(nb_slid_tot))
420 proc_orig(ideb+1:ideb+nb_slid(p)) = p
421 ideb = ideb + nb_slid(p)
425 ALLOCATE(index(nsnr_tot))
426 index(1:nsnr_tot) = 0
427 CALL reallocate_fi1(nodfi,tmp,nin,intth,igap,ilev,intfric,flagremn,ivis2,istif_msdt,ifsub_carea)
428 nsnfi(nin)%P(1:nspmd) = tmp%NSNFI%P(1:nspmd)
446 nullify(indx_for_p(p)%P)
447 nullify(uid_for_p(p)%P)
448 ALLOCATE(indx_for_p(p)%P(
max(nb_slid_tot,1)))
449 ALLOCATE(uid_for_p(p)%P(
max(1,nb_slid_tot)))
450 indx_for_p(p)%P(1:nb_slid_tot) = 0
451 uid_for_p(p)%P(1:nb_slid_tot) = 0
459 sindex(p) = sindex(p) + 1
461 indx_for_p(p)%P(sindex(p)) = i
462 uid_for_p(p)%P(sindex(p)) = uid
467 size_perm_max =
max(size_perm_max,sindex(p))
470 ALLOCATE(permutations(2*size_perm_max))
471 IF(flagremn == 2 )
THEN
472 ALLOCATE(remnor_fi_tmp(nodfi*lremnormax))
479 nsnr_old =
nsnfi(nin)%P(p)
481 nsnfi(nin)%P(p) = nsnr_new + nsnr_old
483 IF(nsnr_old + nsnr_new > 0)
THEN
486 IF(nsnr_new > 0)
THEN
487 CALL my_orders(0,work,uid_for_p(p)%P,permutations,nsnr_new,1)
489 permutations(i) = indx_for_p(p)%P(permutations(i))
492 indx_for_p(p)%P(i) = permutations(i)
496 ALLOCATE(iaux(nsnr_old+nsnr_new))
497 ALLOCATE(iaux_local(nsnr_old+nsnr_new))
498 ALLOCATE(iaux_rev(nsnr_old+nsnr_new))
499 ALLOCATE(iaux_k(nsnr_old+nsnr_new))
500 ALLOCATE(iaux_l(nsnr_old+nsnr_new))
510 DO WHILE(pold<= nsnr_old .OR. pnew <= nsnr_new)
513 IF(pold > nsnr_old)
THEN
516 id_old = tmp%ITAFI%P(ideb_old+pold)
518 IF(pnew > nsnr_new)
THEN
524 id_new =
irem(2,indx_for_p(p)%P(pnew))
526 IF((id_new > id_old .OR. pnew > nsnr_new).AND. pold <= nsnr_old)
THEN
527 index(ideb_old+pold) = ix + ideb_new
531!
IF(id_old==27569)
WRITE(6,*) ispmd+1,
"NODE :",id_old,
"Is old",
533 ELSEIF ((id_new < id_old .OR. pold > nsnr_old) .AND.
THEN
537 DO WHILE( itab(intbuf_tab%NSV(plocal)) < id_new .AND. plocal < nsn )
540 IF(itab(intbuf_tab%NSV(plocal)) == id_new)
THEN
542 nblocal = nblocal + 1
543 iaux_rev(nblocal) = i
544 iaux_local(nblocal) = plocal
545!
IF(id_new==27569)
WRITE(6,*) ispmd+1,
"NODE :",id_new,
"Is Local:", plocal
558 ELSEIF (id_new == id_old .AND. pnew <= nsnr_new .AND. pold <= nsnr_old)
THEN
563 index(ideb_old+pold) = ix + ideb_new
580 i = iaux(iaux_rev(j))
581 l = indx_for_p(p)%P(-i)
583 iaux_k(iaux_rev(j)) = k
584 iaux_l(iaux_rev(j)) = l
585 iaux(iaux_rev(j)) = 0
596 nsnfi(nin)%P(p) = nn - nblocal
602 k = ideb_new+j-nblocal
606 xfi(nin)%P(1,k) = tmp%XFI%P(1,l)
607 xfi(nin)%P(2,k) = tmp%XFI%P(2,l)
608 xfi(nin)%P(3,k) = tmp%XFI%P(3,l)
609 vfi(nin)%P(1,k) = tmp%VFI%P(1,l)
610 vfi(nin)%P(2,k) = tmp%VFI%P(2,l)
611 vfi(nin)%P(3,k) = tmp%VFI%P(3,l)
612 msfi(nin)%P(k) = tmp%MSFI%P(l)
613 stifi(nin)%P(k) = tmp%STIFI%P(l)
614 nsvfi(nin)%P(k) = tmp%NSVFI%P(l
615 itafi(nin)%P(k) = tmp%ITAFI%P(l)
616 pmainfi(nin)%P(k) = tmp%PMAINFI%P(l)
617 kinfi(nin)%P(k) = tmp%KINFI%P(l)
620 l = indx_for_p(p)%P(-i)
621 xfi(nin)%P(1,k) = xrem(1,l)
622 xfi(nin)%P(2,k) = xrem(2,l)
623 xfi(nin)%P(3,k) = xrem(3,l)
624 vfi(nin)%P(1,k) = xrem(4,l)
625 vfi(nin)%P(2,k) = xrem(5,l)
626 vfi(nin)%P(3,k) = xrem(6,l)
627 msfi(nin)%P(k) = xrem(7,l)
628 stifi(nin)%P(k) = xrem(8,l)
652 k = ideb_new+j -nblocal
655 icodt_fi(nin)%P(k) = tmp%ICODT_FI%P(l)
656 iskew_fi(nin)%P(k) = tmp%ISKEW_FI%P(l)
658 l = indx_for_p(p)%P(-i)
671 IF(igap==1 .OR. igap==2)
THEN
675 k = ideb_new+j-nblocal
678 gapfi(nin)%P(k) = tmp%GAPFI%P(l)
680 l = indx_for_p(p)%P(-i)
681 gapfi(nin)%P(k) = xrem(rshift,l)
691 k = ideb_new+j - nblocal
694 gapfi(nin)%P(k) = tmp%GAPFI%P(l)
695 gap_lfi(nin)%P(k) = tmp%GAP_LFI%P(l)
697 l = indx_for_p(p)%P(-i)
698 gapfi(nin)%P(k) = xrem(rshift ,l)
699 gap_lfi(nin)%P(k) = xrem(rshift+1,l)
713 k = ideb_new+j -nblocal
716 tempfi(nin)%P(k) = tmp%TEMPFI%P(l)
717 areasfi(nin)%P(k) = tmp%AREASFI%P(l)
718 matsfi(nin)%P(k) = tmp%MATSFI%P(l)
720 l = indx_for_p(p)%P(-i)
721 tempfi(nin)%P(k) = xrem(rshift ,l)
722 areasfi(nin)%P(k) = xrem(rshift+1,l)
737 k = ideb_new+j -nblocal
740 IF(intth==0)
areasfi(nin)%P(k) = tmp%AREASFI%P(l)
741 if_adhfi(nin)%P(k) = tmp%IF_ADHFI%P(l)
743 l = indx_for_p(p)%P(-i)
744 IF(intth==0)
areasfi(nin)%P(k) = xrem(rshift,l)
749 IF(intth==0) intbuf_tab%AREAS(k) = xrem(rshift,l)
750 intbuf_tab%IF_ADH(k) =
irem(ishift,l)
754 IF(intth==0) rshift = rshift + 1
759 IF(intfric > 0 )
THEN
763 k = ideb_new+j -nblocal
768 l = indx_for_p(p)%P(-i)
777 IF(istif_msdt > 0)
THEN
781 k = ideb_new+j -nblocal
786 l = indx_for_p(p)%P(-i)
796 IF(ifsub_carea > 0)
THEN
800 k = ideb_new+j -nblocal
805 l = indx_for_p(p)%P(-i)
818 k = ideb_new+j-nblocal
821 nodnxfi(nin)%P(k) = tmp%NODNXFI%P(l)
822 nodamsfi(nin)%P(k) = tmp%NODAMSFI%P(l)
825 l = indx_for_p(p)%P(-i)
835 ELSEIF(idtmins_int/=0)
THEN
839 k = ideb_new+j-nblocal
842 nodamsfi(nin)%P(k) = tmp%NODAMSFI%P(l)
845 l = indx_for_p(p)%P(-i)
860 k = ideb_new+j-nblocal
863 time_sfi(nin)%P(2*(k-1)+1) = tmp%TIME_SFI%P(2*(l-1)+1)
864 time_sfi(nin)%P(2*(k-1)+2) = tmp%TIME_SFI%P(2*(l-1)+2)
865 secnd_frfi(nin)%P(4,k) = tmp%SECND_FRFI%P(4,l)
866 secnd_frfi(nin)%P(5,k) = tmp%SECND_FRFI%P(5,l)
867 secnd_frfi(nin)%P(6,k) = tmp%SECND_FRFI%P(6,l)
874 l = indx_for_p(p)%P(-i)
875 time_sfi(nin)%P(2*(k-1)+1) = xrem(rshift+0,l)
876 time_sfi(nin)%P(2*(k-1)+2) = xrem(rshift+1,l)
888 intbuf_tab%TIME_S(2*(k-1)+1) = xrem(rshift+0,l)
889 intbuf_tab%TIME_S(2*(k-1)+2) = xrem(rshift+1,l)
890 intbuf_tab%SECND_FR(6*(k-1)+4) = xrem(rshift+2,l)
891 intbuf_tab%SECND_FR(6*(k-1)+5) = xrem(rshift+3,l)
892 intbuf_tab%SECND_FR(6*(k-1)+6) = xrem(rshift+4,l)
893 intbuf_tab%PENE_OLD(5*(k-1)+2) = xrem(rshift+5,l)
894 intbuf_tab%STIF_OLD(2*(k-1)+2) = xrem(rshift+6,l)
895 intbuf_tab%PENE_OLD(5*(k-1)+3) = xrem(rshift+7,l)
896 intbuf_tab%PENE_OLD(5*(k-1)+4) = xrem(rshift+8,l)
897 intbuf_tab%PENE_OLD(5*(k-1)+5) = xrem(rshift+9,l)
906 k = ideb_new+j-nblocal
909 irtlm_fi(nin)%P(1,k) = tmp%IRTLM_FI%P(1,l)
910 irtlm_fi(nin)%P(2,k) = tmp%IRTLM_FI%P(2,l)
911 irtlm_fi(nin)%P(3,k) = tmp%IRTLM_FI%P(3,l)
912 irtlm_fi(nin)%P(4,k) = tmp%IRTLM_FI%P(4,l)
915 l = indx_for_p(p)%P(-i)
924 intbuf_tab%IRTLM(4*(k-1)+1) =
irem(ishift+0,l)
925 intbuf_tab%IRTLM(4*(k-1)+2) =
irem(ishift+1,l)
926 intbuf_tab%IRTLM(4*(k-1)+3) =
irem(ishift+2,l)
927 intbuf_tab%IRTLM(4*(k-1)+4) =
irem(ishift+3,l)
928 intbuf_tab%ICONT_I(k) =
irem(ishift+4,l)
942!
nbinflfi(nin)%P(k) = tmp%NBINFLFI%P(l)
944 l = indx_for_p(p)%P(-i)
956 k = ideb_new+j-nblocal
960 islide_fi(nin)%P(1,k) = tmp%ISLIDE_FI%P(1,l)
961 islide_fi(nin)%P(2,k) = tmp%ISLIDE_FI%P(2,l)
962 islide_fi(nin)%P(3,k) = tmp%ISLIDE_FI%P(3,l)
963 islide_fi(nin)%P(4,k) = tmp%ISLIDE_FI%P(4,l)
966 l = indx_for_p(p)%P(-i)
967 proc_from = proc_orig(l)
969 IF(
irem(ishift-1+jj,l) >0 )
THEN
970 islide_fi(nin)%P(jj,k) = fr_nor(
irem(ishift-1+jj,l) + iad_frnor(ni25,proc_from) - 1)
979 proc_from = proc_orig(l)
981 IF(
irem(ishift-1+jj,l) >0 )
THEN
982 intbuf_tab%ISLIDE(4*(k-1)+jj) = fr_nor(
irem(ishift-1+jj,l) + iad_frnor(ni25,proc_from) - 1)
984 intbuf_tab%ISLIDE(4*(k-1)+jj) = 0
999 k = ideb_new+j-nblocal
1002 siz = tmp%KREMNOR_FI%P(l+1)- tmp%KREMNOR_FI%P(l)
1005 DO km=tmp%KREMNOR_FI%P(l)+1,tmp%KREMNOR_FI%P
1007 remnor_fi_tmp(ki) = tmp%REMNOR_FI%P(km)
1009 ELSEIF( i < 0 )
THEN
1011 kk = intbuf_tab%KREMNODE(2*(ne-1)+2) + 1
1012 ll = intbuf_tab%KREMNODE(2*(ne-1)+3)
1014 IF(intbuf_tab%REMNODE(km) == -
itafi(nin)%P(k) )
THEN
1032 ideb_new = ideb_new +
nsnfi(nin)%P(p)
1035 ideb_old = ideb_old + nsnr_old
1036 ideb_slid = ideb_slid + nb_slid(p)
1037 DEALLOCATE(iaux,iaux_local,iaux_rev,iaux_k,iaux_l)
1064 IF(flagremn == 2 )
THEN
1076 IF(sizremnorfi > 0)
THEN
1081 DEALLOCATE(remnor_fi_tmp)
1087 lskyfi = ideb_new*multimax
1096 IF(
ALLOCATED(xrem))
DEALLOCATE(xrem)
1097 IF(
ALLOCATED(
irem))
DEALLOCATE
1102 CALL reallocate_fi2(nin, intth, nodfi, lskyfi, h3d_data,nodadt_therm)
1106 CALL deallocate_fi1_tmp(nodfi,tmp,nin,intth,igap,ilev,intfric,flagremn,ivis2,istif_msdt,ifsub_carea)
1108 DO i = 1, intbuf_tab%I_STOK(1)
1109 n = intbuf_tab%CAND_N(i)
1112 intbuf_tab%CAND_N(i) = abs(index(nn))+nsn
1116 DO i = 1, intbuf_tab%I_STOK(2)
1117 n = intbuf_tab%CAND_OPT_N(i)
1120 intbuf_tab%CAND_OPT_N(i) = abs(index(nn))+nsn
1125 DEALLOCATE(indx_for_p(p)%P)
1126 DEALLOCATE(uid_for_p(p)%P)
1129 DEALLOCATE(permutations,proc_orig)
1449 USE spmd_comm_world_mod,
ONLY : spmd_comm_world
1450#include "implicit_f.inc"
1454#include "task_c.inc"
1455#include "scr14_c.inc"
1456#include "scr16_c.inc"
1457#include "scr18_c.inc"
1458#include "parit_c.inc"
1462 INTEGER,
INTENT(IN) :: NIN, INTTH, NODFI, LSKYFI
1463 INTEGER,
INTENT(IN) :: NODADT_THERM
1464 TYPE(H3D_DATABASE) :: H3D_DATA
1468 INTEGER I,J,IERROR1,IERROR2,IERROR3,IERROR4
1475 IF(intth == 0 )
THEN
1481 IF(
ASSOCIATED(
afi(nin)%P))
THEN
1482 DEALLOCATE(
afi(nin)%P)
1485 IF(
ASSOCIATED(
stnfi(nin)%P))
THEN
1486 DEALLOCATE(
stnfi(nin)%P)
1490 IF(nodfi>0)
ALLOCATE(
afi(nin)%P(3,nodfi*nthread),stat=ierror1)
1491 IF(nodfi>0)
ALLOCATE(
stnfi(nin)%P(nodfi*nthread),stat=ierror2)
1493 DO i = 1, nodfi*nthread
1494 afi(nin)%P(1,i) = zero
1495 afi(nin)%P(2,i) = zero
1496 afi(nin)%P(3,i) = zero
1497 stnfi(nin)%P(i) = zero
1501 IF(
ASSOCIATED(
vscfi(nin)%P))
DEALLOCATE(
vscfi(nin)%P)
1502 IF(nodfi>0)
ALLOCATE(
vscfi(nin)%P(nodfi*nthread),stat=ierror3)
1504 DO i = 1, nodfi*nthread
1505 vscfi(nin)%P(i) = zero
1514 IF(
ASSOCIATED(
fskyfi(nin)%P))
DEALLOCATE(
fskyfi(nin)%P)
1515 IF(
ASSOCIATED(
iskyfi(nin)%P))
DEALLOCATE(
iskyfi(nin)%P)
1518 ALLOCATE(
iskyfi(nin)%P(lskyfi),stat=ierror1)
1520 ALLOCATE(
fskyfi(nin)%P(4,lskyfi),stat=ierror2)
1522 ALLOCATE(
fskyfi(nin)%P(5,lskyfi),stat=ierror2)
1531 IF(
ASSOCIATED(
afi(nin)%P))
DEALLOCATE(
afi(nin)%P)
1532 IF(
ASSOCIATED(
stnfi(nin)%P))
DEALLOCATE(
stnfi(nin)%P)
1533 IF(
ASSOCIATED(
fthefi(nin)%P))
DEALLOCATE(
fthefi(nin)%P)
1534 IF(nodfi>0)
ALLOCATE(
afi(nin)%P(3,nodfi*nthread),stat=ierror1)
1535 IF(nodfi>0)
ALLOCATE(
stnfi(nin)%P(nodfi
1536 IF(nodfi>0)
ALLOCATE(
fthefi(nin)%P(nodfi*nthread),stat=ierror3)
1538 IF(nodadt_therm ==1)
THEN
1540 IF(nodfi>0.AND.nodadt_therm ==1)
ALLOCATE(
condnfi(nin)%P(nodfi*nthread),stat=ierror4)
1547 DO i = 1, nodfi*nthread
1548 afi(nin)%P(1,i) = zero
1549 afi(nin)%P(2,i) = zero
1550 afi(nin)%P(3,i) = zero
1551 stnfi(nin)%P(i) = zero
1554 IF(nodadt_therm ==1)
THEN
1561 IF(
ASSOCIATED(
vscfi(nin)%P))
DEALLOCATE(
vscfi(nin)%P)
1562 IF(nodfi>0)
ALLOCATE(
vscfi(nin)%P(nodfi),stat=ierror4)
1565 vscfi(nin)%P(i) = zero
1573 IF(
ASSOCIATED(
fskyfi(nin)%P))
DEALLOCATE(
fskyfi(nin)%P)
1574 IF(
ASSOCIATED(
iskyfi(nin)%P))
DEALLOCATE(
iskyfi(nin)%P)
1578 ALLOCATE(
iskyfi(nin)%P(lskyfi),stat=ierror1)
1580 ALLOCATE(
fskyfi(nin)%P(4,lskyfi),stat=ierror2)
1581 ALLOCATE(
ftheskyfi(nin)%P(lskyfi),stat=ierror3)
1583 ALLOCATE(
fskyfi(nin)%P(5,lskyfi),stat=ierror2)
1584 ALLOCATE(
ftheskyfi(nin)%P(lskyfi),stat=ierror3)
1589 IF(nodadt_therm ==1)
THEN
1591 IF(lskyfi>0)
ALLOCATE(
condnskyfi(nin)%P(lskyfi),stat=ierror4)
1598 IF(ierror1+ierror2+ierror3+ierror4/=0)
THEN
1599 CALL ancmsg(msgid=20,anmode=aninfo)
1605 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT >0)
THEN
1608 ALLOCATE(
fnconti(nin)%P(3,nodfi),stat=ierror1)
1609 ALLOCATE(
ftconti(nin)%P(3,nodfi),stat=ierror2)
1610 IF(ierror1+ierror2/=0)
THEN
1611 CALL ancmsg(msgid=20,anmode=aninfo)
1625 IF(h3d_data%N_SCAL_CSE_FRICINT >0)
THEN
1626 IF(h3d_data%N_CSE_FRIC_INTER (nin) >0)
THEN
1628 ALLOCATE(
efricfi(nin)%P(nodfi),stat=ierror1)
1630 CALL ancmsg(msgid=20,anmode=aninfo)
1640 IF(h3d_data%N_SCAL_CSE_FRIC >0)
THEN
1642 ALLOCATE(
efricgfi(nin)%P(nodfi),stat=ierror1)
1644 CALL ancmsg(msgid=20,anmode=aninfo)