3412
3413
3414
3422
3423
3424
3425#include "implicit_f.inc"
3426#include "i25edge_c.inc"
3427
3428
3429
3430#include "com01_c.inc"
3431#include "com04_c.inc"
3432#include "scr14_c.inc"
3433#include "scr16_c.inc"
3434#include "scr18_c.inc"
3435#include "task_c.inc"
3436#include "param_c.inc"
3437#include "parit_c.inc"
3438#include "spmd_c.inc"
3439#include "sms_c.inc"
3440
3441
3442
3443 INTEGER IPARI(NPARI,*), IFLAG
3444 INTEGER, INTENT(IN) :: IDT_THERM
3445 INTEGER, INTENT(IN) :: INTHEAT
3446 TYPE(H3D_DATABASE) :: H3D_DATA
3447 TYPE (PARAMETERS_) ,INTENT(IN):: PARAMETERS
3448
3449
3450
3451 INTEGER I, P, NSN, NMN, ITYP, IGAP, IERROR, IERROR1, LENS, LENR,
3452 . LSKYFI, INACTI, NBINTC, LENI, J,INTTH, K, L,IEDGE4 ,INTFRIC ,
3453 . FLAGREMN ,SIZREMNORFI, IVIS2 ,INTNITSCHE,,IPSTIF
3454 INTEGER :: LENR_EDGE,LENS_EDGE
3455
3456
3457
3458 IF(iflag==1) THEN
3459
3460 IF(ninter/=0) THEN
3461 ierror = 0
3462 ALLOCATE(
nsvfi(ninter),stat=ierror1)
3463 ierror = ierror + ierror1
3464 ALLOCATE(
nsnfi(ninter),stat=ierror1)
3465 ierror = ierror + ierror1
3466 ALLOCATE(
edge_fi(ninter),stat=ierror1)
3467 ierror = ierror
3468 ALLOCATE(
nsnfi_sav(ninter),stat=ierror1)
3469 ierror = ierror + ierror1
3470 ALLOCATE(
nsnsi_sav(ninter),stat=ierror1)
3471 ierror = ierror + ierror1
3472 ALLOCATE(
itafi(ninter),stat=ierror1)
3473 ierror = ierror + ierror1
3474 ALLOCATE(
pmainfi(ninter),stat=ierror1)
3475 ierror = ierror + ierror1
3476 ALLOCATE(
kinfi(ninter),stat=ierror1)
3477 ierror = ierror + ierror1
3478 ALLOCATE(
msfi(ninter),stat=ierror1)
3479 ierror = ierror + ierror1
3480 ALLOCATE(
stifi(ninter),stat=ierror1)
3481 ierror = ierror + ierror1
3482 ALLOCATE(
gapfi(ninter),stat=ierror1)
3483 ierror = ierror + ierror1
3484 ALLOCATE(
gap_lfi(ninter),stat=ierror1)
3485 ierror = ierror + ierror1
3486 ALLOCATE(
xfi(ninter),stat=ierror1)
3487 ierror = ierror + ierror1
3488 ALLOCATE(
vfi(ninter),stat=ierror1)
3489 ierror = ierror + ierror1
3490 ALLOCATE(
nsvsi(ninter),stat=ierror1)
3491 ierror = ierror + ierror1
3492 ALLOCATE(
nsnsi(ninter),stat=ierror1)
3493 ierror = ierror + ierror1
3494 ALLOCATE(
afi(ninter),stat=ierror1)
3495 ierror = ierror + ierror1
3496 ALLOCATE(
stnfi(ninter),stat=ierror1)
3497 ierror = ierror + ierror1
3498 ALLOCATE(
vscfi(ninter),stat=ierror1)
3499 ierror = ierror + ierror1
3500 ALLOCATE(
penfi(ninter),stat=ierror1)
3501 ierror = ierror + ierror1
3502 ALLOCATE(
fskyfi(ninter),stat=ierror1)
3503 ierror = ierror + ierror1
3504 ALLOCATE(
iskyfi(ninter),stat=ierror1)
3505 ierror = ierror + ierror1
3506
3507 ALLOCATE(
nisubsfi(ninter),stat=ierror1)
3508 ierror = ierror + ierror1
3509 ALLOCATE(
lisubsfi(ninter),stat=ierror1)
3510 ierror = ierror + ierror1
3512 ierror = ierror + ierror1
3513 ALLOCATE(
addsubsfi(ninter),stat=ierror1)
3514 ierror = ierror + ierror1
3515 IF(parameters%INTCAREA > 0 ) THEN
3517 ierror = ierror + ierror1
3518 ENDIF
3519
3520 ALLOCATE(
nisubsfie(ninter),stat=ierror1)
3521 ierror = ierror + ierror1
3522 ALLOCATE(
lisubsfie(ninter),stat=ierror1)
3523 ierror = ierror + ierror1
3525 ierror = ierror + ierror1
3527 ierror = ierror + ierror1
3528
3529
3530 ALLOCATE(
fnconti(ninter),stat=ierror1)
3531 ierror = ierror + ierror1
3532 ALLOCATE(
ftconti(ninter),stat=ierror1)
3533 ierror = ierror + ierror1
3534
3535 ALLOCATE (
nlskyfi(ninter),stat=ierror1)
3536 ierror = ierror + ierror1
3538
3539 ALLOCATE (
eminxfi(ninter),stat=ierror1)
3540 ierror = ierror + ierror1
3541 ALLOCATE (
ksfi(ninter),stat=ierror1)
3542 ierror = ierror + ierror1
3543 ALLOCATE (
frotsfi(ninter),stat=ierror1)
3544 ierror = ierror + ierror1
3545 ALLOCATE (
stnfi17(ninter),stat=ierror1)
3546 ierror = ierror + ierror1
3547 ALLOCATE(
xfi17(ninter),stat=ierror1)
3548 ierror = ierror + ierror1
3549 ALLOCATE(
vfi17(ninter),stat=ierror1)
3550 ierror = ierror + ierror1
3551 ALLOCATE(
afi17(ninter),stat=ierror1)
3552 ierror = ierror + ierror1
3553
3554 ALLOCATE(
nbinflfi(ninter),stat=ierror1)
3555 ierror = ierror + ierror1
3556 ALLOCATE(
daanc6fi(ninter),stat=ierror1)
3557 ierror = ierror + ierror1
3558 ALLOCATE(
dxancfi(ninter),stat=ierror1)
3559 ierror = ierror + ierror1
3560 ALLOCATE(
dvancfi(ninter),stat=ierror1)
3561 ierror = ierror + ierror1
3562 ALLOCATE(
penfia(ninter),stat=ierror1)
3563 ierror = ierror + ierror1
3564 ALLOCATE(
alphakfi(ninter),stat=ierror1)
3565 ierror = ierror + ierror1
3566 ALLOCATE(
daancfi(ninter),stat=ierror1)
3567 ierror = ierror + ierror1
3569 ierror = ierror + ierror1
3570
3571 ALLOCATE(
nsvfie(ninter),stat=ierror1)
3572 ierror = ierror + ierror1
3573 ALLOCATE(
nsnfie(ninter),stat=ierror1)
3574 ierror = ierror + ierror1
3575 ALLOCATE(
itafie(ninter),stat=ierror1)
3576 ierror = ierror + ierror1
3577 ALLOCATE(
msfie(ninter),stat=ierror1)
3578 ierror = ierror + ierror1
3579 ALLOCATE(
stifie(ninter),stat=ierror1)
3580 ierror = ierror + ierror1
3581 ALLOCATE(
gapfie(ninter),stat=ierror1)
3582 ierror = ierror + ierror1
3583 ALLOCATE(
xfie(ninter),stat=ierror1)
3584 ierror = ierror + ierror1
3585 ALLOCATE(
vfie(ninter),stat=ierror1)
3586 ierror = ierror + ierror1
3587 ALLOCATE(
nsvsie(ninter),stat=ierror1)
3588 ierror = ierror + ierror1
3589 ALLOCATE(
nsnsie(ninter),stat=ierror1)
3590 ierror = ierror + ierror1
3591 ALLOCATE(
afie(ninter),stat=ierror1)
3592 ierror = ierror + ierror1
3593 ALLOCATE(
stnfie(ninter),stat=ierror1)
3594 ierror = ierror + ierror1
3595 ALLOCATE(
vscfie(ninter),stat=ierror1)
3596 ierror = ierror + ierror1
3597 ALLOCATE(
penfie(ninter),stat=ierror1)
3598 ierror = ierror + ierror1
3599 ALLOCATE(
fskyfie(ninter),stat=ierror1)
3600 ierror = ierror + ierror1
3601 ALLOCATE(
iskyfie(ninter),stat=ierror1)
3602 ierror = ierror + ierror1
3603
3604 ALLOCATE (
nlskyfie(ninter),stat=ierror1)
3605 ierror = ierror + ierror1
3607
3608 ALLOCATE(
daanc6fie(ninter),stat=ierror1)
3609 ierror = ierror + ierror1
3610 ALLOCATE(
dxancfie(ninter),stat=ierror1)
3611 ierror = ierror + ierror1
3612 ALLOCATE(
dvancfie(ninter),stat=ierror1)
3613 ierror = ierror + ierror1
3614 ALLOCATE(
penfiae(ninter),stat=ierror1)
3615 ierror = ierror + ierror1
3616 ALLOCATE(
alphakfie(ninter),stat=ierror1)
3617 ierror = ierror + ierror1
3618 ALLOCATE(
daancfie(ninter),stat=ierror1)
3619 ierror = ierror + ierror1
3621 ierror = ierror + ierror1
3622
3623 ALLOCATE (
nodnxfie(ninter),stat=ierror1)
3624 ierror = ierror + ierror1
3625 ALLOCATE (
nodamsfie(ninter),stat=ierror1)
3626 ierror = ierror + ierror1
3628 ierror = ierror + ierror1
3629
3630
3631
3632 ALLOCATE (
mtfi_pene(ninter),stat=ierror1)
3633 ierror = ierror + ierror1
3635 ierror = ierror + ierror1
3636 ALLOCATE (
mtfi_v(ninter),stat=ierror1)
3637 ierror = ierror + ierror1
3638 ALLOCATE (
mtfi_a(ninter),stat=ierror1)
3639 ierror = ierror + ierror1
3640 ALLOCATE (
i18kafi(ninter),stat=ierror1)
3641 ierror = ierror + ierror1
3642 ALLOCATE (
mtfi_n(ninter),stat=ierror1)
3643 ierror = ierror + ierror1
3644
3645 ALLOCATE (
time_sfi(ninter),stat=ierror1)
3646 ierror = ierror + ierror1
3647 ALLOCATE (
irtlm_fi(ninter),stat=ierror1)
3648 ierror = ierror + ierror1
3650 ierror = ierror + ierror1
3652 ierror = ierror + ierror1
3654 ierror = ierror + ierror1
3656 ierror = ierror + ierror1
3657 ALLOCATE (
isedge_fi(ninter),stat=ierror1)
3658 ierror = ierror + ierror1
3659 ALLOCATE (
irtse_fi(ninter),stat=ierror1)
3660 ierror = ierror + ierror1
3661 ALLOCATE (
is2pt_fi(ninter),stat=ierror1)
3662 ierror = ierror + ierror1
3663 ALLOCATE (
isegpt_fi(ninter),stat=ierror1)
3664 ierror = ierror + ierror1
3665 ALLOCATE (
is2se_fi(ninter),stat=ierror1)
3666 ierror = ierror + ierror1
3667 ALLOCATE (
ispt2_fi(ninter),stat=ierror1)
3668 ierror = ierror + ierror1
3669 ALLOCATE (
remnor_fi(ninter),stat=ierror1)
3670 ierror = ierror + ierror1
3672 ierror = ierror + ierror1
3673
3674 ALLOCATE (
islide_fi(ninter),stat=ierror1)
3675 ierror = ierror + ierror1
3676 ALLOCATE (
icodt_fi(ninter),stat=ierror1)
3677 ierror = ierror + ierror1
3678 ALLOCATE (
iskew_fi(ninter),stat=ierror1)
3679 ierror = ierror + ierror1
3680 ipstif = 0
3681 DO i = 1,ninter
3682 IF(ipari(97,i) > 0) ipstif = ipstif + ipari(97,i)
3683 END DO
3684 IF(parameters%ISTIF_DT > 0 .OR. ipstif>0 ) THEN
3687 ENDIF
3688
3689 IF(intheat > 0 ) THEN
3690 ALLOCATE (
ftheskyfi(ninter),stat=ierror1)
3691 ierror = ierror + ierror1
3692 ALLOCATE(
fthefi(ninter),stat=ierror1)
3693 ierror = ierror + ierror1
3694 ALLOCATE(
tempfi(ninter),stat=ierror1)
3695 ierror = ierror + ierror1
3696 ALLOCATE(
matsfi(ninter),stat=ierror1)
3697 ierror = ierror + ierror1
3698 ALLOCATE(
nmtemp(ninter),stat=ierror1)
3699 ierror = ierror + ierror1
3700 IF(idt_therm == 1) THEN
3701 ALLOCATE(
condnfi(ninter),stat=ierror1)
3702 ierror = ierror + ierror1
3704 ierror = ierror + ierror1
3705 ENDIF
3706 ENDIF
3707 IF(intheat > 0 .OR.nintloadp21 > 0) THEN
3708 ALLOCATE(
nmnfi(ninter),stat=ierror1)
3709 ierror = ierror + ierror1
3710 ALLOCATE(
nmvfi(ninter),stat=ierror1)
3711 ierror = ierror + ierror1
3712 ALLOCATE(
nmnsi(ninter),stat=ierror1)
3713 ierror = ierror + ierror1
3714 ALLOCATE(
nmvsi(ninter),stat=ierror1)
3715 ierror = ierror + ierror1
3716 ALLOCATE(
tempnod(ninter),stat=ierror1)
3717 ierror = ierror + ierror1
3718 ENDIF
3719 IF(nintloadp21 > 0) THEN
3721 ierror = ierror + ierror1
3722 ENDIF
3723 IF(ninterfric > 0 ) THEN
3725 ierror = ierror + ierror1
3727 ierror = ierror + ierror1
3728 ENDIF
3729
3730 ALLOCATE (
nodnxfi(ninter),stat=ierror1)
3731 ierror = ierror + ierror1
3732 ALLOCATE (
nodamsfi(ninter),stat=ierror1)
3733 ierror = ierror + ierror1
3734 ALLOCATE (
procamsfi(ninter),stat=ierror1)
3735 ierror = ierror + ierror1
3736
3738 ierror = ierror + ierror1
3740 ierror = ierror + ierror1
3741
3742 IF(intheat > 0.OR.interadhesion > 0 ) THEN
3743 ALLOCATE(
areasfi(ninter),stat=ierror1)
3744 DO i = 1, ninter
3746 ENDDO
3747 ierror = ierror + ierror1
3748 ENDIF
3749
3750 IF(interadhesion > 0) THEN
3751 ALLOCATE(
if_adhfi(ninter),stat=ierror1)
3752 DO i = 1, ninter
3754 ENDDO
3755 ierror = ierror + ierror1
3756 ENDIF
3757
3758 ALLOCATE(
candf_si(ninter),stat=ierror1)
3759 ierror = ierror + ierror1
3760
3761 IF(nitsche > 0 ) THEN
3762 ALLOCATE(
forneqsfi(ninter),stat=ierror1)
3763 ierror = ierror + ierror1
3764 ENDIF
3765
3766
3767 ALLOCATE(
efricfi(ninter),stat=ierror1)
3768 ierror = ierror + ierror1
3769 ALLOCATE(
efricgfi(ninter),stat=ierror1)
3770 ierror = ierror + ierror1
3771
3772
3778
3779
3780
3781 DO i=1,ninter
3804
3809 IF(parameters%INTCAREA > 0)
NULLIFY(
intareanfi(i)%p)
3810
3815
3816
3817
3820
3828
3837
3841
3842
3865
3870
3875
3890
3897 IF(parameters%ISTIF_DT > 0 .OR. ipari(97,i)>0 ) THEN
3900 ENDIF
3901
3902
3908
3911 END DO
3912
3913 IF(intheat /= 0) THEN
3914 DO i=1,ninter
3921 END DO
3922 IF(interadhesion /= 0) THEN
3923 DO i=1,ninter
3925 ENDDO
3926 ENDIF
3927 IF(idt_therm == 1) THEN
3928 DO i=1,ninter
3931 ENDDO
3932 ENDIF
3933 ENDIF
3934 IF(intheat /= 0.OR.nintloadp21 > 0) THEN
3935 DO i=1,ninter
3941 END DO
3942 ENDIF
3943 IF(nintloadp21 > 0) THEN
3944 DO i=1,ninter
3946 END DO
3947 ENDIF
3948
3949 IF(ninterfric > 0 ) THEN
3950 DO i=1,ninter
3953 ENDDO
3954 ENDIF
3955
3956 IF(nitsche > 0 ) THEN
3957 DO i=1,ninter
3959 ENDDO
3960 ENDIF
3961
3962 IF(ierror/=0) THEN
3963 CALL ancmsg(msgid=20,anmode=aninfo)
3965 ENDIF
3966
3967
3968
3969 nbintc = 0
3970 DO i =1, ninter
3971 ityp = ipari(7,i)
3972 ivis2 = ipari(14,i)
3973 igap = ipari(21,i)
3974 inacti = ipari(22,i)
3975 intth = ipari(47,i)
3976 intfric = ipari(72,i)
3977 flagremn = ipari(63,i)
3978 intnitsche = ipari(86,i)
3979 itied = ipari(85,i)
3980 nsn =ipari(5,i)
3981
3982 IF(ityp==24) THEN
3983 iedge4 = ipari(59,i)
3984 ELSE
3985 iedge4 = 0
3986 ENDIF
3987 IF(ityp==7.OR.ityp==10.OR.ityp==11.OR.
3988 + (ityp==17.AND.ipari(33,i)==0).OR.ityp==20.OR.
3989 + ityp==22.OR.ityp==23.OR.ityp==24.OR.
3990 + ityp==25)THEN
3991
3992 nbintc = nbintc + 1
3993 ALLOCATE(
nsnsi(i)%P(nspmd),stat=ierror)
3994 ALLOCATE(
nsnfi(i)%P(nspmd),stat=ierror1)
3995
3996
3997 IF(ierror+ierror1/=0) THEN
3998 CALL ancmsg(msgid=20,anmode=aninfo)
4000 ENDIF
4003 lens = 0
4004 lenr = 0
4005 DO p = 1, nspmd
4006 lens = lens +
nsnsi(i)%P(p)
4007 lenr = lenr +
nsnfi(i)%P(p)
4008 END DO
4009
4010 ierror = 0
4011
4012 ierror1 = 0
4013 IF(lens>0) THEN
4014 ALLOCATE(
nsvsi(i)%P(lens),stat=ierror1)
4016 ierror = ierror + ierror1
4017 ENDIF
4018 ALLOCATE(
candf_si(i)%P(nsn),stat=ierror1)
4020
4021 IF(lenr>0) THEN
4022 ALLOCATE(
nsvfi(i)%P(lenr),stat=ierror1)
4023 ierror = ierror + ierror1
4025 IF(ityp==7.OR.ityp==10.OR.
4026 + ityp==20.OR.ityp==22.OR.
4027 + ityp==23.OR.ityp==24.OR.
4028 + ityp==25)THEN
4029 ALLOCATE(
itafi(i)%P(lenr),stat=ierror1)
4030 ierror = ierror + ierror1
4032 IF(ityp==7.OR.ityp==20.OR.ityp==22.OR.
4033 + ityp==23.OR.ityp==24.OR.ityp==25)THEN
4034 ALLOCATE(
kinfi(i)%P(lenr),stat=ierror1)
4035 ierror = ierror + ierror1
4037
4038 IF(ityp==20)THEN
4039 ALLOCATE(
nbinflfi(i)%P(lenr),stat=ierror1)
4040 ierror = ierror + ierror1
4042 END IF
4043
4044 IF(intth > 0 ) THEN
4045 ALLOCATE(
matsfi(i)%P(lenr),stat=ierror1)
4046 ierror = ierror + ierror
4048 ENDIF
4049 IF((ityp==7.OR.ityp==24.OR.ityp==25).AND.intfric > 0) THEN
4051 ierror = ierror + ierror
4053 ENDIF
4054
4055 IF (ityp==24)THEN
4057 *
ALLOCATE(
irtlm_fi(i)%P(2,lenr),stat=ierror1)
4058
4061 *
ALLOCATE(
icont_i_fi(i)%P(lenr),stat=ierror1)
4063
4065 *
ALLOCATE(
isedge_fi(i)%P(lenr),stat=ierror1)
4067
4068 IF(iedge4 >0)THEN
4070 *
ALLOCATE(
irtse_fi(i)%P(5,lenr),stat=ierror1)
4072
4074 *
ALLOCATE(
is2pt_fi(i)%P(lenr),stat=ierror1)
4076
4078 *
ALLOCATE(
ispt2_fi(i)%P(lenr),stat=ierror1)
4080
4082 *
ALLOCATE(
isegpt_fi(i)%P(lenr),stat=ierror1)
4084
4086 *
ALLOCATE(
is2se_fi(i)%P(2,lenr),stat=ierror1)
4088
4089 ENDIF
4090 IF(intnitsche >0)THEN
4092 *
ALLOCATE(
forneqsfi(i)%P(3,lenr),stat=ierror1)
4094 ENDIF
4095
4096 ENDIF
4097
4098 IF (ityp==25)THEN
4099 IF(.NOT.
ASSOCIATED(
pmainfi(i)%P))
4100 *
ALLOCATE(
pmainfi(i)%P(lenr),stat=ierror1)
4103 *
ALLOCATE(
irtlm_fi(i)%P(4,lenr),stat=ierror1)
4106 *
ALLOCATE(
icont_i_fi(i)%P(lenr),stat=ierror1)
4108
4110 *
ALLOCATE(
icodt_fi(i)%P(lenr),stat=ierror1)
4111
4113
4115 *
ALLOCATE(
iskew_fi(i)%P(lenr),stat=ierror1)
4117
4118
4119
4121 *
ALLOCATE(
islide_fi(i)%P(4,lenr),stat=ierror1)
4122
4124
4125 IF(flagremn==2) THEN
4127 *
ALLOCATE(
kremnor_fi(i)%P(lenr+1),stat=ierror1)
4130 IF(sizremnorfi /= 0) THEN
4132 *
ALLOCATE(
remnor_fi(i)%P(sizremnorfi),stat=ierror1)
4134 ELSE IF(sizremnorfi == 0) THEN
4136 *
ALLOCATE(
remnor_fi(i)%P(sizremnorfi),stat=ierror1)
4137 ENDIF
4138 ENDIF
4139 ENDIF
4140 END IF
4141
4142 IF(idtmins_old == 2) THEN
4143 ALLOCATE (
nodnxfi(i)%P(lenr),stat=ierror1)
4144 ierror = ierror + ierror1
4146 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4147 ierror = ierror + ierror1
4149 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4150 ierror = ierror + ierror1
4152 IF (ityp==24) THEN
4154 ierror = ierror + ierror1
4156 ENDIF
4157 ELSEIF(idtmins_int_old /= 0) THEN
4158 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4159 ierror = ierror + ierror1
4161 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4162 ierror = ierror + ierror1
4164 IF (ityp==24) THEN
4166 ierror = ierror + ierror1
4168 ENDIF
4169 ENDIF
4170
4171 IF(idtmins==2) THEN
4172 IF(.NOT.
ASSOCIATED(
nodnxfi(i)%P))
THEN
4173 ALLOCATE (
nodnxfi(i)%P(lenr),stat=ierror1)
4174 ierror = ierror + ierror1
4176 ENDIF
4177 IF(.NOT.
ASSOCIATED(
nodamsfi(i)%P))
THEN
4178 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4179 ierror = ierror + ierror1
4181 ENDIF
4182 IF(.NOT.
ASSOCIATED(
procamsfi(i)%P))
THEN
4183 ALLOCATE
4184 ierror = ierror + ierror1
4186 ENDIF
4187 IF (ityp==24) THEN
4190 ierror = ierror + ierror1
4192 ENDIF
4193 ENDIF
4194 ELSEIF(idtmins_int /= 0) THEN
4195 IF(.NOT.
ASSOCIATED(
nodamsfi(i)%P))
THEN
4196 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4197 ierror = ierror + ierror1
4199 ENDIF
4200 IF(.NOT.
ASSOCIATED(
procamsfi(i)%P))
THEN
4201 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4202 ierror = ierror + ierror1
4204 ENDIF
4205 IF (ityp==24) THEN
4208 ierror = ierror + ierror1
4210 ENDIF
4211 ENDIF
4212 END IF
4213
4214 ALLOCATE(
msfi(i)%P(lenr),stat=ierror1)
4215 ierror = ierror + ierror1
4216 ALLOCATE(
stifi(i)%P(lenr),stat=ierror1)
4217 ierror = ierror + ierror1
4218 IF(igap/=0)THEN
4219 ALLOCATE(
gapfi(i)%P(lenr),stat=ierror1)
4220 ierror = ierror + ierror1
4221 IF(igap==3)THEN
4222 ALLOCATE(
gap_lfi(i)%P(lenr),stat=ierror1)
4223 ierror = ierror + ierror1
4224 END IF
4225 END IF
4226 ALLOCATE(
xfi(i)%P(3,lenr),stat=ierror1)
4227 ierror = ierror + ierror1
4228 ALLOCATE(
vfi(i)%P(3,lenr),stat=ierror1)
4229 ierror = ierror + ierror1
4230
4231 IF(iparit==0) THEN
4232 ALLOCATE(
afi(i)%P(3,lenr*nthread),stat=ierror1)
4233 ierror = ierror + ierror1
4234 ALLOCATE(
stnfi(i)%P(lenr*nthread),stat=ierror1)
4235 ierror = ierror + ierror1
4236 IF(kdtint/=0)THEN
4237 ALLOCATE(
vscfi(i)%P(lenr*nthread
4238 ierror = ierror + ierror1
4239 ENDIF
4240
4241 DO k=1,lenr*nthread
4246 ENDDO
4247
4248 IF(kdtint/=0)THEN
4249 vscfi(i)%P(1:lenr*nthread)=zero
4250 ENDIF
4251
4252
4254
4255 IF(intth > 0 )THEN
4256 ALLOCATE(
fthefi(i)%P(lenr*nthread),stat=ierror1)
4257 ierror = ierror + ierror1
4258
4259 fthefi(i)%P(1:lenr*nthread)=zero
4260
4261 ALLOCATE(
tempfi(i)%P(lenr),stat=ierror1)
4262 ierror = ierror + ierror1
4263
4264
4265 ENDIF
4266 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4267 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4268 ierror = ierror + ierror1
4269 ENDIF
4270
4271 IF(ityp == 25.AND.ivis2==-1) THEN
4272 ALLOCATE(
if_adhfi(i)%P(lenr),stat=ierror1)
4273 ierror = ierror + ierror1
4274 ENDIF
4275
4276 IF(idt_therm ==1.AND.intth > 0) THEN
4277 ALLOCATE(
condnfi(i)%P(lenr*nthread),stat=ierror1)
4278 ierror = ierror + ierror1
4279 condnfi(i)%P(1:lenr*nthread)=zero
4280 ENDIF
4281 ELSE
4282
4283
4285 lskyfi = 0
4286
4287
4288 IF(intth > 0 ) THEN
4289 ALLOCATE(
tempfi(i)%P(lenr),stat=ierror1)
4290 ierror = ierror + ierror1
4291 ENDIF
4292
4293 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4294 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4295 ierror = ierror + ierror1
4296 ENDIF
4297 IF(ityp == 25.AND.ivis2==-1) THEN
4298 ALLOCATE(
if_adhfi(i)%P(lenr),stat=ierror1)
4299 ierror = ierror + ierror1
4300 ENDIF
4301
4302 END IF
4303 IF(ityp == 24)THEN
4304 ALLOCATE(
time_sfi(i)%P(lenr),stat=ierror1)
4306 ierror = ierror + ierror1
4307 ELSEIF(ityp == 25)THEN
4308 ALLOCATE(
time_sfi(i)%P(2*lenr),stat=ierror1)
4310 ierror = ierror + ierror1
4311 END IF
4312 IF(ityp == 24 .OR. ityp == 25)THEN
4313 ALLOCATE(
secnd_frfi(i)%P(6,lenr),stat=ierror1)
4315 ierror = ierror + ierror1
4316 ALLOCATE(
pene_oldfi(i)%P(5,lenr),stat=ierror1)
4318 ierror = ierror + ierror1
4319 ALLOCATE(
stif_oldfi(i)%P(2,lenr),stat=ierror1)
4321 ierror = ierror + ierror1
4322
4323 IF(ipari(97,i) > 0) THEN
4326 ENDIF
4327
4328 IF(ityp == 25.AND.parameters%INTCAREA > 0.AND.ipari(36,i)>0) THEN
4330 ierror = ierror + ierror1
4332 ENDIF
4333 IF(ityp == 24.AND.parameters%INTCAREA > 0) THEN
4335 ierror = ierror + ierror1
4337 ENDIF
4338 ENDIF
4339 ELSEIF(ityp==11)THEN
4340
4341 ALLOCATE(
itafi(i)%P(2*lenr),stat=ierror1)
4342 ierror = ierror + ierror1
4344
4345 IF(idtmins_old == 2) THEN
4346 ALLOCATE (
nodnxfi(i)%P(2*lenr),stat=ierror1)
4347 ierror = ierror + ierror1
4349 ALLOCATE (
nodamsfi(i)%P(2*lenr),stat=ierror1)
4350 ierror = ierror + ierror1
4352 ALLOCATE (
procamsfi(i)%P(2*lenr),stat=ierror1)
4353 ierror = ierror + ierror1
4355 ELSEIF(idtmins_int_old /= 0) THEN
4356 ALLOCATE (
nodamsfi(i)%P(2*lenr),stat=ierror1)
4357 ierror = ierror + ierror1
4359 ALLOCATE (
procamsfi(i)%P(2*lenr),stat=ierror1)
4360 ierror = ierror + ierror1
4362 ENDIF
4363
4364 IF(intth > 0 ) THEN
4365 ALLOCATE(
matsfi(i)%P(lenr),stat=ierror1)
4366 ierror = ierror + ierror1
4368 ENDIF
4369
4370 IF(intfric > 0) THEN
4372 ierror = ierror + ierror
4374 ENDIF
4375
4376 ALLOCATE(
msfi(i)%P(2*lenr),stat=ierror1)
4377 ierror = ierror + ierror1
4378 ALLOCATE(
stifi(i)%P(lenr),stat=ierror1)
4379 ierror = ierror + ierror1
4380 IF(igap/=0)THEN
4381 ALLOCATE(
gapfi(i)%P(lenr),stat=ierror1)
4382 ierror = ierror + ierror1
4383 IF(igap==3)THEN
4384 ALLOCATE(
gap_lfi(i)%P(lenr),stat=ierror1)
4385 ierror = ierror + ierror1
4386 END IF
4387 END IF
4388 ALLOCATE(
xfi(i)%P(3,2*lenr),stat=ierror1)
4389 ierror = ierror + ierror1
4390 ALLOCATE(
vfi(i)%P(3,2*lenr),stat=ierror1)
4391 ierror = ierror + ierror1
4392 IF(inacti==5.OR.inacti==6) THEN
4393 ALLOCATE(
penfi(i)%P(2,lenr),stat=ierror1)
4394 END IF
4395 IF(iparit==0) THEN
4396 ALLOCATE(
afi(i)%P(3,2*lenr*nthread),stat=ierror1)
4397 ierror = ierror + ierror1
4398 ALLOCATE(
stnfi(i)%P(2*lenr*nthread),stat=ierror1)
4399 ierror = ierror + ierror1
4400 IF(kdtint/=0)THEN
4401 ALLOCATE(
vscfi(i)%P(2*lenr*nthread),stat=ierror1)
4402 ierror = ierror + ierror1
4403 ENDIF
4404 IF(intth > 0 )THEN
4405 ALLOCATE(
fthefi(i)%P(2*lenr*nthread),stat=ierror1)
4406 ierror = ierror + ierror1
4407 ALLOCATE(
tempfi(i)%P(2*lenr),stat=ierror1)
4408 ierror = ierror + ierror1
4409
4410
4411 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4412 ierror = ierror + ierror1
4413 ENDIF
4414 IF(idt_therm ==1.AND.intth > 0) THEN
4415 ALLOCATE(
condnfi(i)%P(2*lenr*nthread),stat=ierror1)
4416 ierror = ierror + ierror1
4417 ENDIF
4419
4420 ELSE
4421 lskyfi = 0
4423
4424 IF(intth > 0 ) THEN
4425 ALLOCATE(
tempfi(i)%P(2*lenr),stat=ierror1)
4426 ierror = ierror + ierror1
4427
4428
4429 ENDIF
4430
4431 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4432 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4433 ierror = ierror + ierror1
4434 ENDIF
4435 END IF
4436
4437 ELSEIF(ityp==17)THEN
4438 ALLOCATE(
xfi17(i)%P(3,16,lenr),stat=ierror1)
4439 ierror = ierror + ierror1
4440 ALLOCATE(
vfi17(i)%P(3,16,lenr),stat=ierror1)
4441 ierror = ierror + ierror1
4442 ALLOCATE(
frotsfi(i)%P(7,lenr),stat=ierror1)
4443 ierror = ierror + ierror1
4444 ALLOCATE(
ksfi(i)%P(2,lenr),stat=ierror1)
4445 ierror = ierror + ierror1
4446 ALLOCATE(
eminxfi(i)%P(6,lenr),stat=ierror1)
4447 ierror = ierror + ierror1
4448 IF(iparit==0) THEN
4449 ALLOCATE(
afi17(i)%P(3,16,lenr),stat=ierror1)
4450 ierror = ierror + ierror1
4451 ALLOCATE(
stnfi17(i)%P(16,lenr),stat=ierror1)
4452 ierror = ierror + ierror1
4454 ELSE
4455 lskyfi = lenr * multimax
4457
4458 ALLOCATE(
iskyfi(i)%P(lskyfi),stat=ierror1)
4459 ierror = ierror + ierror1
4460 ALLOCATE(
fskyfi(i)%P(40,lskyfi),stat=ierror1)
4461 ierror = ierror + ierror1
4462 END IF
4463
4464 END IF
4465
4466 ELSE
4468 ENDIF
4469
4470 IF(ierror/=0) THEN
4471 CALL ancmsg(msgid=20,anmode=aninfo)
4473 ENDIF
4474
4475 IF(ityp==20)THEN
4476 ALLOCATE(
daanc6fi(i)%P(3,6,lenr),stat=ierror1)
4477 ierror = ierror + ierror1
4478 ALLOCATE(
dxancfi(i)%P(3,lenr),stat=ierror1)
4479 ierror = ierror + ierror1
4480 ALLOCATE(
dvancfi(i)%P(3,lenr),stat=ierror1)
4481 ierror = ierror + ierror1
4482 IF((inacti==5.OR.inacti==6) .AND. lenr > 0) THEN
4483 ALLOCATE(
penfi(i)%P(2,lenr),stat=ierror1)
4484 ierror = ierror + ierror1
4485 ALLOCATE(
penfia(i)%P(5,lenr),stat=ierror1)
4486 ierror = ierror + ierror1
4487 END IF
4488 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4489 ALLOCATE (
diag_smsfi(i)%P(lenr),stat=ierror1)
4490 ierror = ierror + ierror1
4491 ENDIF
4492 ALLOCATE(
alphakfi(i)%P(lenr),stat=ierror1)
4493 ierror = ierror + ierror1
4494 ALLOCATE(
daancfi(i)%P(3,lenr),stat=ierror1)
4496 ierror = ierror + ierror1
4497 IF(ierror/=0) THEN
4498 CALL ancmsg(msgid=20,anmode=aninfo)
4500 END IF
4501
4502 ALLOCATE(
nsnsie(i)%P(nspmd),stat=ierror1)
4503 ierror = ierror + ierror1
4504 ALLOCATE(
nsnfie(i)%P(nspmd),stat=ierror1)
4505 ierror = ierror + ierror1
4508 lens = 0
4509 lenr = 0
4510 DO p = 1, nspmd
4511 lens = lens +
nsnsie(i)%P(p)
4512 lenr = lenr +
nsnfie(i)%P(p)
4513 END DO
4514
4515 IF(lens>0) THEN
4516 ALLOCATE(
nsvsie(i)%P(lens),stat=ierror1)
4518 ierror = ierror + ierror1
4519 ENDIF
4520
4521 IF(lenr>0) THEN
4522 ALLOCATE(
nsvfie(i)%P(lenr),stat=ierror1)
4523 ierror = ierror + ierror1
4525 ALLOCATE(
itafie(i)%P(2*lenr),stat=ierror1)
4526 ierror = ierror + ierror1
4528 ALLOCATE(
msfie(i)%P(2*lenr),stat=ierror1)
4529 ierror = ierror + ierror1
4530 ALLOCATE(
stifie(i)%P(lenr),stat=ierror1)
4531 ierror = ierror + ierror1
4532 IF(igap/=0)THEN
4533 ALLOCATE(
gapfie(i)%P(lenr),stat=ierror1)
4534 ierror = ierror + ierror1
4535 END IF
4536 ALLOCATE(
xfie(i)%P(3,2*lenr),stat=ierror1)
4537 ierror = ierror + ierror1
4538 ALLOCATE(
vfie(i)%P(3,2*lenr),stat=ierror1)
4539 ierror = ierror + ierror1
4540 IF(inacti==5.OR.inacti==6) THEN
4541 ALLOCATE(
penfie(i)%P(2,lenr),stat=ierror1)
4542 ierror = ierror + ierror1
4543 ALLOCATE(
penfiae(i)%P(5,2*lenr),stat=ierror1)
4544 ierror = ierror + ierror1
4545 END IF
4546 IF(iparit==0) THEN
4547 ALLOCATE(
afie(i)%P(3,2*lenr*nthread),stat=ierror1)
4548 ierror = ierror + ierror1
4549 ALLOCATE(
stnfie(i)%P(2*lenr*nthread),stat=ierror1)
4550 ierror = ierror + ierror1
4551 IF(kdtint/=0)THEN
4552 ALLOCATE(
vscfie(i)%P(2*lenr*nthread),stat=ierror1)
4553 ierror = ierror + ierror1
4554 ENDIF
4556 ELSE
4557 lskyfi = lenr * multimax
4559 ALLOCATE(
iskyfie(i)%P(lskyfi),stat=ierror1)
4560 ierror = ierror + ierror1
4561 IF(kdtint==0) THEN
4562
4563 ALLOCATE(
fskyfie(i)%P(10,lskyfi),stat=ierror1)
4564
4565 ELSE
4566 ALLOCATE(
fskyfie(i)%P(10,lskyfi),stat=ierror1)
4567 END IF
4568 ierror = ierror + ierror1
4569 END IF
4570 ALLOCATE(
daanc6fie(i)%P(3,6,2*lenr),stat=ierror1)
4571 ierror = ierror + ierror1
4572 ALLOCATE(
dxancfie(i)%P(3,2*lenr),stat=ierror1)
4573 ierror = ierror + ierror1
4574 ALLOCATE(
dvancfie(i)%P(3,2*lenr),stat=ierror1)
4575 ierror = ierror + ierror1
4576 ALLOCATE(
alphakfie(i)%P(2*lenr),stat=ierror1)
4577 ierror = ierror + ierror1
4578 ALLOCATE(
daancfie(i)%P(3,lenr),stat=ierror1)
4579 ierror = ierror + ierror1
4580 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4582 ierror = ierror + ierror1
4583 ENDIF
4584
4585 IF(idtmins_old == 2) THEN
4586 ALLOCATE (
nodnxfie(i)%P(lenr),stat=ierror1)
4587 ierror = ierror + ierror1
4589 ALLOCATE (
nodamsfie(i)%P(lenr),stat=ierror1)
4590 ierror = ierror + ierror1
4592 ALLOCATE (
procamsfie(i)%P(lenr),stat=ierror1)
4593 ierror = ierror + ierror1
4595 ELSEIF(idtmins_int_old /= 0) THEN
4596 ALLOCATE (
nodamsfie(i)%P(lenr),stat=ierror1)
4597 ierror = ierror + ierror1
4599 ALLOCATE (
procamsfie(i)%P(lenr),stat=ierror1)
4600 ierror = ierror + ierror1
4602 ENDIF
4603
4604 IF(ierror/=0) THEN
4605 CALL ancmsg(msgid=20,anmode=aninfo)
4607 END IF
4608
4609 ELSE
4611 END IF
4612 END IF
4613
4614 IF(ityp == 25 ) THEN
4616 ALLOCATE(
nsnsie(i)%P(nspmd),stat=ierror1)
4617 ALLOCATE(
nsnfie(i)%P(nspmd),stat=ierror1)
4621
4622 IF(ipari(58,i) /=0) THEN
4623
4626
4627 lens_edge = 0
4628 lenr_edge = 0
4629 DO p = 1, nspmd
4630 lens_edge = lens_edge +
nsnsie(i)%P(p)
4631 lenr_edge = lenr_edge +
nsnfie(i)%P(p)
4632 END DO
4633
4634 IF(lens_edge>0) THEN
4635 ALLOCATE(
nsvsie(i)%P(lens_edge),stat=ierror1)
4637 ierror = ierror + ierror1
4638 ENDIF
4639
4640 IF(iparit == 0) THEN
4642 ALLOCATE(
afie(i)%P(3,2*lenr_edge*nthread),stat=ierror1)
4643 ierror = ierror + ierror1
4644 ALLOCATE(
stnfie(i)%P(2*lenr_edge*nthread),stat=ierror1)
4645 ierror = ierror + ierror1
4646 IF(kdtint/=0)THEN
4647 ALLOCATE(
vscfie(i)%P(2*lenr_edge*nthread),stat=ierror1)
4648 ierror = ierror + ierror1
4649 ENDIF
4650 ELSE
4651 lskyfi = lenr_edge * multimax
4653 ALLOCATE(
iskyfie(i)%P(lskyfi),stat=ierror1)
4654 ierror = ierror + ierror1
4655 IF(kdtint==0) THEN
4656 ALLOCATE(
fskyfie(i)%P(8,lskyfi),stat=ierror1)
4657 ELSE
4658 ALLOCATE(
fskyfie(i)%P(8,lskyfi),stat=ierror1)
4659 END IF
4660 ierror = ierror + ierror1
4661 ENDIF
4662 IF(lenr_edge>0) THEN
4663 ALLOCATE(
nsvfie(i)%P(lenr_edge))
4664 ALLOCATE(
itafie(i)%P(lenr_edge*2))
4665 ALLOCATE(
ledge_fie(i)%P(e_ledge_size,lenr_edge))
4666 ALLOCATE(
xfie(i)%P(3,lenr_edge*2))
4667 ALLOCATE(
vfie(i)%P(3,lenr_edge*2))
4668 ALLOCATE(
msfie(i)%P(lenr_edge*2))
4669 ALLOCATE(
gapfie(i)%P(lenr_edge))
4670 IF( igap == 3) THEN
4672 ENDIF
4673 ALLOCATE(
stifie(i)%P(lenr_edge))
4680
4682
4684 ipari(69,i) = lenr_edge
4685 IF(intfric > 0) THEN
4688 ENDIF
4689 IF(ipari(97,i) > 0) THEN
4692 ENDIF
4693
4694 ENDIF
4695 ENDIF
4696 ENDIF
4697
4698
4699
4700 IF(ipari(36,i)>0.AND.ipari(7,i)/=17) THEN
4701
4702 ierror = 0
4703 ALLOCATE(
nisubsfi(i)%P(nspmd),stat=ierror1)
4704 ierror = ierror + ierror1
4706 leni = 0
4707 lenr = 0
4708 DO p = 1, nspmd
4710 lenr = lenr +
nsnfi(i)%P(p)
4711 END DO
4712
4713 IF(leni>0) THEN
4714 IF(lenr>0) THEN
4715 ALLOCATE(
addsubsfi(i)%P(lenr+1),stat=ierror1)
4716 ierror = ierror + ierror1
4718 END IF
4719 ALLOCATE(
lisubsfi(i)%P(leni),stat=ierror1)
4720 ierror = ierror + ierror1
4722 IF(ipari(7,i)==25.OR.ipari(7,i)==7.OR.ipari(7,i)==24.OR.ipari(7,i)==11)THEN
4724 ierror = ierror + ierror1
4726 END IF
4727 ELSE
4728 IF(lenr>0) THEN
4729 ALLOCATE(
addsubsfi(i)%P(lenr+1),stat=ierror1)
4730 DO j=1,lenr+1
4732 END DO
4733 END IF
4734 END IF
4735 IF(ierror/=0) THEN
4736 CALL ancmsg(msgid=20,anmode=aninfo)
4738 END IF
4739
4740
4741 IF(ipari(7,i) == 25 .AND. ipari(58,i) > 0) THEN
4742 ierror = 0
4743 ALLOCATE(
nisubsfie(i)%P(nspmd),stat=ierror1)
4744 ierror = ierror + ierror1
4746 leni = 0
4747 DO p = 1, nspmd
4749 END DO
4750 IF(leni>0) THEN
4751 IF(lenr_edgeTHEN
4752 ALLOCATE(
addsubsfie(i)%P(lenr_edge+1),stat=ierror1)
4753 ierror = ierror
4755 END IF
4756 ALLOCATE(
lisubsfie(i)%P(leni),stat=ierror1)
4757 ierror = ierror + ierror1
4760 ierror = ierror + ierror1
4762 ELSE
4763 IF(lenr_edge>0) THEN
4764 ALLOCATE(
addsubsfie(i)%P(lenr_edge+1),stat=ierror1)
4765 DO j=1,lenr_edge+1
4767 END DO
4768 END IF
4769 END IF
4770 ENDIF
4771 END IF
4772
4773
4774 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT >0)THEN
4775 ierror = 0
4776 ALLOCATE(
fnconti(i)%P(3,lenr),stat=ierror1)
4777 ierror = ierror + ierror1
4778 ALLOCATE(
ftconti(i)%P(3,lenr),stat=ierror1)
4779 ierror = ierror + ierror1
4780 IF(ierror/=0) THEN
4781 CALL ancmsg(msgid=20,anmode=aninfo)
4783 ELSE
4784 DO j = 1, lenr
4791 END DO
4792 END IF
4793 END IF
4794 END IF
4795
4796
4797
4798
4799 IF(ityp==21) THEN
4800
4801 IF(intth==2.OR.ipari(95,i) > 0) THEN
4802 nbintc = nbintc + 1
4803
4804 ierror = 0
4805
4806 ierror1 = 0
4807 ALLOCATE(
nmnsi(i)%P(nspmd),stat=ierror1)
4808 ierror = ierror + ierror1
4809
4810 ALLOCATE(
nmnfi(i)%P(nspmd),stat=ierror1)
4811 ierror = ierror + ierror1
4812 IF(ierror/=0) THEN
4813 CALL ancmsg(msgid=20,anmode=aninfo)
4815 ENDIF
4818 lens = 0
4819 lenr = 0
4820 DO p = 1, nspmd
4821 lens = lens +
nmnsi(i)%P(p)
4822 lenr = lenr +
nmnfi(i)%P(p)
4823 END DO
4824
4825 ierror = 0
4826
4827 ierror1 = 0
4828 IF(lens>0) THEN
4829 ALLOCATE(
nmvsi(i)%P(lens),stat=ierror1)
4831 ierror = ierror + ierror1
4832
4833 ALLOCATE(
tempnod(i)%P(lens),stat=ierror1)
4835 ierror = ierror + ierror1
4836
4837 ENDIF
4838
4839 IF(lenr>0) THEN
4840 ALLOCATE(
nmvfi(i)%P(lenr),stat=ierror1)
4841 ierror = ierror + ierror1
4842
4843 IF(ierror/=0) THEN
4844 CALL ancmsg(msgid=20,anmode=aninfo)
4846 ENDIF
4847
4849
4850 IF(ipari(95,i) > 0) THEN
4852 DO j = 1, lenr
4854 END DO
4855 ENDIF
4856
4857 IF(ipari(48,i) /= 0 )THEN
4858 IF(iparit==0) THEN
4859 ALLOCATE(
fthefi(i)%P(lenr*nthread),stat=ierror1)
4860 ierror = ierror + ierror1
4861
4862 fthefi(i)%P(1:lenr*nthread)=zero
4863 ELSE
4864 lskyfi = lenr * multimax
4865 ALLOCATE(
iskyfi(i)%P(lskyfi),stat=ierror1)
4866 ierror = ierror + ierror1
4867 ALLOCATE(
ftheskyfi(i)%P(lskyfi),stat=ierror1)
4868 ierror = ierror + ierror1
4871 ENDIF
4872 ENDIF
4873
4874 ENDIF
4875
4876
4877 ENDIF
4878 ENDIF
4879 ENDDO
4880
4881 ENDIF
4882
4883
4884 ELSE
4885
4886 IF(ninter/=0) THEN
4887 DO i =1, ninter
4888 ityp = ipari(7,i)
4889 ivis2 = ipari(14,i)
4890 igap = ipari(21,i)
4891 inacti = ipari(22,i)
4892 intth = ipari(47,i)
4893 IF(ityp==7.OR.ityp==10.OR.ityp==11.OR.
4894 + (ityp==17.AND.ipari(33,i)==0).OR.ityp==20.OR.
4895 + ityp==22.OR.ityp==23.OR.ityp==24.OR.
4896 + ityp==25)THEN
4897 lenr = 0
4898 DO p = 1, nspmd
4899 lenr = lenr +
nsnfi(i)%P(p)
4900 END DO
4901 IF(lenr>0) THEN
4902 IF(ityp==7.OR.ityp==22.OR.ityp==23.OR.
4903 + ityp==20.OR.ityp==10.OR.ityp==24.OR.
4904 + ityp==25)THEN
4907 IF(igap/=0)THEN
4909 IF(igap==3)THEN
4911 END IF
4912 END IF
4915
4916 IF((ityp == 7.OR.ityp == 20.OR.
4917 + ityp==22.OR.ityp==23.OR.ityp==24.OR.
4918 + ityp==25).AND.ipari(47,i) > 0) THEN
4920 ENDIF
4921 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4923 ENDIF
4924 IF(ityp == 25.AND.ivis2==-1) THEN
4926 ENDIF
4927
4928
4929
4930 ELSEIF(ityp==11) THEN
4933 IF(igap/=0)THEN
4935 IF(igap==3)THEN
4937 END IF
4938 END IF
4941 IF(inacti==5.OR.inacti==6) THEN
4943 END IF
4944 IF(ipari(47,i)>0) THEN
4947 ENDIF
4948 ELSEIF(ityp==17.AND.ipari(33,i)==0)THEN
4954 END IF
4955 END IF
4956 END IF
4957
4958 IF(ityp==20)THEN
4959
4960 IF(lenr>0) THEN
4964 IF(inacti==5.OR.inacti==6) THEN
4967 END IF
4970 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4972 ENDIF
4973 END IF
4974
4975 lenr = 0
4976 DO p = 1, nspmd
4977 lenr = lenr +
nsnfie(i)%P(p)
4978 END DO
4979 IF(lenr>0) THEN
4982 IF(igap/=0)THEN
4984 END IF
4987 IF(inacti==5.OR.inacti==6) THEN
4990 END IF
4994 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4996 ENDIF
4997 END IF
4998 END IF
4999 IF (ityp==24)THEN
5001 ELSEIF(ityp==25)THEN
5003 END IF
5004 IF (ityp==24.OR.ityp==25)THEN
5008 IF(ipari(97,i) > 0) THEN
5010 ENDIF
5011 IF(ityp==25.AND.parameters%INTCAREA > 0.AND.ipari(36,i)>0) THEN
5013 ENDIF
5014 IF(ityp==24.AND.parameters%INTCAREA > 0) THEN
5016 ENDIF
5017 ENDIF
5018
5019 IF (ityp==24) THEN
5020 IF(idtmins_old == 2) THEN
5022 ierror = ierror + ierror1
5024 ELSEIF(idtmins_int_old /= 0) THEN
5026 ierror = ierror + ierror1
5028 ENDIF
5029
5030 IF(idtmins==2) THEN
5033 ierror = ierror + ierror1
5035 ENDIF
5036 ELSEIF(idtmins_int /= 0) THEN
5039 ierror = ierror + ierror1
5041 ENDIF
5042 END IF
5043 ENDIF
5044
5045 IF(ityp == 25 ) THEN
5046 IF(ipari(58,i) /=0) THEN
5047 lenr = 0
5048 DO p = 1, nspmd
5049 lenr = lenr +
nsnfie(i)%P(p)
5050 END DO
5051 IF(lenr>0) THEN
5057 IF( igap == 3) THEN
5059 ENDIF
5063 IF(idtmins_old == 2) THEN
5070 ELSEIF(idtmins_int_old /= 0) THEN
5075 ENDIF
5076
5077 IF(ipari(97,i) > 0) THEN
5079 ENDIF
5080 ENDIF
5081 ENDIF
5082 ENDIF
5083
5084 IF(ityp==21) THEN
5085
5086 IF(intth==2) THEN
5087
5088 lenr = 0
5089 DO p = 1, nspmd
5090 lenr = lenr +
nmnfi(i)%P(p)
5091 END DO
5092
5093 ierror = 0
5094
5095 ierror1 = 0
5096
5097 IF(lenr>0) THEN
5098 ALLOCATE(
nmtemp(i)%P(lenr),stat=ierror1)
5099 ierror = ierror + ierror1
5101 ENDIF
5102 IF(ierror/=0) THEN
5103 CALL ancmsg(msgid=20,anmode=aninfo)
5105 ENDIF
5106 ENDIF
5107 ENDIF
5108
5109 END DO
5110 END IF
5111 END IF
5112
5113 RETURN
type(int_pointer), dimension(:), allocatable nmvsi
type(int_pointer), dimension(:), allocatable nmnsi
type(int_pointer), dimension(:), allocatable nmvfi
type(int_pointer), dimension(:), allocatable nmnfi
type(real_pointer), dimension(:), allocatable nmtemp
type(int_pointer), dimension(:), allocatable tempnod
type(int_pointer), dimension(:), allocatable nisubsfie
type(int_pointer), dimension(:), allocatable inflg_subsfie
type(real_pointer), dimension(:), allocatable gape_l_fie
type(int_pointer), dimension(:), allocatable lisubsfie
type(real4_pointer3), dimension(:), allocatable edg_bisector_fie
type(real4_pointer3), dimension(:), allocatable vtx_bisector_fie
type(int_pointer), dimension(:), allocatable addsubsfie
type(real_pointer3), dimension(:), allocatable x_seg_fie
type(int_pointer), dimension(:), allocatable edge_fi
type(int_pointer2), dimension(:), allocatable ledge_fie
type(int_pointer), dimension(:), allocatable ispt2_fi
type(real_pointer2), dimension(:), allocatable stif_oldfi
type(real_pointer2), dimension(:), allocatable dxancfi
type(real_pointer2), dimension(:), allocatable stnfi17
type(real_pointer), dimension(:), allocatable gapfie
type(real_pointer2), dimension(:), allocatable eminxfi
type(real_pointer2), dimension(:), allocatable secnd_frfi
type(real_pointer), dimension(:), allocatable stif_msdt_fi
type(real_pointer), dimension(:), allocatable condnfi
type(int_pointer), dimension(:), allocatable is2pt_fi
type(int_pointer), dimension(:), allocatable inflg_subsfi
type(int_pointer), dimension(:), allocatable iskew_fi
type(real_pointer), dimension(:), allocatable ftheskyfi
type(int_pointer), dimension(:), allocatable isegpt_fi
type(real_pointer2), dimension(:), allocatable forneqsfi
type(real_pointer2), dimension(:), allocatable vfie
type(real_pointer), dimension(:), allocatable time_sfi
type(real_pointer3), dimension(:), allocatable afi17
type(real_pointer2), dimension(:), allocatable daancfi
type(real_pointer2), dimension(:), allocatable fskyfie
type(real_pointer2), dimension(:), allocatable i18kafi
type(real_pointer2), dimension(:), allocatable vfi
type(real_pointer2), dimension(:), allocatable fnconti
type(int_pointer2), dimension(:), allocatable irtlm_fi
type(real_pointer2), dimension(:), allocatable frotsfi
type(int_pointer), dimension(:), allocatable matsfi
type(int_pointer2), dimension(:), allocatable is2se_fi
type(int_pointer), dimension(:), allocatable ipartfric_fie
type(real_pointer), dimension(:), allocatable efricgfi
type(real_pointer2), dimension(:), allocatable dvancfi
type(real_pointer), dimension(:), allocatable tempfi
type(int_pointer), dimension(:), allocatable candf_si
type(real_pointer), dimension(:), allocatable stifi
type(real_pointer3), dimension(:), allocatable xfi17
type(real_pointer3), dimension(:), allocatable vfi17
type(real_pointer2), dimension(:), allocatable ksfi
type(int_pointer), dimension(:), allocatable nsvsi
type(real_pointer2), dimension(:), allocatable xfie
type(int_pointer), dimension(:), allocatable iskyfie
type(int_pointer), dimension(:), allocatable kremnor_fi
type(real_pointer), dimension(:), allocatable gap_lfi
type(int_pointer), dimension(:), allocatable nsnfie
type(real_pointer2), dimension(:), allocatable dvancfie
type(real_pointer2), dimension(:), allocatable mtfi_a
type(r8_pointer3), dimension(:), allocatable daanc6fi
type(real_pointer), dimension(:), allocatable condnskyfi
type(real_pointer2), dimension(:), allocatable penfi
type(int_pointer), dimension(:), allocatable nsnsie
type(real_pointer), dimension(:), allocatable alphakfi
type(real_pointer), dimension(:), allocatable stnfi
type(int_pointer), dimension(:), allocatable lisubsfi
type(int_pointer2), dimension(:), allocatable irtse_fi
type(real_pointer2), dimension(:), allocatable penfia
type(real_pointer2), dimension(:), allocatable afi
type(int_pointer), dimension(:), allocatable nsvsie
type(real_pointer), dimension(:), allocatable mtfi_pene
type(int_pointer), dimension(:), allocatable nodamsfi
type(real_pointer2), dimension(:), allocatable fskyfi
type(int_pointer), dimension(:), allocatable nisubsfi
type(int_pointer), dimension(:), allocatable remnor_fi
type(real_pointer), dimension(:), allocatable stifie
type(int_pointer), dimension(:), allocatable pmainfi
type(real_pointer), dimension(:), allocatable stnfie
type(real_pointer), dimension(:), allocatable gapfi
type(int_pointer), dimension(:), allocatable procamsfie
type(int_pointer), dimension(:), allocatable nodnxfi
type(int_pointer), dimension(:), allocatable nodnxfie
type(int_pointer), dimension(:), allocatable nsvfi
type(real_pointer), dimension(:), allocatable intareanfi
type(real_pointer), dimension(:), allocatable areasfi
type(int_pointer), dimension(:), allocatable icodt_fi
type(int_pointer), dimension(:), allocatable iskyfi
type(int_pointer), dimension(:), allocatable isedge_fi
type(real_pointer2), dimension(:), allocatable afie
type(int_pointer), dimension(:), allocatable nbinflfi
type(real_pointer), dimension(:), allocatable efricfi
type(real_pointer), dimension(:), allocatable msfi
type(real_pointer), dimension(:), allocatable diag_smsfi
type(real_pointer), dimension(:), allocatable vscfi
type(real_pointer2), dimension(:), allocatable mtfi_n
type(int_pointer), dimension(:), allocatable nsvfie
type(int_pointer), dimension(:), allocatable addsubsfi
type(int_pointer), dimension(:), allocatable ipartfricsfi
type(int_pointer), dimension(:), allocatable nodamsfie
type(real_pointer), dimension(:), allocatable t2fac_sms_fi
type(r8_pointer3), dimension(:), allocatable daanc6fie
type(real_pointer2), dimension(:), allocatable xfi
type(int_pointer), dimension(:), allocatable kinfi
type(real_pointer), dimension(:), allocatable vscfie
type(real_pointer), dimension(:), allocatable diag_smsfie
type(real_pointer), dimension(:), allocatable alphakfie
type(int_pointer), dimension(:), allocatable itafie
integer, dimension(:), allocatable nlskyfie
type(real_pointer2), dimension(:), allocatable penfie
type(real_pointer2), dimension(:), allocatable dxancfie
type(real_pointer), dimension(:), allocatable stife_msdt_fi
type(real_pointer), dimension(:), allocatable mtfi_penemin
integer, dimension(:), allocatable nlskyfi
type(real_pointer), dimension(:), allocatable fthefi
type(real_pointer2), dimension(:), allocatable ftconti
type(int_pointer), dimension(:), allocatable procamsfi
type(int_pointer2), dimension(:), allocatable islide_fi
type(real_pointer2), dimension(:), allocatable pene_oldfi
type(int_pointer), dimension(:), allocatable icont_i_fi
type(real_pointer2), dimension(:), allocatable mtfi_v
type(int_pointer), dimension(:), allocatable tagncontfi
type(int_pointer), dimension(:), allocatable if_adhfi
type(int_pointer2), dimension(:), allocatable t2main_sms_fi
type(real_pointer2), dimension(:), allocatable daancfie
type(real_pointer), dimension(:), allocatable msfie
type(int_pointer), dimension(:), allocatable itafi
type(real_pointer2), dimension(:), allocatable penfiae
void read_i_c(int *w, int *len)
void read_r_c(float *w, int *len)