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
48 use element_mod , only :nixs,nixc,nixtg
49C-----------------------------------
50C CHECK ELEMENT FOR TYPE 12
51C------------------------------------
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "com04_c.inc"
60#include "param_c.inc"
61#include "scr03_c.inc"
62#include "units_c.inc"
63C-----------------------------------------------
64C D u m m y A r g u m e n t s
65C-----------------------------------------------
66 INTEGER NRT, NINT, NSN, NOINT, NTY, ID, ITIED
67 INTEGER IRECT(4,*), IXS(NIXS,*), IXC(NIXC,*), MWA(*),
68 . NSV(*), IXTG(NIXTG,*), ISEG(*), VARCONVINT,
69 . ITAB(*), FCOUNT(*), KNOD2ELS(*), NOD2ELS(*)
71 . x(3,*), pm(npropm,*)
72 CHARACTER(LEN=NCHARTITLE) :: TITR
73 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
74C-----------------------------------------------
75C L o c a l V a r i a b l e s
76C-----------------------------------------------
77 INTEGER I, INRT, NELS, J, NN, NF, M, IG, IL, VARCONV,IAD
78 my_real
79 . AREA
80C-----------------------------------------------
81C E x t e r n a l F u n c t i o n s
82C-----------------------------------------------
83
84 IF(itied/=3)THEN
85 CALL icinv3(ixs,ixc,ixtg,mwa,mwa(1+(2+numnod)))
86 IF(ipri>=1 .AND. nint<0)WRITE(iout,1000)
87 IF(ipri>=1 .AND. nint>0)WRITE(iout,1001)
88 DO i=1,nrt
89 inrt=i
90 CALL i12sol3(x,irect,ixs,nint,nels,inrt,
91 . area,noint,mwa ,mwa(1+(2+numnod)),nf,itab,
92 . knod2els,nod2els,nty,id,titr)
93 IF(nels/=0) THEN
94 m=ixs(1,nels)
95 varconv=int(pm(10,m))
96 IF(varconvint==-1)varconvint=varconv
97 IF(varconv==varconvint)THEN
98 segindx = segindx+1
99 iseg(i) = segindx
100 iad = ale_connectivity%ee_connect%iad_connect(nels)
101 ale_connectivity%ee_connect%connected(iad + nf - 1) = -segindx
102 IF(ipri>=1)
103 . WRITE(iout,fmt=fmw_10i)i,ixs(11,nels),nf,segindx,nels
104 ELSE
105 IF(nint>0) WRITE (iout,1101) i, noint
106 IF(nint<0) WRITE (iout,1201) i, noint
107 ierr=ierr+1
108 ENDIF
109 ELSE
110 IF(nint>0) WRITE (iout,1100) i, noint
111 IF(nint<0) WRITE (iout,1200) i, noint
112 ierr=ierr+1
113 ENDIF !(NELS/=0)
114 END DO !I=1,NRT
115 CALL ancmsg(msgid=1245,
116 . msgtype=msgerror,
117 . anmode=aninfo_blind,
118 . i1=id,
119 . c1=titr,
120 . prmod=msg_print)
121 CALL ancmsg(msgid=1246,
122 . msgtype=msgerror,
123 . anmode=aninfo_blind,
124 . i1=id,
125 . c1=titr,
126 . prmod=msg_print)
127 END IF !(ITIED/=3)
128
129 !------------------------------------------------------------------------!
130 ! ! THE GLOBAL NODE IS REPLACED BY THE LOCAL NODE IN IRECT !
131 !------------------------------------------------------------------------!
132 DO i=1,nrt
133 DO j=1,4
134 ig=irect(j,i)
135 CALL local_index(il,ig,nsv,nsn)
136 irect(j,i)=il
137 ENDDO
138 ENDDO
139 !------------------------------------------------------------------------!
140 ! ! COUNTING THE NUMBER OF FACETS CONNECTED BY NODE (SECONDARY ONLY!) !
141 !------------------------------------------------------------------------!
142 IF(nint>0)THEN
143 DO i=1,nsn
144 fcount(i)=0
145 ENDDO
146 DO i=1,nrt
147 DO j=1,4
148 nn=irect(j,i)
149 fcount(nn)=fcount(nn)+1
150 ENDDO
151 ENDDO
152 ENDIF
153
154 RETURN
155C---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----A----+----B----+----C
156 1000 FORMAT(//' MAIN ELT FACE ')
157 1001 FORMAT(//' SECONDARY ELT FACE ')
158 1100 FORMAT(2x,'** ERROR ** CANNOT FIND FLUID ELT OF MAIN SEGMENT',i10,' OF INTERFACE',i10)
159 1200 FORMAT(2x,'** ERROR ** CANNOT FIND FLUID ELT OF SECONDARY SEGMENT',i10,' OF INTERFACE',i10)
160 1101 FORMAT(2x,'** ERROR ** VARIABLES NOT CONSISTENT IN SECONDARY ELEMENT',i10,' FOR INTERFACE',i10)
161 1201 FORMAT(2x,'** ERROR ** VARIABLES NOT CONSISTENT IN MAIN ELEMENT',i10,' FOR INTERFACE',i10)
162 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:31
subroutine i12sol3(x, irect, ixs, nint, nel, i, area, noint, iadd, invc, nf, itab, knod2els, nod2els, nty, id, titr)
Definition insol3.F:465
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:895