69#include "implicit_f.inc"
79#include "tabsiz_c.inc"
85 INTEGER,
DIMENSION(NUMNOD),
INTENT(IN) :: ITAB
86 my_real,
DIMENSION(3,NUMNOD),
INTENT(IN) :: x, v, vr
87 my_real,
DIMENSION(NUMNOD),
INTENT(IN) :: ms,in
91 CHARACTER(LEN=4096) :: SCR_FILE_NAME
92 CHARACTER(LEN=ncharline) :: RLINE
93 CHARACTER (LEN=4) :: CWIN
94 LOGICAL :: IS_AVAILABLE
95 INTEGER ,
DIMENSION(100) :: IUPARAM
96 INTEGER :: NLINES,J,USERWI_ID
97 INTEGER :: SCR_FILE_NAME_LEN
98 INTEGER :: NUVAR,NUVARI
103 is_available = .false.
105 IF (userl_avail == 0)
THEN
108 size=len_trim(option)
110 . msgtype=msgerror,c1=option(1:size),anmode=aninfo)
117 * option_id = userwi_id)
119 user_windows%USER_WINDOWS_ID = userwi_id
121 CALL hm_get_intv (
'Number_of_datalines' ,nlines ,is_available, lsubmodel)
124 WRITE(cwin
'(I4.4)') 1
125 scr_file_name=
'SI'//rootnam(1:rootlen)//
'_'//cwin//
'.scr'
126 scr_file_name_len=len_trim(scr_file_name)
127 OPEN(unit=30,file=trim(scr_file_name
'FORMATTED',recl=
ncharline)
128 WRITE(30,
'(A)')
'/USERWI'
135 WRITE(30,fmt='(a)
')TRIM(RLINE)
138 ENDIF ! IF (NLINES > 0)
144 USER_WINDOWS%NUVAR = 0
145 USER_WINDOWS%NUVARI = 0
147 CALL ST_USERLIB_USERWIS_INI(ROOTNAM,ROOTLEN,
148 . IUPARAM ,NUMNOD ,ITAB,
151 CALL USER_OUTPUT(IOUT,1,ROOTNAM,ROOTLEN,1)
153 USER_WINDOWS%NUVAR = NUVAR
154 USER_WINDOWS%NUVARI = NUVARI
156 USER_WINDOWS%S_USER = NUVAR
157 USER_WINDOWS%S_IUSER = NUVARI+100
159 CALL MY_ALLOC(USER_WINDOWS%IUSER,USER_WINDOWS%S_IUSER)
160 CALL MY_ALLOC(USER_WINDOWS%USER,USER_WINDOWS%S_USER)
162 USER_WINDOWS%USER(1:USER_WINDOWS%S_USER) = ZERO
163 USER_WINDOWS%IUSER(1:USER_WINDOWS%S_IUSER) = 0
165 USER_WINDOWS%IUSER(NUVARI+1:NUVARI+100)=IUPARAM(1:100)
169 WRITE(CWIN,'(i4.4)
') 1
170 SCR_FILE_NAME='si
'//ROOTNAM(1:ROOTLEN)//'_
'//CWIN//'.scr
'
171 SCR_FILE_NAME_LEN=LEN_TRIM(SCR_FILE_NAME)
172 OPEN(UNIT=30,FILE=TRIM(SCR_FILE_NAME),FORM='formatted
',RECL=ncharline)
173 WRITE(30,'(a)
') '/userwi
'
175 ! Read & Dump in scratch file
177 CALL HM_GET_STRING_INDEX('arraydatalines
', RLINE, J, ncharline, IS_AVAILABLE)
178 WRITE(30,FMT='(a)
')TRIM(RLINE)
182 CALL ST_USERLIB_USERWIS(ROOTNAM, ROOTLEN, NUMNOD, ITAB,
184 . USER_WINDOWS%NUVAR, USER_WINDOWS%NUVARI,
185 . USER_WINDOWS%USER, USER_WINDOWS%IUSER )
187 CALL USER_OUTPUT(IOUT,1,ROOTNAM,ROOTLEN,1)
subroutine hm_read_window_user(user_windows, lsubmodel, itab, x, v, vr, ms, in)
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)