44
45
46
53
54
55
56#include "implicit_f.inc"
57
58
59
60#include "scr17_c.inc"
61#include "com04_c.inc"
62#include "sphcom.inc"
63#include "units_c.inc"
64#include "param_c.inc"
65#include "r2r_c.inc"
66
67
68
69 INTEGER ISPCOND(NISPCOND,*), ISKEW(*), ITAB(*), ITABM1(*),
70 . IKINE(*),NOD2SP(*),IFRAME(LISKN,*)
71 INTEGER NOM_OPT(LNOPT1,*)
72 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
73
74 TYPE (GROUP_) ,TARGET, DIMENSION(NGRNOD) :: IGRNOD
75
76
77
78 INTEGER I,ID, IC, N, IS, IC1, IC2, IC3, IC4,
79 . NOSYS, J,IGR,IGRS,K,
80 . NCELL,
81 . ILEV, NY
82 CHARACTER MESS*40
83 CHARACTER(LEN=NCHARTITLE) :: TITR
84 CHARACTER(LEN=NCHARKEY) :: KEY
85 CHARACTER(LEN=NCHARFIELD) :: DIR
86 LOGICAL IS_AVAILABLE
87
88
89
90 INTEGER NGR2USR
91 INTEGER, DIMENSION(:), POINTER :: INGR2USR
92
93 DATA mess/'SPECIFIC TO SPH SYMMETRY CONDITIONS '/
94
95 WRITE(iout,1000)
96 ny = 0
98
99 DO i=1,nspcond
100 ny=ny+1
101
102 IF(nsubdom>0)THEN
104 END IF
105
106
107
110 . option_titr = titr,
111 . keyword2 = key)
113 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
114 IF (key(1:5)=='SLIDE')THEN
115 ispcond(5,i)=1
116 ELSEIF (key(1:4)=='TIED')THEN
117 ispcond(5,i)=0
118 ELSE
120 . msgtype=msgerror,
121 . anmode=aninfo_blind_1,
122 . c1=key)
123 ENDIF
124 ispcond(nispcond,i)=
id
125
126
127
128 CALL hm_get_intv(
'inputsystem',is,is_available,lsubmodel)
129 CALL hm_get_intv(
'entityid',igr,is_available,lsubmodel)
130 CALL hm_get_intv(
'rad_sphbcs_ilev',ilev,is_available,lsubmodel)
131
132
133
135
136 IF(dir(1:1)=='X')THEN
137 ic=1
138 ELSEIF(dir(1:1)=='Y')THEN
139 ic=2
140 ELSEIF(dir(1:1)=='Z')THEN
141 ic=3
142 ENDIF
143 IF(ilev/=0.AND.ilev/=1)THEN
145 . msgtype=msgerror,
146 . anmode=aninfo_blind_1,
147 . i1=ilev)
148 ENDIF
149 ispcond(1,i)=ilev
150 ispcond(2,i)=ic
151 IF (is==0)THEN
152 ispcond(3,i)=1
153 GOTO 111
154 ELSE
155 DO j=1,numfram
156 IF (iframe(4,j+1)==is)THEN
157 ispcond(3,i)=j+1
158 GOTO 111
159 ENDIF
160 ENDDO
161 ENDIF
163 . msgtype=msgerror,
164 . anmode=aninfo_blind_1,
165 . i1=is)
166 111 CONTINUE
167
168 ingr2usr => igrnod(1:ngrnod)%ID
169 igrs=
ngr2usr(igr,ingr2usr,ngrnod)
170 ispcond(4,i)=igrs
171
172 DO nosys=1,numnod
173 ncell=nod2sp(nosys)
174 IF (ncell==0) THEN
175 ELSE
176 ENDIF
177 ENDDO
178 WRITE(iout,1100)
id,trim(titr),dir(1:1),is,igr,ilev
179 ENDDO
180
181 RETURN
182
1831000 FORMAT(
184 . ' SPECIFIC TO SPH SYMMETRY CONDITIONS '/
185 . ' ---------------------------------- '/)
1861100 FORMAT(/5x,'CONDITION ID ',i10,1x,a
187 . /10x,'NORMAL DIRECTION TO SYMMETRY PLANE ',a10,
188 . /10x,'REFERENCE FRAME ID ',i10,
189 . /10x,'NODES GROUP ID FOR KINEMATIC CONDITIONS ',i10,
190 . /10x,'FORMULATION LEVEL ',i10)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string(name, sval, size, is_available)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
integer, parameter ncharfield
integer, dimension(:), allocatable tagsphbcs
integer function ngr2usr(iu, igr, ngr)
subroutine hm_sz_r2r(tag, val, 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)