3398
3399
3400
3408
3409
3410
3411#include "implicit_f.inc"
3412#include "i25edge_c.inc"
3413
3414
3415
3416#include "com01_c.inc"
3417#include "com04_c.inc"
3418#include "scr14_c.inc"
3419#include "scr16_c.inc"
3420#include "scr18_c.inc"
3421#include "task_c.inc"
3422#include "param_c.inc"
3423#include "parit_c.inc"
3424#include "spmd_c.inc"
3425#include "sms_c.inc"
3426
3427
3428
3429 INTEGER IPARI(NPARI,*), IFLAG
3430 INTEGER, INTENT(IN) :: IDT_THERM
3431 INTEGER, INTENT(IN) ::
3432 TYPE(H3D_DATABASE) :: H3D_DATA
3433 TYPE (PARAMETERS_) ,INTENT(IN):: PARAMETERS
3434
3435
3436
3437 INTEGER I, P, NSN, NMN, ITYP, IGAP, IERROR, IERROR1, LENS, LENR,
3438 . LSKYFI, INACTI, NBINTC, LENI, J,INTTH, K, L,IEDGE4 ,INTFRIC ,
3439 . FLAGREMN ,SIZREMNORFI, IVIS2 ,INTNITSCHE,ITIED,IPSTIF
3440 INTEGER :: LENR_EDGE,LENS_EDGE
3441
3442
3443
3444 IF(iflag==1) THEN
3445
3446 IF(ninter/=0) THEN
3447 ierror = 0
3448 ALLOCATE(
nsvfi(ninter),stat=ierror1)
3449 ierror = ierror + ierror1
3450 ALLOCATE(
nsnfi(ninter),stat=ierror1)
3451 ierror = ierror + ierror1
3452 ALLOCATE(
edge_fi(ninter),stat=ierror1)
3453 ierror = ierror + ierror1
3454 ALLOCATE(
nsnfi_sav(ninter),stat=ierror1)
3455 ierror = ierror + ierror1
3456 ALLOCATE(
nsnsi_sav(ninter),stat=ierror1)
3457 ierror = ierror + ierror1
3458 ALLOCATE(
itafi(ninter),stat=ierror1)
3459 ierror = ierror + ierror1
3460 ALLOCATE(
pmainfi(ninter),stat=ierror1)
3461 ierror = ierror + ierror1
3462 ALLOCATE(
kinfi(ninter),stat=ierror1)
3463 ierror = ierror + ierror1
3464 ALLOCATE(
msfi(ninter),stat=ierror1)
3465 ierror = ierror + ierror1
3466 ALLOCATE(
stifi(ninter),stat=ierror1)
3467 ierror = ierror + ierror1
3468 ALLOCATE(
gapfi(ninter),stat=ierror1)
3469 ierror = ierror + ierror1
3470 ALLOCATE(
gap_lfi(ninter),stat=ierror1)
3471 ierror = ierror + ierror1
3472 ALLOCATE(
xfi(ninter),stat=ierror1)
3473 ierror = ierror + ierror1
3474 ALLOCATE(
vfi(ninter),stat=ierror1)
3475 ierror = ierror + ierror1
3476 ALLOCATE(
nsvsi(ninter),stat=ierror1)
3477 ierror = ierror + ierror1
3478 ALLOCATE(
nsnsi(ninter),stat=ierror1)
3479 ierror = ierror + ierror1
3480 ALLOCATE(
afi(ninter),stat=ierror1)
3481 ierror = ierror + ierror1
3482 ALLOCATE(
stnfi(ninter),stat=ierror1)
3483 ierror = ierror + ierror1
3484 ALLOCATE(
vscfi(ninter),stat=ierror1)
3485 ierror = ierror + ierror1
3486 ALLOCATE(
penfi(ninter),stat=ierror1)
3487 ierror = ierror + ierror1
3488 ALLOCATE(
fskyfi(ninter),stat=ierror1)
3489 ierror = ierror + ierror1
3490 ALLOCATE(
iskyfi(ninter),stat=ierror1)
3491 ierror = ierror + ierror1
3492
3493 ALLOCATE(
nisubsfi(ninter),stat=ierror1)
3494 ierror = ierror + ierror1
3495 ALLOCATE(
lisubsfi(ninter),stat=ierror1)
3496 ierror = ierror + ierror1
3498 ierror = ierror + ierror1
3499 ALLOCATE(
addsubsfi(ninter),stat=ierror1)
3500 ierror = ierror + ierror1
3501 IF(parameters%INTCAREA > 0 ) THEN
3503 ierror = ierror + ierror1
3504 ENDIF
3505
3506 ALLOCATE(
nisubsfie(ninter),stat=ierror1)
3507 ierror = ierror + ierror1
3508 ALLOCATE(
lisubsfie(ninter),stat=ierror1)
3509 ierror = ierror + ierror1
3511 ierror = ierror + ierror1
3513 ierror = ierror + ierror1
3514
3515
3516 ALLOCATE(
fnconti(ninter),stat=ierror1)
3517 ierror = ierror + ierror1
3518 ALLOCATE(
ftconti(ninter),stat=ierror1)
3519 ierror = ierror + ierror1
3520
3521 ALLOCATE (
nlskyfi(ninter),stat=ierror1)
3522 ierror = ierror + ierror1
3524
3525 ALLOCATE (
eminxfi(ninter),stat=ierror1)
3526 ierror = ierror + ierror1
3527 ALLOCATE (
ksfi(ninter),stat=ierror1)
3528 ierror = ierror + ierror1
3529 ALLOCATE (
frotsfi(ninter),stat=ierror1)
3530 ierror = ierror + ierror1
3531 ALLOCATE (
stnfi17(ninter),stat=ierror1)
3532 ierror = ierror + ierror1
3533 ALLOCATE(
xfi17(ninter),stat=ierror1)
3534 ierror = ierror + ierror1
3535 ALLOCATE(
vfi17(ninter),stat=ierror1)
3536 ierror = ierror + ierror1
3537 ALLOCATE(
afi17(ninter),stat=ierror1)
3538 ierror = ierror + ierror1
3539
3540 ALLOCATE(
nbinflfi(ninter),stat=ierror1)
3541 ierror = ierror + ierror1
3542 ALLOCATE(
daanc6fi(ninter),stat=ierror1)
3543 ierror = ierror + ierror1
3544 ALLOCATE(
dxancfi(ninter),stat=ierror1)
3545 ierror = ierror + ierror1
3546 ALLOCATE(
dvancfi(ninter),stat=ierror1)
3547 ierror = ierror + ierror1
3548 ALLOCATE(
penfia(ninter),stat=ierror1)
3549 ierror = ierror + ierror1
3550 ALLOCATE(
alphakfi(ninter),stat=ierror1)
3551 ierror = ierror + ierror1
3552 ALLOCATE(
daancfi(ninter),stat=ierror1)
3553 ierror = ierror + ierror1
3555 ierror = ierror + ierror1
3556
3557 ALLOCATE(
nsvfie(ninter),stat=ierror1)
3558 ierror = ierror + ierror1
3559 ALLOCATE(
nsnfie(ninter),stat=ierror1)
3560 ierror = ierror + ierror1
3561 ALLOCATE(
itafie(ninter),stat=ierror1)
3562 ierror = ierror + ierror1
3563 ALLOCATE(
msfie(ninter),stat=ierror1)
3564 ierror = ierror + ierror1
3565 ALLOCATE(
stifie(ninter),stat=ierror1)
3566 ierror = ierror + ierror1
3567 ALLOCATE(
gapfie(ninter),stat=ierror1)
3568 ierror = ierror + ierror1
3569 ALLOCATE(
xfie(ninter),stat=ierror1)
3570 ierror = ierror + ierror1
3571 ALLOCATE(
vfie(ninter),stat=ierror1)
3572 ierror = ierror + ierror1
3573 ALLOCATE(
nsvsie(ninter),stat=ierror1)
3574 ierror = ierror + ierror1
3575 ALLOCATE(
nsnsie(ninter),stat=ierror1)
3576 ierror = ierror + ierror1
3577 ALLOCATE(
afie(ninter),stat=ierror1)
3578 ierror = ierror + ierror1
3579 ALLOCATE(
stnfie(ninter),stat=ierror1)
3580 ierror = ierror + ierror1
3581 ALLOCATE(
vscfie(ninter),stat=ierror1)
3582 ierror = ierror + ierror1
3583 ALLOCATE(
penfie(ninter),stat=ierror1)
3584 ierror = ierror + ierror1
3585 ALLOCATE(
fskyfie(ninter),stat=ierror1)
3586 ierror = ierror + ierror1
3587 ALLOCATE(
iskyfie(ninter),stat=ierror1)
3588 ierror = ierror + ierror1
3589
3590 ALLOCATE (
nlskyfie(ninter),stat=ierror1)
3591 ierror = ierror + ierror1
3593
3594 ALLOCATE(
daanc6fie(ninter),stat=ierror1)
3595 ierror = ierror + ierror1
3596 ALLOCATE(
dxancfie(ninter),stat=ierror1)
3597 ierror = ierror + ierror1
3598 ALLOCATE(
dvancfie(ninter),stat=ierror1)
3599 ierror = ierror + ierror1
3600 ALLOCATE(
penfiae(ninter),stat=ierror1)
3601 ierror = ierror + ierror1
3602 ALLOCATE(
alphakfie(ninter),stat=ierror1)
3603 ierror = ierror + ierror1
3604 ALLOCATE(
daancfie(ninter),stat=ierror1)
3605 ierror = ierror + ierror1
3607 ierror = ierror + ierror1
3608
3609 ALLOCATE (
nodnxfie(ninter),stat=ierror1)
3610 ierror = ierror + ierror1
3611 ALLOCATE (
nodamsfie(ninter),stat=ierror1)
3612 ierror = ierror + ierror1
3614 ierror = ierror + ierror1
3615
3616
3617
3618 ALLOCATE (
mtfi_pene(ninter),stat=ierror1)
3619 ierror = ierror + ierror1
3621 ierror = ierror + ierror1
3622 ALLOCATE (
mtfi_v(ninter),stat=ierror1)
3623 ierror = ierror + ierror1
3624 ALLOCATE (
mtfi_a(ninter),stat=ierror1)
3625 ierror = ierror + ierror1
3626 ALLOCATE (
i18kafi(ninter),stat=ierror1)
3627 ierror = ierror + ierror1
3628 ALLOCATE (
mtfi_n(ninter),stat=ierror1)
3629 ierror = ierror + ierror1
3630
3631 ALLOCATE (
time_sfi(ninter),stat=ierror1)
3632 ierror = ierror + ierror1
3633 ALLOCATE (
irtlm_fi(ninter),stat=ierror1)
3634 ierror = ierror + ierror1
3636 ierror = ierror + ierror1
3638 ierror = ierror + ierror1
3640 ierror = ierror + ierror1
3642 ierror = ierror + ierror1
3643 ALLOCATE (
isedge_fi(ninter),stat=ierror1)
3644 ierror = ierror + ierror1
3645 ALLOCATE (
irtse_fi(ninter),stat=ierror1)
3646 ierror = ierror + ierror1
3647 ALLOCATE (
is2pt_fi(ninter),stat=ierror1)
3648 ierror = ierror + ierror1
3649 ALLOCATE (
isegpt_fi(ninter),stat=ierror1)
3650 ierror = ierror + ierror1
3651 ALLOCATE (
is2se_fi(ninter),stat=ierror1)
3652 ierror = ierror + ierror1
3653 ALLOCATE (
ispt2_fi(ninter),stat=ierror1)
3654 ierror = ierror + ierror1
3655 ALLOCATE (
remnor_fi(ninter),stat=ierror1)
3656 ierror = ierror + ierror1
3658 ierror = ierror + ierror1
3659
3660 ALLOCATE (
islide_fi(ninter),stat=ierror1)
3661 ierror = ierror + ierror1
3662 ALLOCATE (
icodt_fi(ninter),stat=ierror1)
3663 ierror = ierror + ierror1
3664 ALLOCATE (
iskew_fi(ninter),stat=ierror1)
3665 ierror = ierror + ierror1
3666 ipstif = 0
3667 DO i = 1,ninter
3668 IF(ipari(97,i) > 0) ipstif = ipstif + ipari(97,i)
3669 END DO
3670 IF(parameters%ISTIF_DT > 0 .OR. ipstif>0 ) THEN
3673 ENDIF
3674
3675 IF(intheat > 0 ) THEN
3676 ALLOCATE (
ftheskyfi(ninter),stat=ierror1)
3677 ierror = ierror + ierror1
3678 ALLOCATE(
fthefi(ninter),stat=ierror1)
3679 ierror = ierror + ierror1
3680 ALLOCATE(
tempfi(ninter),stat=ierror1)
3681 ierror = ierror + ierror1
3682 ALLOCATE(
matsfi(ninter),stat=ierror1)
3683 ierror = ierror + ierror1
3684 ALLOCATE(
nmtemp(ninter),stat=ierror1)
3685 ierror = ierror + ierror1
3686 IF(idt_therm == 1) THEN
3687 ALLOCATE(
condnfi(ninter),stat=ierror1)
3688 ierror = ierror + ierror1
3690 ierror = ierror + ierror1
3691 ENDIF
3692 ENDIF
3693 IF(intheat > 0 .OR.nintloadp21 > 0) THEN
3694 ALLOCATE(
nmnfi(ninter),stat=ierror1)
3695 ierror = ierror + ierror1
3696 ALLOCATE(
nmvfi(ninter),stat=ierror1)
3697 ierror = ierror + ierror1
3698 ALLOCATE(
nmnsi(ninter),stat=ierror1)
3699 ierror = ierror + ierror1
3700 ALLOCATE(
nmvsi(ninter),stat=ierror1)
3701 ierror = ierror + ierror1
3702 ALLOCATE(
tempnod(ninter),stat=ierror1)
3703 ierror = ierror + ierror1
3704 ENDIF
3705 IF(nintloadp21 > 0) THEN
3707 ierror = ierror + ierror1
3708 ENDIF
3709 IF(ninterfric > 0 ) THEN
3711 ierror = ierror + ierror1
3713 ierror = ierror + ierror1
3714 ENDIF
3715
3716 ALLOCATE (
nodnxfi(ninter),stat=ierror1)
3717 ierror = ierror + ierror1
3718 ALLOCATE (
nodamsfi(ninter),stat=ierror1)
3719 ierror = ierror + ierror1
3720 ALLOCATE (
procamsfi(ninter),stat=ierror1)
3721 ierror = ierror + ierror1
3722
3724 ierror = ierror + ierror1
3726 ierror = ierror + ierror1
3727
3728 IF(intheat > 0.OR.interadhesion > 0 ) THEN
3729 ALLOCATE(
areasfi(ninter),stat=ierror1)
3730 DO i = 1, ninter
3732 ENDDO
3733 ierror = ierror + ierror1
3734 ENDIF
3735
3736 IF(interadhesion > 0) THEN
3737 ALLOCATE(
if_adhfi(ninter),stat=ierror1)
3738 DO i = 1, ninter
3740 ENDDO
3741 ierror = ierror + ierror1
3742 ENDIF
3743
3744 ALLOCATE(
candf_si(ninter),stat=ierror1)
3745 ierror = ierror + ierror1
3746
3747 IF(nitsche > 0 ) THEN
3748 ALLOCATE(
forneqsfi(ninter),stat=ierror1)
3749 ierror = ierror + ierror1
3750 ENDIF
3751
3752
3753 ALLOCATE(
efricfi(ninter),stat=ierror1)
3754 ierror = ierror + ierror1
3756 ierror = ierror + ierror1
3757
3758
3764
3765
3766
3767 DO i=1,ninter
3790
3795 IF(parameters%INTCAREA > 0)
NULLIFY(
intareanfi(i)%p)
3796
3801
3802
3803
3806
3814
3823
3827
3828
3851
3856
3861
3876
3883 IF(parameters%ISTIF_DT > 0 .OR. ipari(97,i)>0 ) THEN
3886 ENDIF
3887
3888
3894
3897 END DO
3898
3899 IF(intheat /= 0) THEN
3900 DO i=1,ninter
3907 END DO
3908 IF(interadhesion /= 0) THEN
3909 DO i=1,ninter
3911 ENDDO
3912 ENDIF
3913 IF(idt_therm == 1) THEN
3914 DO i=1,ninter
3917 ENDDO
3918 ENDIF
3919 ENDIF
3920 IF(intheat /= 0.OR.nintloadp21 > 0) THEN
3921 DO i=1,ninter
3927 END DO
3928 ENDIF
3929 IF(nintloadp21 > 0) THEN
3930 DO i=1,ninter
3932 END DO
3933 ENDIF
3934
3935 IF(ninterfric > 0 ) THEN
3936 DO i=1,ninter
3939 ENDDO
3940 ENDIF
3941
3942 IF(nitsche > 0 ) THEN
3943 DO i=1,ninter
3945 ENDDO
3946 ENDIF
3947
3948 IF(ierror/=0) THEN
3949 CALL ancmsg(msgid=20,anmode=aninfo)
3951 ENDIF
3952
3953
3954
3955 nbintc = 0
3956 DO i =1, ninter
3957 ityp = ipari(7,i)
3958 ivis2 = ipari(14,i)
3959 igap = ipari(21,i)
3960 inacti = ipari(22,i)
3961 intth = ipari(47,i)
3962 intfric = ipari(72,i)
3963 flagremn = ipari(63,i)
3964 intnitsche = ipari(86,i)
3965 itied = ipari(85,i)
3966 nsn =ipari(5,i)
3967
3968 IF(ityp==24) THEN
3969 iedge4 = ipari(59,i)
3970 ELSE
3971 iedge4 = 0
3972 ENDIF
3973 IF(ityp==7.OR.ityp==10.OR.ityp==11.OR.
3974 + (ityp==17.AND.ipari(33,i)==0).OR.ityp==20.OR.
3975 + ityp==22.OR.ityp==23.OR.ityp==24.OR.
3976 + ityp==25)THEN
3977
3978 nbintc = nbintc + 1
3979 ALLOCATE(
nsnsi(i)%P(nspmd),stat=ierror)
3980 ALLOCATE(
nsnfi(i)%P(nspmd),stat=ierror1)
3981
3982
3983 IF(ierror+ierror1/=0) THEN
3984 CALL ancmsg(msgid=20,anmode=aninfo)
3986 ENDIF
3989 lens = 0
3990 lenr = 0
3991 DO p = 1, nspmd
3992 lens = lens +
nsnsi(i)%P(p)
3993 lenr = lenr +
nsnfi(i)%P(p)
3994 END DO
3995
3996 ierror = 0
3997
3998 ierror1 = 0
3999 IF(lens>0) THEN
4000 ALLOCATE(
nsvsi(i)%P(lens),stat=ierror1)
4002 ierror = ierror + ierror1
4003 ENDIF
4004 ALLOCATE(
candf_si(i)%P(nsn),stat=ierror1)
4006
4007 IF(lenr>0) THEN
4008 ALLOCATE(
nsvfi(i)%P(lenr),stat=ierror1)
4009 ierror = ierror + ierror1
4011 IF(ityp==7.OR.ityp==10.OR.
4012 + ityp==20.OR.ityp==22.OR.
4013 + ityp==23.OR.ityp==24.OR.
4014 + ityp==25)THEN
4015 ALLOCATE(
itafi(i)%P(lenr),stat=ierror1)
4016 ierror = ierror + ierror1
4018 IF(ityp==7.OR.ityp==20.OR.ityp==22.OR.
4019 + ityp==23.OR.ityp==24.OR.ityp==25)THEN
4020 ALLOCATE(
kinfi(i)%P(lenr),stat=ierror1)
4021 ierror = ierror + ierror1
4023
4024 IF(ityp==20)THEN
4025 ALLOCATE(
nbinflfi(i)%P(lenr),stat=ierror1)
4026 ierror = ierror + ierror1
4028 END IF
4029
4030 IF(intth > 0 ) THEN
4031 ALLOCATE(
matsfi(i)%P(lenr),stat=ierror1)
4032 ierror = ierror + ierror
4034 ENDIF
4035 IF((ityp==7.OR.ityp==24.OR.ityp==25).AND.intfric > 0) THEN
4037 ierror = ierror + ierror
4039 ENDIF
4040
4041 IF (ityp==24)THEN
4043 *
ALLOCATE(
irtlm_fi(i)%P(2,lenr),stat=ierror1)
4044
4047 *
ALLOCATE(
icont_i_fi(i)%P(lenr),stat=ierror1)
4049
4051 *
ALLOCATE(
isedge_fi(i)%P(lenr),stat=ierror1)
4053
4054 IF(iedge4 >0)THEN
4056 *
ALLOCATE(
irtse_fi(i)%P(5,lenr),stat=ierror1)
4058
4060 *
ALLOCATE(
is2pt_fi(i)%P(lenr),stat=ierror1)
4062
4064 *
ALLOCATE(
ispt2_fi(i)%P(lenr),stat=ierror1)
4066
4068 *
ALLOCATE(
isegpt_fi(i)%P(lenr),stat=ierror1)
4070
4072 *
ALLOCATE(
is2se_fi(i)%P(2,lenr),stat=ierror1)
4074
4075 ENDIF
4076 IF(intnitsche >0)THEN
4078 *
ALLOCATE(
forneqsfi(i)%P(3,lenr),stat=ierror1)
4080 ENDIF
4081
4082 ENDIF
4083
4084 IF (ityp==25)THEN
4085 IF(.NOT.
ASSOCIATED(
pmainfi(i)%P))
4086 *
ALLOCATE(
pmainfi(i)%P(lenr),stat=ierror1)
4089 *
ALLOCATE(
irtlm_fi(i)%P(4,lenr),stat=ierror1)
4092 *
ALLOCATE(
icont_i_fi(i)%P(lenr),stat=ierror1)
4094
4096 *
ALLOCATE(
icodt_fi(i)%P(lenr),stat=ierror1)
4097
4099
4101 *
ALLOCATE(
iskew_fi(i)%P(lenr),stat=ierror1)
4103
4104
4105
4107 *
ALLOCATE(
islide_fi(i)%P(4,lenr),stat=ierror1)
4108
4110
4111 IF(flagremn==2) THEN
4113 *
ALLOCATE(
kremnor_fi(i)%P(lenr+1),stat=ierror1)
4116 IF(sizremnorfi /= 0) THEN
4118 *
ALLOCATE(
remnor_fi(i)%P(sizremnorfi),stat=ierror1)
4120 ELSE IF(sizremnorfi == 0) THEN
4122 *
ALLOCATE(
remnor_fi(i)%P(sizremnorfi),stat=ierror1)
4123 ENDIF
4124 ENDIF
4125 ENDIF
4126 END IF
4127
4128 IF(idtmins_old == 2) THEN
4129 ALLOCATE (
nodnxfi(i)%P(lenr),stat=ierror1)
4130 ierror = ierror + ierror1
4132 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4133 ierror = ierror + ierror1
4135 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4136 ierror = ierror + ierror1
4138 IF (ityp==24) THEN
4140 ierror = ierror + ierror1
4142 ENDIF
4143 ELSEIF(idtmins_int_old /= 0) THEN
4144 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4145 ierror = ierror + ierror1
4147 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4148 ierror = ierror + ierror1
4150 IF (ityp==24) THEN
4152 ierror = ierror + ierror1
4154 ENDIF
4155 ENDIF
4156
4157 IF(idtmins==2) THEN
4158 IF(.NOT.
ASSOCIATED(
nodnxfi(i)%P))
THEN
4159 ALLOCATE (
nodnxfi(i)%P(lenr),stat=ierror1)
4160 ierror = ierror + ierror1
4162 ENDIF
4163 IF(.NOT.
ASSOCIATED(
nodamsfi(i)%P))
THEN
4164 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4165 ierror = ierror + ierror1
4167 ENDIF
4168 IF(.NOT.
ASSOCIATED(
procamsfi(i)%P))
THEN
4169 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4170 ierror = ierror + ierror1
4172 ENDIF
4173 IF (ityp==24) THEN
4176 ierror = ierror + ierror1
4178 ENDIF
4179 ENDIF
4180 ELSEIF(idtmins_int /= 0) THEN
4181 IF(.NOT.
ASSOCIATED(
nodamsfi(i)%P))
THEN
4182 ALLOCATE (
nodamsfi(i)%P(lenr),stat=ierror1)
4183 ierror = ierror + ierror1
4185 ENDIF
4186 IF(.NOT.
ASSOCIATED(
procamsfi(i)%P))
THEN
4187 ALLOCATE (
procamsfi(i)%P(lenr),stat=ierror1)
4188 ierror = ierror + ierror1
4190 ENDIF
4191 IF (ityp==24) THEN
4194 ierror = ierror + ierror1
4196 ENDIF
4197 ENDIF
4198 END IF
4199
4200 ALLOCATE(
msfi(i)%P(lenr),stat=ierror1)
4201 ierror = ierror + ierror1
4202 ALLOCATE(
stifi(i)%P(lenr),stat=ierror1)
4203 ierror = ierror + ierror1
4204 IF(igap/=0)THEN
4205 ALLOCATE(
gapfi(i)%P(lenr),stat=ierror1)
4206 ierror = ierror + ierror1
4207 IF(igap==3)THEN
4208 ALLOCATE(
gap_lfi(i)%P(lenr),stat=ierror1)
4209 ierror = ierror + ierror1
4210 END IF
4211 END IF
4212 ALLOCATE(
xfi(i)%P(3,lenr),stat=ierror1)
4213 ierror = ierror + ierror1
4214 ALLOCATE(
vfi(i)%P(3,lenr),stat=ierror1)
4215 ierror = ierror + ierror1
4216
4217 IF(iparit==0) THEN
4218 ALLOCATE(
afi(i)%P(3,lenr*nthread),stat=ierror1)
4219 ierror = ierror + ierror1
4220 ALLOCATE(
stnfi(i)%P(lenr*nthread),stat=ierror1)
4221 ierror = ierror + ierror1
4222 IF(kdtint/=0)THEN
4223 ALLOCATE(
vscfi(i)%P(lenr*nthread
4224 ierror = ierror + ierror1
4225 ENDIF
4226
4227 DO k=1,lenr*nthread
4232 ENDDO
4233
4234 IF(kdtint/=0)THEN
4235 vscfi(i)%P(1:lenr*nthread)=zero
4236 ENDIF
4237
4238
4240
4241 IF(intth > 0 )THEN
4242 ALLOCATE(
fthefi(i)%P(lenr*nthread),stat=ierror1)
4243 ierror = ierror + ierror1
4244
4245 fthefi(i)%P(1:lenr*nthread)=zero
4246
4247 ALLOCATE(
tempfi(i)%P(lenr),stat=ierror1)
4248 ierror = ierror + ierror1
4249
4250
4251 ENDIF
4252 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4253 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4254 ierror = ierror + ierror1
4255 ENDIF
4256
4257 IF(ityp == 25.AND.ivis2==-1) THEN
4258 ALLOCATE(
if_adhfi(i)%P(lenr),stat=ierror1)
4259 ierror = ierror + ierror1
4260 ENDIF
4261
4262 IF(idt_therm ==1.AND.intth > 0) THEN
4263 ALLOCATE(
condnfi(i)%P(lenr*nthread),stat=ierror1)
4264 ierror = ierror + ierror1
4265 condnfi(i)%P(1:lenr*nthread)=zero
4266 ENDIF
4267 ELSE
4268
4269
4271 lskyfi = 0
4272
4273
4274 IF(intth > 0 ) THEN
4275 ALLOCATE(
tempfi(i)%P(lenr),stat=ierror1)
4276 ierror = ierror + ierror1
4277 ENDIF
4278
4279 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4280 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4281 ierror = ierror + ierror1
4282 ENDIF
4283 IF(ityp == 25.AND.ivis2==-1) THEN
4284 ALLOCATE(
if_adhfi(i)%P(lenr),stat=ierror1)
4285 ierror = ierror + ierror1
4286 ENDIF
4287
4288 END IF
4289 IF(ityp == 24)THEN
4290 ALLOCATE(
time_sfi(i)%P(lenr),stat=ierror1)
4292 ierror = ierror + ierror1
4293 ELSEIF(ityp == 25)THEN
4294 ALLOCATE(
time_sfi(i)%P(2*lenr),stat=ierror1)
4296 ierror = ierror + ierror1
4297 END IF
4298 IF(ityp == 24 .OR. ityp == 25)THEN
4299 ALLOCATE(
secnd_frfi(i)%P(6,lenr),stat=ierror1)
4301 ierror = ierror + ierror1
4302 ALLOCATE(
pene_oldfi(i)%P(5,lenr),stat=ierror1)
4304 ierror = ierror + ierror1
4305 ALLOCATE(
stif_oldfi(i)%P(2,lenr),stat=ierror1)
4307 ierror = ierror + ierror1
4308
4309 IF(ipari(97,i) > 0) THEN
4312 ENDIF
4313
4314 IF(ityp == 25.AND.parameters%INTCAREA > 0.AND.ipari(36,i)>0) THEN
4316 ierror = ierror + ierror1
4318 ENDIF
4319 IF(ityp == 24.AND.parameters%INTCAREA > 0) THEN
4321 ierror = ierror + ierror1
4323 ENDIF
4324 ENDIF
4325 ELSEIF(ityp==11)THEN
4326
4327 ALLOCATE(
itafi(i)%P(2*lenr),stat=ierror1)
4328 ierror = ierror + ierror1
4330
4331 IF(idtmins_old == 2) THEN
4332 ALLOCATE (
nodnxfi(i)%P(2*lenr),stat=ierror1)
4333 ierror = ierror + ierror1
4335 ALLOCATE (
nodamsfi(i)%P(2*lenr),stat=ierror1)
4336 ierror = ierror + ierror1
4338 ALLOCATE (
procamsfi(i)%P(2*lenr),stat=ierror1)
4339 ierror = ierror + ierror1
4341 ELSEIF(idtmins_int_old /= 0) THEN
4342 ALLOCATE (
nodamsfi(i)%P(2*lenr),stat=ierror1)
4343 ierror = ierror + ierror1
4345 ALLOCATE (
procamsfi(i)%P(2*lenr),stat=ierror1)
4346 ierror = ierror + ierror1
4348 ENDIF
4349
4350 IF(intth > 0 ) THEN
4351 ALLOCATE(
matsfi(i)%P(lenr),stat=ierror1)
4352 ierror = ierror + ierror1
4354 ENDIF
4355
4356 IF(intfric > 0) THEN
4358 ierror = ierror + ierror
4360 ENDIF
4361
4362 ALLOCATE(
msfi(i)%P(2*lenr),stat=ierror1)
4363 ierror = ierror + ierror1
4364 ALLOCATE(
stifi(i)%P(lenr),stat=ierror1)
4365 ierror = ierror + ierror1
4366 IF(igap/=0)THEN
4367 ALLOCATE(
gapfi(i)%P(lenr),stat=ierror1)
4368 ierror = ierror + ierror1
4369 IF(igap==3)THEN
4370 ALLOCATE(
gap_lfi(i)%P(lenr),stat=ierror1)
4371 ierror = ierror + ierror1
4372 END IF
4373 END IF
4374 ALLOCATE(
xfi(i)%P(3,2*lenr),stat=ierror1)
4375 ierror = ierror + ierror1
4376 ALLOCATE(
vfi(i)%P(3,2*lenr),stat=ierror1)
4377 ierror = ierror + ierror1
4378 IF(inacti==5.OR.inacti==6) THEN
4379 ALLOCATE(
penfi(i)%P(2,lenr),stat=ierror1)
4380 END IF
4381 IF(iparit==0) THEN
4382 ALLOCATE(
afi(i)%P(3,2*lenr*nthread),stat=ierror1)
4383 ierror = ierror + ierror1
4384 ALLOCATE(
stnfi(i)%P(2*lenr*nthread),stat=ierror1)
4385 ierror = ierror + ierror1
4386 IF(kdtint/=0)THEN
4387 ALLOCATE(
vscfi(i)%P(2*lenr*nthread),stat=ierror1)
4388 ierror = ierror + ierror1
4389 ENDIF
4390 IF(intth > 0 )THEN
4391 ALLOCATE(
fthefi(i)%P(2*lenr*nthread),stat=ierror1)
4392 ierror = ierror + ierror1
4393 ALLOCATE(
tempfi(i)%P(2*lenr),stat=ierror1)
4394 ierror = ierror + ierror1
4395
4396
4397 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1
4398 ierror = ierror + ierror1
4399 ENDIF
4400 IF(idt_therm ==1.AND.intth > 0) THEN
4401 ALLOCATE(
condnfi(i)%P(2*lenr*nthread),stat=ierror1)
4402 ierror = ierror + ierror1
4403 ENDIF
4405
4406 ELSE
4407 lskyfi = 0
4409
4410 IF(intth > 0 ) THEN
4411 ALLOCATE(
tempfi(i)%P(2*lenr),stat=ierror1)
4412 ierror = ierror + ierror1
4413
4414
4415 ENDIF
4416
4417 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4418 ALLOCATE(
areasfi(i)%P(lenr),stat=ierror1)
4419 ierror = ierror + ierror1
4420 ENDIF
4421 END IF
4422
4423 ELSEIF(ityp==17)THEN
4424 ALLOCATE(
xfi17(i)%P(3,16,lenr),stat=ierror1)
4425 ierror = ierror + ierror1
4426 ALLOCATE(
vfi17(i)%P(3,16,lenr),stat=ierror1)
4427 ierror = ierror + ierror1
4428 ALLOCATE(
frotsfi(i)%P(7,lenr),stat=ierror1)
4429 ierror = ierror + ierror1
4430 ALLOCATE(
ksfi(i)%P(2,lenr),stat=ierror1)
4431 ierror = ierror + ierror1
4432 ALLOCATE(
eminxfi(i)%P(6,lenr),stat=ierror1)
4433 ierror = ierror + ierror1
4434 IF(iparit==0) THEN
4435 ALLOCATE(
afi17(i)%P(3,16,lenr),stat=ierror1)
4436 ierror = ierror + ierror1
4437 ALLOCATE(
stnfi17(i)%P(16,lenr),stat=ierror1)
4438 ierror = ierror + ierror1
4440 ELSE
4441 lskyfi = lenr * multimax
4443
4444 ALLOCATE(
iskyfi(i)%P(lskyfi),stat=ierror1)
4445 ierror = ierror + ierror1
4446 ALLOCATE(
fskyfi(i)%P(40,lskyfi),stat=ierror1)
4447 ierror = ierror + ierror1
4448 END IF
4449
4450 END IF
4451
4452 ELSE
4454 ENDIF
4455
4456 IF(ierror/=0) THEN
4457 CALL ancmsg(msgid=20,anmode=aninfo)
4459 ENDIF
4460
4461 IF(ityp==20)THEN
4462 ALLOCATE(
daanc6fi(i)%P(3,6,lenr),stat=ierror1)
4463 ierror = ierror + ierror1
4464 ALLOCATE(
dxancfi(i)%P(3,lenr),stat=ierror1)
4465 ierror = ierror + ierror1
4466 ALLOCATE(
dvancfi(i)%P(3,lenr),stat=ierror1)
4467 ierror = ierror + ierror1
4468 IF((inacti==5.OR.inacti==6) .AND. lenr > 0) THEN
4469 ALLOCATE(
penfi(i)%P(2,lenr),stat=ierror1)
4470 ierror = ierror + ierror1
4471 ALLOCATE(
penfia(i)%P(5,lenr),stat=ierror1)
4472 ierror = ierror + ierror1
4473 END IF
4474 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4475 ALLOCATE (
diag_smsfi(i)%P(lenr),stat=ierror1)
4476 ierror = ierror + ierror1
4477 ENDIF
4478 ALLOCATE(
alphakfi(i)%P(lenr),stat=ierror1)
4479 ierror = ierror + ierror1
4480 ALLOCATE(
daancfi(i)%P(3,lenr),stat=ierror1)
4482 ierror = ierror + ierror1
4483 IF(ierror/=0) THEN
4484 CALL ancmsg(msgid=20,anmode=aninfo)
4486 END IF
4487
4488 ALLOCATE(
nsnsie(i)%P(nspmd),stat=ierror1)
4489 ierror = ierror + ierror1
4490 ALLOCATE(
nsnfie(i)%P(nspmd),stat=ierror1)
4491 ierror = ierror + ierror1
4494 lens = 0
4495 lenr = 0
4496 DO p = 1, nspmd
4497 lens = lens +
nsnsie(i)%P(p)
4498 lenr = lenr +
nsnfie(i)%P(p)
4499 END DO
4500
4501 IF(lens>0) THEN
4502 ALLOCATE(
nsvsie(i)%P(lens),stat=ierror1)
4504 ierror = ierror + ierror1
4505 ENDIF
4506
4507 IF(lenr>0) THEN
4508 ALLOCATE(
nsvfie(i)%P(lenr),stat=ierror1)
4509 ierror = ierror + ierror1
4511 ALLOCATE(
itafie(i)%P(2*lenr),stat=ierror1)
4512 ierror = ierror + ierror1
4514 ALLOCATE(
msfie(i)%P(2*lenr),stat=ierror1)
4515 ierror = ierror + ierror1
4516 ALLOCATE(
stifie(i)%P(lenr),stat=ierror1)
4517 ierror = ierror + ierror1
4518 IF(igap/=0)THEN
4519 ALLOCATE(
gapfie(i)%P(lenr),stat=ierror1)
4520 ierror = ierror + ierror1
4521 END IF
4522 ALLOCATE(
xfie(i)%P(3,2*lenr),stat=ierror1)
4523 ierror = ierror + ierror1
4524 ALLOCATE(
vfie(i)%P(3,2*lenr),stat=ierror1)
4525 ierror = ierror + ierror1
4526 IF(inacti==5.OR.inacti==6) THEN
4527 ALLOCATE(
penfie(i)%P(2,lenr),stat=ierror1)
4528 ierror = ierror + ierror1
4529 ALLOCATE(
penfiae(i)%P(5,2*lenr),stat=ierror1)
4530 ierror = ierror + ierror1
4531 END IF
4532 IF(iparit==0) THEN
4533 ALLOCATE(
afie(i)%P(3,2*lenr*nthread),stat=ierror1)
4534 ierror = ierror + ierror1
4535 ALLOCATE(
stnfie(i)%P(2*lenr*nthread),stat=ierror1)
4536 ierror = ierror + ierror1
4537 IF(kdtint/=0)THEN
4539 ierror = ierror + ierror1
4540 ENDIF
4542 ELSE
4543 lskyfi = lenr * multimax
4545 ALLOCATE(
iskyfie(i)%P(lskyfi),stat=ierror1)
4546 ierror = ierror + ierror1
4547 IF(kdtint==0) THEN
4548
4549 ALLOCATE(
fskyfie(i)%P(10,lskyfi),stat=ierror1)
4550
4551 ELSE
4552 ALLOCATE(
fskyfie(i)%P(10,lskyfi),stat=ierror1)
4553 END IF
4554 ierror = ierror + ierror1
4555 END IF
4556 ALLOCATE(
daanc6fie(i)%P(3,6,2*lenr),stat=ierror1)
4557 ierror = ierror + ierror1
4558 ALLOCATE(
dxancfie(i)%P(3,2*lenr),stat=ierror1)
4559 ierror = ierror + ierror1
4560 ALLOCATE(
dvancfie(i)%P(3,2*lenr),stat=ierror1)
4561 ierror = ierror + ierror1
4562 ALLOCATE(
alphakfie(i)%P(2*lenr),stat=ierror1)
4563 ierror = ierror + ierror1
4564 ALLOCATE(
daancfie(i)%P(3,lenr),stat=ierror1)
4565 ierror = ierror + ierror1
4566 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4568 ierror = ierror + ierror1
4569 ENDIF
4570
4571 IF(idtmins_old == 2) THEN
4572 ALLOCATE (
nodnxfie(i)%P(lenr),stat=ierror1)
4573 ierror = ierror + ierror1
4575 ALLOCATE (
nodamsfie(i)%P(lenr),stat=ierror1)
4576 ierror = ierror + ierror1
4578 ALLOCATE (
procamsfie(i)%P(lenr),stat=ierror1)
4579 ierror = ierror + ierror1
4581 ELSEIF(idtmins_int_old /= 0) THEN
4582 ALLOCATE (
nodamsfie(i)%P(lenr),stat=ierror1)
4583 ierror = ierror + ierror1
4585 ALLOCATE (
procamsfie(i)%P(lenr),stat=ierror1)
4586 ierror = ierror + ierror1
4588 ENDIF
4589
4590 IF(ierror/=0) THEN
4591 CALL ancmsg(msgid=20,anmode=aninfo)
4593 END IF
4594
4595 ELSE
4597 END IF
4598 END IF
4599
4600 IF(ityp == 25 ) THEN
4602 ALLOCATE(
nsnsie(i)%P(nspmd),stat=ierror1)
4603 ALLOCATE(
nsnfie(i)%P(nspmd),stat=ierror1)
4607
4608 IF(ipari(58,i) /=0) THEN
4609
4612
4613 lens_edge = 0
4614 lenr_edge = 0
4615 DO p = 1, nspmd
4616 lens_edge = lens_edge +
nsnsie(i)%P(p)
4617 lenr_edge = lenr_edge +
nsnfie(i)%P(p)
4618 END DO
4619
4620 IF(lens_edge>0) THEN
4621 ALLOCATE(
nsvsie(i)%P(lens_edge),stat=ierror1)
4623 ierror = ierror + ierror1
4624 ENDIF
4625
4626 IF(iparit == 0) THEN
4628 ALLOCATE(
afie(i)%P(3,2*lenr_edge*nthread),stat=ierror1)
4629 ierror = ierror + ierror1
4630 ALLOCATE(
stnfie(i)%P(2*lenr_edge*nthread),stat=ierror1)
4631 ierror = ierror + ierror1
4632 IF(kdtint/=0)THEN
4633 ALLOCATE(
vscfie(i)%P(2*lenr_edge*nthread),stat=ierror1)
4634 ierror = ierror + ierror1
4635 ENDIF
4636 ELSE
4637 lskyfi = lenr_edge * multimax
4639 ALLOCATE(
iskyfie(i)%P(lskyfi),stat=ierror1)
4640 ierror = ierror + ierror1
4641 IF(kdtint==0) THEN
4642 ALLOCATE(
fskyfie(i)%P(8,lskyfi),stat=ierror1)
4643 ELSE
4644 ALLOCATE(
fskyfie(i)%P(8,lskyfi),stat=ierror1)
4645 END IF
4646 ierror = ierror + ierror1
4647 ENDIF
4648 IF(lenr_edge>0) THEN
4649 ALLOCATE(
nsvfie(i)%P(lenr_edge))
4650 ALLOCATE(
itafie(i)%P(lenr_edge*2))
4651 ALLOCATE(
ledge_fie(i)%P(e_ledge_size,lenr_edge))
4652 ALLOCATE(
xfie(i)%P(3,lenr_edge*2))
4653 ALLOCATE(
vfie(i)%P(3,lenr_edge*2))
4654 ALLOCATE(
msfie(i)%P(lenr_edge*2))
4655 ALLOCATE(
gapfie(i)%P(lenr_edge))
4656 IF( igap == 3) THEN
4658 ENDIF
4659 ALLOCATE(
stifie(i)%P(lenr_edge))
4666
4668
4670 ipari(69,i) = lenr_edge
4671 IF(intfric > 0) THEN
4674 ENDIF
4675 IF(ipari(97,i) > 0) THEN
4678 ENDIF
4679
4680 ENDIF
4681 ENDIF
4682 ENDIF
4683
4684
4685
4686 IF(ipari(36,i)>0.AND.ipari(7,i)/=17) THEN
4687
4688 ierror = 0
4689 ALLOCATE(
nisubsfi(i)%P(nspmd),stat=ierror1)
4690 ierror = ierror + ierror1
4692 leni = 0
4693 lenr = 0
4694 DO p = 1, nspmd
4696 lenr = lenr +
nsnfi(i)%P(p)
4697 END DO
4698
4699 IF(leni>0) THEN
4700 IF(lenr>0) THEN
4701 ALLOCATE(
addsubsfi(i)%P(lenr+1),stat=ierror1)
4702 ierror = ierror + ierror1
4704 END IF
4705 ALLOCATE(
lisubsfi(i)%P(leni),stat=ierror1)
4706 ierror = ierror + ierror1
4708 IF(ipari(7,i)==25.OR.ipari(7,i)==7.OR.ipari(7,i)==24.OR.ipari(7,i)==11)THEN
4710 ierror = ierror + ierror1
4712 END IF
4713 ELSE
4714 IF(lenr>0) THEN
4715 ALLOCATE(
addsubsfi(i)%P(lenr+1),stat=ierror1)
4716 DO j=1,lenr+1
4718 END DO
4719 END IF
4720 END IF
4721 IF(ierror/=0) THEN
4722 CALL ancmsg(msgid=20,anmode=aninfo)
4724 END IF
4725
4726
4727 IF(ipari(7,i) == 25 .AND. ipari(58,i) > 0) THEN
4728 ierror = 0
4729 ALLOCATE(
nisubsfie(i)%P(nspmd),stat=ierror1)
4730 ierror = ierror + ierror1
4732 leni = 0
4733 DO p = 1, nspmd
4735 END DO
4736 IF(leni>0) THEN
4737 IF(lenr_edge>0) THEN
4738 ALLOCATE(
addsubsfie(i)%P(lenr_edge+1),stat=ierror1)
4739 ierror = ierror + ierror1
4741 END IF
4742 ALLOCATE(
lisubsfie(i)%P(leni),stat=ierror1)
4743 ierror = ierror + ierror1
4746 ierror = ierror + ierror1
4748 ELSE
4749 IF(lenr_edge>0) THEN
4750 ALLOCATE(
addsubsfie(i)%P(lenr_edge+1),stat=ierror1)
4751 DO j=1,lenr_edge+1
4753 END DO
4754 END IF
4755 END IF
4756 ENDIF
4757 END IF
4758
4759
4760 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT >0)THEN
4761 ierror = 0
4762 ALLOCATE(
fnconti(i)%P(3,lenr),stat=ierror1)
4763 ierror = ierror + ierror1
4764 ALLOCATE(
ftconti(i)%P(3,lenr),stat=ierror1)
4765 ierror = ierror + ierror1
4766 IF(ierror/=0) THEN
4767 CALL ancmsg(msgid=20,anmode=aninfo)
4769 ELSE
4770 DO j = 1, lenr
4777 END DO
4778 END IF
4779 END IF
4780 END IF
4781
4782
4783
4784
4785 IF(ityp==21) THEN
4786
4787 IF(intth==2.OR.ipari(95,i) > 0) THEN
4788 nbintc = nbintc + 1
4789
4790 ierror = 0
4791
4792 ierror1 = 0
4793 ALLOCATE(
nmnsi(i)%P(nspmd),stat=ierror1)
4794 ierror = ierror + ierror1
4795
4796 ALLOCATE(
nmnfi(i)%P(nspmd),stat=ierror1)
4797 ierror = ierror + ierror1
4798 IF(ierror/=0) THEN
4799 CALL ancmsg(msgid=20,anmode=aninfo)
4801 ENDIF
4804 lens = 0
4805 lenr = 0
4806 DO p = 1, nspmd
4807 lens = lens +
nmnsi(i)%P(p)
4808 lenr = lenr +
nmnfi(i)%P(p)
4809 END DO
4810
4811 ierror = 0
4812
4813 ierror1 = 0
4814 IF(lens>0) THEN
4815 ALLOCATE(
nmvsi(i)%P(lens),stat=ierror1)
4817 ierror = ierror + ierror1
4818
4819 ALLOCATE(
tempnod(i)%P(lens),stat=ierror1)
4821 ierror = ierror + ierror1
4822
4823 ENDIF
4824
4825 IF(lenr>0) THEN
4826 ALLOCATE(
nmvfi(i)%P(lenr),stat=ierror1)
4827 ierror = ierror + ierror1
4828
4829 IF(ierror/=0) THEN
4830 CALL ancmsg(msgid=20,anmode=aninfo)
4832 ENDIF
4833
4835
4836 IF(ipari(95,i) > 0) THEN
4838 DO j = 1, lenr
4840 END DO
4841 ENDIF
4842
4843 IF(ipari(48,i) /= 0 )THEN
4844 IF(iparit==0) THEN
4845 ALLOCATE(
fthefi(i)%P(lenr*nthread),stat=ierror1)
4846 ierror = ierror + ierror1
4847
4848 fthefi(i)%P(1:lenr*nthread)=zero
4849 ELSE
4850 lskyfi = lenr * multimax
4851 ALLOCATE(
iskyfi(i)%P(lskyfi),stat=ierror1)
4852 ierror = ierror + ierror1
4853 ALLOCATE(
ftheskyfi(i)%P(lskyfi),stat=ierror1)
4854 ierror = ierror + ierror1
4857 ENDIF
4858 ENDIF
4859
4860 ENDIF
4861
4862
4863 ENDIF
4864 ENDIF
4865 ENDDO
4866
4867 ENDIF
4868
4869
4870 ELSE
4871
4872 IF(ninter/=0) THEN
4873 DO i =1, ninter
4874 ityp = ipari(7,i)
4875 ivis2 = ipari(14,i)
4876 igap = ipari(21,i)
4877 inacti = ipari(22,i)
4878 intth = ipari(47,i)
4879 IF(ityp==7.OR.ityp==10.OR.ityp==11.OR.
4880 + (ityp==17.AND.ipari(33,i)==0).OR.ityp==20.OR.
4881 + ityp==22.OR.ityp==23.OR.ityp
4882 + ityp==25)THEN
4883 lenr = 0
4884 DO p = 1, nspmd
4885 lenr = lenr +
nsnfi(i)%P(p)
4886 END DO
4887 IF(lenr>0) THEN
4888 IF(ityp==7.OR.ityp==22.OR.ityp==23.OR.
4889 + ityp==20.OR.ityp==10.OR.ityp==24.OR.
4890 + ityp==25)THEN
4893 IF(igap/=0)THEN
4895 IF(igap==3)THEN
4897 END IF
4898 END IF
4901
4902 IF((ityp == 7.OR.ityp == 20.OR.
4903 + ityp==22.OR.ityp==23.OR.ityp==24.OR.
4904 + ityp==25).AND.ipari(47,i) > 0) THEN
4906 ENDIF
4907 IF(intth>0.OR.(ityp == 25.AND.ivis2==-1)) THEN
4909 ENDIF
4910 IF(ityp == 25.AND.ivis2==-1) THEN
4912 ENDIF
4913
4914
4915
4916 ELSEIF(ityp==11) THEN
4919 IF(igap/=0)THEN
4921 IF(igap==3)THEN
4923 END IF
4924 END IF
4927 IF(inacti==5.OR.inacti==6) THEN
4929 END IF
4930 IF(ipari(47,i)>0) THEN
4933 ENDIF
4934 ELSEIF(ityp==17.AND.ipari(33,i)==0)THEN
4940 END IF
4941 END IF
4942 END IF
4943
4944 IF(ityp==20)THEN
4945
4946 IF(lenr>0) THEN
4950 IF(inacti==5.OR.inacti==6) THEN
4953 END IF
4956 IF(idtmins_old > 0 .OR. idtmins_int_old /= 0) THEN
4958 ENDIF
4959 END IF
4960
4961 lenr = 0
4962 DO p = 1, nspmd
4963 lenr = lenr +
nsnfie(i)%P(p)
4964 END DO
4965 IF(lenr>0) THEN
4968 IF(igap/=0)THEN
4970 END IF
4973 IF(inacti==5.OR.inacti==6) THEN
4976 END IF
4980 IF(idtmins_old > 0 .OR. idtmins_int_old /=THEN
4982 ENDIF
4983 END IF
4984 END IF
4985 IF (ityp==24)THEN
4987 ELSEIF(ityp==25)THEN
4989 END IF
4990 IF (ityp==24.OR.ityp==25)THEN
4994 IF(ipari(97,i) > 0) THEN
4996 ENDIF
4997 IF(ityp==25.AND.parameters%INTCAREA > 0.AND.ipari(36,i)>0) THEN
4999 ENDIF
5000 IF(ityp==24.AND.parameters%INTCAREA > 0) THEN
5002 ENDIF
5003 ENDIF
5004
5005 IF (ityp==24) THEN
5006 IF(idtmins_old == 2) THEN
5008 ierror = ierror + ierror1
5010 ELSEIF(idtmins_int_old /= 0) THEN
5012 ierror = ierror + ierror1
5014 ENDIF
5015
5016 IF(idtmins==2) THEN
5019 ierror = ierror + ierror1
5021 ENDIF
5022 ELSEIF(idtmins_int /= 0) THEN
5025 ierror = ierror + ierror1
5027 ENDIF
5028 END IF
5029 ENDIF
5030
5031 IF(ityp == 25 ) THEN
5032 IF(ipari(58,i) /=0) THEN
5033 lenr = 0
5034 DO p = 1, nspmd
5035 lenr = lenr +
nsnfie(i)%P(p)
5036 END DO
5037 IF(lenr>0) THEN
5043 IF( igap == 3) THEN
5045 ENDIF
5049 IF(idtmins_old == 2) THEN
5056 ELSEIF(idtmins_int_old /= 0) THEN
5061 ENDIF
5062
5063 IF(ipari(97,i) > 0) THEN
5065 ENDIF
5066 ENDIF
5067 ENDIF
5068 ENDIF
5069
5070 IF(ityp==21) THEN
5071
5072 IF(intth==2) THEN
5073
5074 lenr = 0
5075 DO p = 1, nspmd
5076 lenr = lenr +
nmnfi(i)%P(p)
5077 END DO
5078
5079 ierror = 0
5080
5081 ierror1 = 0
5082
5083 IF(lenr>0) THEN
5084 ALLOCATE(
nmtemp(i)%P(lenr),stat=ierror1)
5085 ierror = ierror + ierror1
5087 ENDIF
5088 IF(ierror/=0) THEN
5089 CALL ancmsg(msgid=20,anmode=aninfo)
5091 ENDIF
5092 ENDIF
5093 ENDIF
5094
5095 END DO
5096 END IF
5097 END IF
5098
5099 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(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(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)