OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i12chk3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| i12chk3 ../starter/source/interfaces/inter3d1/i12chk3.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!|| i12sol3 ../starter/source/interfaces/inter3d1/insol3.F
30!|| icinv3 ../starter/source/interfaces/inter3d1/icinv3.F
31!|| local_index ../starter/source/interfaces/interf1/local_index.f
32!||--- uses -----------------------------------------------------
33!|| format_mod ../starter/share/modules1/format_mod.F90
34!|| message_mod ../starter/share/message_module/message_mod.F
35!||====================================================================
36 SUBROUTINE i12chk3(X ,IRECT,IXS,NRT ,IXC,
37 . NINT,NSN ,NSV,NOINT ,MWA,
38 . IXTG,PM,ISEG,ALE_CONNECTIVITY,
39 . VARCONVINT,FCOUNT,ITIED,ITAB,KNOD2ELS,
40 . NOD2ELS,NTY,ID,TITR)
41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE message_mod
47 USE format_mod , ONLY : fmw_10i
48C-----------------------------------
49C CHECK ELEMENT FOR TYPE 12
50C------------------------------------
51C-----------------------------------------------
52C I m p l i c i t T y p e s
53C-----------------------------------------------
54#include "implicit_f.inc"
55C-----------------------------------------------
56C C o m m o n B l o c k s
57C-----------------------------------------------
58#include "com04_c.inc"
59#include "param_c.inc"
60#include "scr03_c.inc"
61#include "units_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER NRT, NINT, NSN, NOINT, NTY, ID, ITIED
66 INTEGER IRECT(4,*), IXS(NIXS,*), IXC(NIXC,*), MWA(*),
67 . NSV(*), IXTG(NIXTG,*), ISEG(*), VARCONVINT,
68 . ITAB(*), FCOUNT(*), KNOD2ELS(*), NOD2ELS(*)
70 . x(3,*), pm(npropm,*)
71 CHARACTER(LEN=NCHARTITLE) :: TITR
72 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
73C-----------------------------------------------
74C L o c a l V a r i a b l e s
75C-----------------------------------------------
76 INTEGER I, INRT, NELS, J, NN, NF, M, IG, IL, VARCONV,IAD
77 my_real
78 . AREA
79C-----------------------------------------------
80C E x t e r n a l F u n c t i o n s
81C-----------------------------------------------
82
83 IF(itied/=3)THEN
84 CALL icinv3(ixs,ixc,ixtg,mwa,mwa(1+(2+numnod)))
85 IF(ipri>=1 .AND. nint<0)WRITE(iout,1000)
86 IF(ipri>=1 .AND. nint>0)WRITE(iout,1001)
87 DO i=1,nrt
88 inrt=i
89 CALL i12sol3(x,irect,ixs,nint,nels,inrt,
90 . area,noint,mwa ,mwa(1+(2+numnod)),nf,itab,
91 . knod2els,nod2els,nty,id,titr)
92 IF(nels/=0) THEN
93 m=ixs(1,nels)
94 varconv=int(pm(10,m))
95 IF(varconvint==-1)varconvint=varconv
96 IF(varconv==varconvint)THEN
97 segindx = segindx+1
98 iseg(i) = segindx
99 iad = ale_connectivity%ee_connect%iad_connect(nels)
100 ale_connectivity%ee_connect%connected(iad + nf - 1) = -segindx
101 IF(ipri>=1)
102 . WRITE(iout,fmt=fmw_10i)i,ixs(11,nels),nf,segindx,nels
103 ELSE
104 IF(nint>0) WRITE (iout,1101) i, noint
105 IF(nint<0) WRITE (iout,1201) i, noint
106 ierr=ierr+1
107 ENDIF
108 ELSE
109 IF(nint>0) WRITE (iout,1100) i, noint
110 IF(nint<0) WRITE (iout,1200) i, noint
111 ierr=ierr+1
112 ENDIF !(NELS/=0)
113 END DO !I=1,NRT
114 CALL ancmsg(msgid=1245,
115 . msgtype=msgerror,
116 . anmode=aninfo_blind,
117 . i1=id,
118 . c1=titr,
119 . prmod=msg_print)
120 CALL ancmsg(msgid=1246,
121 . msgtype=msgerror,
122 . anmode=aninfo_blind,
123 . i1=id,
124 . c1=titr,
125 . prmod=msg_print)
126 END IF !(ITIED/=3)
127
128 !------------------------------------------------------------------------!
129 ! LE NOEUD GLOBAL EST REMPLACE PAR LE NOEUD LOCAL DANS IRECT !
130 !------------------------------------------------------------------------!
131 DO i=1,nrt
132 DO j=1,4
133 ig=irect(j,i)
134 CALL local_index(il,ig,nsv,nsn)
135 irect(j,i)=il
136 ENDDO
137 ENDDO
138 !------------------------------------------------------------------------!
139 ! COMPTAGE DU NOMBRE DE FACETTES CONNECTEES PAR NOEUD (SECONDARY ONLY!) !
140 !------------------------------------------------------------------------!
141 IF(nint>0)THEN
142 DO i=1,nsn
143 fcount(i)=0
144 ENDDO
145 DO i=1,nrt
146 DO j=1,4
147 nn=irect(j,i)
148 fcount(nn)=fcount(nn)+1
149 ENDDO
150 ENDDO
151 ENDIF
152
153 RETURN
154C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----A----+----B----+----C
155 1000 FORMAT(//' MAIN ELT FACE ')
156 1001 FORMAT(//' SECONDARY ELT FACE ')
157 1100 FORMAT(2x,'** ERROR ** CANNOT FIND FLUID ELT OF MAIN SEGMENT',i10,' OF INTERFACE',i10)
158 1200 FORMAT(2x,'** ERROR ** CANNOT FIND FLUID ELT OF SECONDARY SEGMENT',i10,' OF INTERFACE',i10)
159 1101 FORMAT(2x,'** ERROR ** VARIABLES NOT CONSISTENT IN SECONDARY ELEMENT',i10,' FOR INTERFACE',i10)
160 1201 FORMAT(2x,'** ERROR ** VARIABLES NOT CONSISTENT IN MAIN ELEMENT',i10,' FOR INTERFACE',i10)
161 END
#define my_real
Definition cppsort.cpp:32
subroutine i12chk3(x, irect, ixs, nrt, ixc, nint, nsn, nsv, noint, mwa, ixtg, pm, iseg, ale_connectivity, varconvint, fcount, itied, itab, knod2els, nod2els, nty, id, titr)
Definition i12chk3.F:41
subroutine icinv3(ixs, ixc, ixtg, iadd, invc)
Definition icinv3.F:30
subroutine i12sol3(x, irect, ixs, nint, nel, i, area, noint, iadd, invc, nf, itab, knod2els, nod2els, nty, id, titr)
Definition insol3.F:458
subroutine local_index(il, ig, nodes, n)
Definition local_index.F:37
integer, parameter nchartitle
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
program starter
Definition starter.F:39