OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i12tid3.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!|| i12tid3 ../starter/source/interfaces/inter3d1/i12tid3.F
25!||--- called by ------------------------------------------------------
26!|| inint3 ../starter/source/interfaces/inter3d1/inint3.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.f
29!|| inist3 ../starter/source/interfaces/inter3d1/inist3.F
30!||--- uses -----------------------------------------------------
31!|| format_mod ../starter/share/modules1/format_mod.F90
32!|| message_mod ../starter/share/message_module/message_mod.F
33!||====================================================================
34 SUBROUTINE i12tid3(
35 1 X , IRECT, CRST, MSR , NSV,
36 2 ILOC, IRTL , NSN , ITAB, ALP,
37 3 ID , TITR
38 . )
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE message_mod
44 USE message_mod
45 USE format_mod , ONLY : fmw_7i_2f
46C-----------------------------------------------
47C D e s c r i p t i o n
48C-----------------------------------------------
49C TIED/SLIDING INTERFACE TYPE 12
50C (FLUID/FLUID)
51C COMPUTATION OF S,T (secnd node coordinates)
52C check if secnd is facing a main segment
53C-----------------------------------------------
54C I m p l i c i t T y p e s
55C-----------------------------------------------
56#include "implicit_f.inc"
57C-----------------------------------------------
58C D u m m y A r g u m e n t s
59C-----------------------------------------------
60 INTEGER,INTENT(IN) :: NSN,ID
61 INTEGER,INTENT(IN) :: IRECT(4,*) , MSR(*), NSV(*), ILOC(*), IRTL(*),ITAB(*)
62 my_real,INTENT(IN) :: X(3,NUMNOD), ALP
63 my_real,INTENT(INOUT) :: CRST(2,*)
64 CHARACTER(LEN=NCHARTITLE),INTENT(INOUT) :: TITR
65C-----------------------------------------------
66C C o m m o n B l o c k s
67C-----------------------------------------------
68#include "units_c.inc"
69#include "scr03_c.inc"
70#include "com04_c.inc"
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 INTEGER :: II, I, J, K, L, JJ, NN, IER
75 my_real :: N1, N2, N3, SS, TT
76 my_real :: XX1(4),XX2(4),XX3(4),XS1,YS1,ZS1,XC,YC,ZC
77C-----------------------------------------------
78C S o u r c e L i n e s
79C-----------------------------------------------
80 DO ii=1,nsn
81 !secnd node data
82 i = nsv(ii) !itab(i) is user node_id
83 j = iloc(ii)
84 k = msr(j)
85 l = irtl(ii) !main segment
86 xs1 = x(1,i)
87 ys1 = x(2,i)
88 zs1 = x(3,i)
89 !main segment data
90 DO jj=1,4
91 nn = msr(irect(jj,l)) !itab( MSR(IRECT(JJ,L)) ) are main segment nodes
92 xx1(jj) = x(1,nn)
93 xx2(jj) = x(2,nn)
94 xx3(jj) = x(3,nn)
95 END DO
96
97 CALL inist3(n1,n2,n3,ss,tt,ier,alp,xx1,xx2,xx3,xs1,ys1,zs1,xc,yc,zc)
98 IF(ipri>=1)WRITE(iout,fmt=fmw_7i_2f) itab(i),itab(k),l,(itab(msr(irect(jj,l))),jj=1,4),ss,tt
99 IF(ier==-1)THEN
100 CALL ancmsg(msgid=1247,
101 . msgtype=msgerror,
102 . anmode=anstop,
103 . i1=itab(i),i2=itab(k),i3=l,
104 . i4=itab(msr(irect(1,l))),
105 . i5=itab(msr(irect(2,l))),
106 . i6=itab(msr(irect(3,l))),
107 . i7=itab(msr(irect(4,l))),
108 . prmod=msg_cumu)
109 ELSE IF(ier==1)THEN
110 CALL ancmsg(msgid=1248,
111 . msgtype=msgwarning,
112 . anmode=aninfo_blind,
113 . i1=itab(i),i2=l,
114 . i3=itab(msr(irect(1,l))),
115 . i4=itab(msr(irect(2,l))),
116 . i5=itab(msr(irect(3,l))),
117 . i6=itab(msr(irect(4,l))),
118 . r1=ss,r2=tt,
119 . prmod=msg_cumu)
120 ENDIF
121 crst(1,ii) = ss
122 crst(2,ii) = tt
123 END DO !II=1,NSN
124 CALL ancmsg(msgid=1247,
125 . msgtype=msgerror,
126 . anmode=anstop,
127 . i1=id,
128 . c1=titr,
129 . prmod=msg_print)
130 CALL ancmsg(msgid=1248,
131 . msgtype=msgwarning,
132 . anmode=aninfo_blind,
133 . i1=id,
134 . c1=titr,
135 . prmod=msg_print)
136
137 RETURN
138 END
139
subroutine i12tid3(x, irect, crst, msr, nsv, iloc, irtl, nsn, itab, alp, id, titr)
Definition i12tid3.F:39
subroutine inist3(n1, n2, n3, ssc, ttc, ier, alp, xx1, xx2, xx3, xs1, ys1, zs1, xc, yc, zc)
Definition inist3.F:33
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