OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i12msr3.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!|| i12msr3 ../engine/source/interfaces/inter3d/i12msr3.F
25!||--- called by ------------------------------------------------------
26!|| intti12a ../engine/source/interfaces/interf/intti12.F
27!||--- calls -----------------------------------------------------
28!|| i12_nearest_seg ../engine/source/interfaces/inter3d/i12_nearest_seg.F
29!||====================================================================
30 SUBROUTINE i12msr3(
31 1 XS, XM, IRECT, LMSR,
32 2 MSR, NSV, ILOC, IRTL,
33 3 NSEG, LFT, LLT, NFT)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 INTEGER, INTENT(INOUT) :: LFT
42 INTEGER, INTENT(INOUT) :: LLT
43 INTEGER, INTENT(INOUT) :: NFT
44 INTEGER, INTENT(IN) :: IRECT(4,*), LMSR(*), MSR(*), NSV(*), ILOC(*), NSEG(*)
45 INTEGER, INTENT(INOUT) :: IRTL(*)
46 my_real, INTENT(IN) :: xs(3,*),xm(3,*)
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I, IL, JL, L, JJJ, JJ, J1, J2, LL1, LL2, LL, LG, KKK, KK, K1, K2, M, N
54 INTEGER KM1(4), KN1(4), LSEG, LSEG_NEW
55 my_real BMIN, BMAX
56 DATA km1/2,3,4,1/
57 DATA kn1/4,1,2,3/
58C-----------------------------------------------
59 DO i=lft,llt
60 il=i+nft
61 jl=iloc(il)
62 l=irtl(il)
63 bmax=-ep30
64 lseg_new=0
65
66 IF(l/=0)THEN
67 lseg=l
68 DO jjj=1,4
69 jj=jjj
70 IF(irect(jj,l)==jl) EXIT
71 ENDDO
72 j1=km1(jj)
73 j2=kn1(jj)
74 IF(jj==3.AND.irect(3,l)==irect(4,l)) j1=1
75 m=irect(j1,l)
76 n=irect(j2,l)
77 CALL i12_nearest_seg(xs, xm, il, jl, m, n, lseg, lseg_new, bmin, bmax)
78 IF(bmin >= zero) cycle
79 END IF
80
81 ll1=nseg(jl)
82 ll2=nseg(jl+1)-1
83 DO ll=ll1,ll2
84 lg=lmsr(ll)
85 lseg=lg
86 IF(l==lg) cycle
87 DO kkk=1,4
88 kk=kkk
89 IF(irect(kk,lg)==jl) EXIT
90 END DO
91 k1=km1(kk)
92 k2=kn1(kk)
93 IF(kk==3.AND.irect(3,lg)==irect(4,lg)) k1=1
94 m=irect(k1,lg)
95 n=irect(k2,lg)
96 CALL i12_nearest_seg(xs, xm, il, jl, m, n, lseg, lseg_new, bmin, bmax)
97 IF(bmin < zero) cycle
98 irtl(il)=lseg_new
99 GO TO 200
100 END DO
101C
102 irtl(il)=lseg_new
103 200 CONTINUE
104 END DO
105
106 RETURN
107 END
#define my_real
Definition cppsort.cpp:32
subroutine i12_nearest_seg(xs, xm, is, m1, m2, m3, lseg, lseg_new, bmin, bmax)
subroutine i12msr3(xs, xm, irect, lmsr, msr, nsv, iloc, irtl, nseg, lft, llt, nft)
Definition i12msr3.F:34