39 1 IPART ,RNOISE ,IPARTC ,IPARTG ,IPARTSP ,
40 2 IGRPART ,IPM ,IPARTS ,PERTURB ,QP_IPERTURB,
41 3 QP_RPERTURB ,LSUBMODEL,UNITAB )
54#include "implicit_f.inc"
65 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
67 . RNOISE(,NUMELC+NUMELTG+NUMELS+NUMSPH),
68 . qp_rperturb(nperturb,4)
70 INTEGER (LIPART1,*),IPARTC(*),IPARTSP(*),IPARTG(*),IPARTS(*),
71 . IPM(NPROPMI,*),PERTURB(),QP_IPERTURB(NPERTURB,6)
72 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
73 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(INOUT) :: MAT_PARAM
75 TYPE (GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
79 INTEGER FLAG_FMT,I,J,K,ICOUNT,
81 . ,NB_RANDOM,I_SEED,(50),
82 . ii,nb_interv,sizey,igrprt,n,
83 . iok,
seed,seed_random,ifailcrit,ityp,ifailmat,
84 . l,ifailtype,i_perturb_var,empty,idperturb(nperturb),
85 . igrprts,npart_shell,npart_solid,offs
86 INTEGER,
DIMENSION(:),
ALLOCATABLE :: INDEX,INDEX_ITYP
87 my_real :: MEAN,SD,MEAN_INPUT,SD_INPUT,MAX_DISTRIB,TEMP,MIN_VALUE,
88 . MAX_VALUE,INTERV,
VALUE,MAX_VALUE1,MINVAL,MAXVAL,BID
89 my_real,
DIMENSION(:),
ALLOCATABLE :: array
94 DATA mess/
'PERTURBATION DEFINITION '/
100 idperturb(1:nperturb) = 0
102 ALLOCATE(index(numelc+numeltg+numels+numsph))
103 ALLOCATE(index_ityp(numelc+numeltg+numels+numsph))
116 . ipart ,rnoise ,ipartc ,ipartg ,igrpart ,
117 . ipm ,perturb ,lsubmodel,unitab
121 offs = offs + npart_shell
126 IF (npart_solid > 0)
THEN
129 . ipart ,rnoise ,igrpart ,ipm ,iparts ,
130 . perturb,lsubmodel ,unitab ,idperturb,index ,
131 . index_ityp,npart_solid ,offs ,qp_iperturb,
134 offs = offs + npart_solid
140 . ipart ,rnoise ,ipartc ,ipartg ,ipartsp ,
141 . igrpart ,iparts ,perturb ,idperturb,
142 . index ,index_ityp,npart_shell,offs ,qp_iperturb,
143 . qp_rperturb,lsubmodel,unitab)
147 CALL udouble(idperturb,1,nperturb,mess,0,bid)
149 IF (
ALLOCATED(index))
DEALLOCATE(index)
150 IF (
ALLOCATED(index_ityp))
DEALLOCATE(index_ityp)
subroutine hm_read_perturb(mat_param, ipart, rnoise, ipartc, ipartg, ipartsp, igrpart, ipm, iparts, perturb, qp_iperturb, qp_rperturb, lsubmodel, unitab)
subroutine hm_read_perturb_fail(mat_param, ipart, rnoise, ipartc, ipartg, ipartsp, igrpart, iparts, perturb, idperturb, index, index_ityp, npart_shell, offs, qp_iperturb, qp_rperturb, lsubmodel, unitab)
subroutine hm_read_perturb_part_shell(ipart, rnoise, ipartc, ipartg, igrpart, ipm, perturb, lsubmodel, unitab, idperturb, index, index_ityp, npart_shell, offs, qp_iperturb, qp_rperturb)
subroutine hm_read_perturb_part_solid(ipart, rnoise, igrpart, ipm, iparts, perturb, lsubmodel, unitab, idperturb, index, index_ityp, npart_solid, offs, qp_iperturb, qp_rperturb)