OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_read_thvarc.F File Reference
#include "implicit_f.inc"
#include "r2r_c.inc"

Go to the source code of this file.

Functions/Subroutines

integer function hm_thvarc (vare, nv, ivar, varg, nvg, ivarg, nv0, id, titr, lsubmodel)

Function/Subroutine Documentation

◆ hm_thvarc()

integer function hm_thvarc ( character*10, dimension(nv), target vare,
integer nv,
integer, dimension(*) ivar,
character*10, dimension(nvg), target varg,
integer nvg,
integer, dimension(18,*) ivarg,
integer nv0,
integer id,
character(len=nchartitle) titr,
type(submodel_data), dimension(nsubmod) lsubmodel )

Definition at line 45 of file hm_read_thvarc.F.

46C-----------------------------------------------
47C M o d u l e s
48C-----------------------------------------------
49 USE message_mod
50 USE submodel_mod
53 USE th_mod , ONLY : th_has_noda_pext
54C-----------------------------------------------
55C I m p l i c i t T y p e s
56C-----------------------------------------------
57#include "implicit_f.inc"
58C-----------------------------------------------
59C C o m m o n B l o c k s
60C-----------------------------------------------
61#include "r2r_c.inc"
62C-----------------------------------------------
63 INTEGER NV,NVG,IVAR(*),IVARG(18,*),NV0
64 CHARACTER*10,TARGET :: VARE(NV),VARG(NVG)
65 INTEGER ID
66 CHARACTER(LEN=NCHARTITLE) :: TITR
67 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 LOGICAL IS_AVAILABLE
72 INTEGER,DIMENSION(:),ALLOCATABLE :: TAG
73 CHARACTER VAR*10
74 INTEGER JREC,NVAR,TRU,N,L,M,I,J,K,OK
75C-----------------------------------------------
76C S o u r c e L i n e s
77C-----------------------------------------------
78 ! Tag must start from 0
79 ALLOCATE(tag(0:nv))
80C
81 ! Number of variables indicated by the user
82 CALL hm_get_intv('Number_Of_Variables',nvar,is_available,lsubmodel)
83c
84 ! Initialization of the tag table
85 DO i=1,nv
86 tag(i)=0
87 ENDDO
88c
89 ! Loop over variables
90 DO k=1,nvar
91 CALL hm_get_string_index('VAR',var,k,10,is_available)
92 var(len_trim(var)+1:10)=' '
93 IF (var(1:4) == 'QVIS')var='BULK'
94 IF (var(1:6) == 'ALL_42') THEN
95 DO i=1,nv0
96 tag(i)=1
97 ENDDO
98 ELSEIF (var(1:3) == 'ALL') THEN
99 CALL ancmsg(msgid=551,
100 . msgtype=msgerror,
101 . anmode=aninfo,
102 . i1=id,
103 . c1=titr,
104 . c2=var)
105 ELSEIF (var(1:5) == ' ') THEN
106 cycle
107 ELSE
108 ok = 0
109 DO i=1,nvg
110 IF(var == varg(i))THEN
111 DO j=1,18
112 tag(ivarg(j,i))=1
113 ENDDO
114 ok=1
115 EXIT
116 ENDIF
117 ENDDO
118c
119 IF(ok==0)THEN
120 DO i=1,nv
121 IF(var == vare(i))THEN
122 IF(var(1:4) == 'PEXT ')THEN
124 ENDIF
125 tag(i)=1
126 ok=1
127C---------Multidomaines : pour les subsets, on stocke des infos en plus dans le th pour merge---------
128 IF ((nsubdom>0).AND.(sub_flag==1002)) THEN
129 IF (i>=9) THEN
130 tag(3) = 1
131 tag(4) = 1
132 tag(5) = 1
133 tag(6) = 1
134 tag(9) = 1
135 tag(10) = 1
136 tag(11) = 1
137 ENDIF
138 IF (i==23) THEN
139 DO j=12,20
140 tag(j)=1
141 ENDDO
142 ENDIF
143 ENDIF
144C--------- ----------------------------------------------------------------------------------------------
145 EXIT
146 ENDIF
147 ENDDO
148 ENDIF
149
150 IF(ok==0)THEN
151 CALL ancmsg(msgid=260,
152 . msgtype=msgerror,
153 . anmode=aninfo,
154 . i1=id,
155 . c1=titr,
156 . c2=var)
157 ENDIF
158 ENDIF
159 ENDDO
160
161 nvar=0
162 DO i=1,nv
163 IF(tag(i) /= 0)THEN
164 nvar=nvar+1
165 ivar(nvar)=i
166 ENDIF
167 ENDDO
168
169
171
172 DEALLOCATE(tag)
173 RETURN
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string_index(name, sval, index, size, is_available)
integer function hm_thvarc(vare, nv, ivar, varg, nvg, ivarg, nv0, id, titr, lsubmodel)
initmumps id
integer, parameter nchartitle
integer th_has_noda_pext
Definition th_mod.F:121
integer function nvar(text)
Definition nvar.F:32
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)
Definition message.F:889