55#include "implicit_f.inc"
61#include "random_c.inc"
66 INTEGER ITAB(*),IRAND(*)
68 . x(3,*),alea(*),xseed(*)
70 TYPE (GROUP_) ,
TARGET,
DIMENSION(NGRNOD) :: IGRNOD
71 TYPE (),
INTENT(IN)::LSUBMODEL(*)
72 TYPE (UNIT_TYPE_),
INTENT(IN) ::UNITAB
79 EXTERNAL ngr2usr,aleat
83 INTEGER I,J,ID,IS,IGRS,IALL,NRANDG,SUB_ID
84 CHARACTER(LEN=NCHARKEY) :: KEY
86 INTEGER,
DIMENSION(:),
POINTER :: INGR2USR
96 is_available = .false.
111 . submodel_id = sub_id)
114 CALL hm_get_floatv(
'XALEA',alea(i),is_available,lsubmodel,unitab)
115 CALL hm_get_floatv(
'SEED',xseed(i),is_available,lsubmodel,unitab)
116 CALL hm_get_intv(
'GRNOD_ID',id,is_available,lsubmodel)
119 IF (alea(i) > zero)
THEN
121 IF(key(1:5) ==
'GRNOD')
THEN
123 ingr2usr => igrnod(1:ngrnod)%ID
124 irand(nrandg) = ngr2usr(id,ingr2usr,ngrnod)
125 IF (irand(nrandg) == 0)
THEN
152 IF ((nrandg == 0 .AND. xalea > zero).OR.(nrandg > 0 .AND. iall == 0) )
THEN
156 IF (nrandg == 0 .AND. xalea > zero)
THEN
161 x(1,i)=x(1,i)+xalea*aleat()
162 x(2,i)=x(2,i)+xalea*aleat()
163 x(3,i)=x(3,i)+xalea*aleat()
166 WRITE (iout,
'(8X,A)')
'NODE GROUP : ALL NODES'
167 WRITE (iout,1100) xalea
168 IF (
seed /= zero)
WRITE (iout,1200)
seed
172 WRITE(iout,1500)itab(i),x(1,i),x(2,i),x(3,i)
175 ELSEIF (nrandg > 0 .AND. iall == 0)
THEN
182 DO j=1,igrnod(igrs)%NENTITY
183 is=igrnod(igrs)%ENTITY(j)
184 x(1,is)=x(1,is)+alea(i)*aleat()
185 x(2,is)=x(2,is)+alea(i)*aleat()
186 x(3,is)=x(3,is)+alea(i)*aleat()
188 WRITE (iout,1050) igrnod(igrs)%ID
189 WRITE (iout,1100) alea(i)
190 IF (
seed /= zero)
WRITE (iout,1200)
seed
196 DO j=1,igrnod(igrs)%NENTITY
197 is=igrnod(igrs)%ENTITY(j)
198 WRITE(iout,1500) itab(is),x(1,is),x(2,is),x(3,is)
208 1050
FORMAT(/8x,
'NODE GROUP : ID = ',i10)
209 1100
FORMAT( 8x,
'MAXIMUM RANDOM NOISE : XALEA = ',1pg20.13)
210 1200
FORMAT( 8x,
'RANDOM SEQUENCE : SEED = ',1pg20.13)
211 1400
FORMAT(/8x,
'NEW NODE COORDINATES',20x,
'X',24x,
'Y',24x,
'Z')
212 1500
FORMAT( 7x,i10,3(5x,e20.13))
subroutine hm_read_rand(x, igrnod, itab, irand, alea, xseed, unitab, lsubmodel)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)