OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i12cor3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i12cor3 (xs, xm, irect, msr, irtl, ilev, x, tets, ix1, ix2, ix3, ix4, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, lft, llt, nft)

Function/Subroutine Documentation

◆ i12cor3()

subroutine i12cor3 ( xs,
xm,
integer, dimension(4,*) irect,
integer, dimension(*) msr,
integer, dimension(*) irtl,
integer ilev,
x,
tets,
integer, dimension(mvsiz), intent(out) ix1,
integer, dimension(mvsiz), intent(out) ix2,
integer, dimension(mvsiz), intent(out) ix3,
integer, dimension(mvsiz), intent(out) ix4,
intent(out) x1,
intent(out) x2,
intent(out) x3,
intent(out) x4,
intent(out) xi,
intent(out) y1,
intent(out) y2,
intent(out) y3,
intent(out) y4,
intent(out) yi,
intent(out) z1,
intent(out) z2,
intent(out) z3,
intent(out) z4,
intent(out) zi,
intent(out) xface,
integer, intent(inout) lft,
integer, intent(inout) llt,
integer, intent(inout) nft )

Definition at line 28 of file i12cor3.F.

37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER, INTENT(INOUT) :: LFT
49 INTEGER, INTENT(INOUT) :: LLT
50 INTEGER, INTENT(INOUT) :: NFT
51 INTEGER IRECT(4,*), MSR(*), IRTL(*),ILEV
53 . xs(3,*),xm(3,*),x(3,*),tets(*)
54 INTEGER, DIMENSION(MVSIZ), INTENT(OUT) :: IX1,IX2,IX3,IX4
55 my_real, DIMENSION(MVSIZ), INTENT(OUT) :: x1,x2,x3,x4,xi
56 my_real, DIMENSION(MVSIZ), INTENT(OUT) :: y1,y2,y3,y4,yi
57 my_real, DIMENSION(MVSIZ), INTENT(OUT) :: z1,z2,z3,z4,zi
58 my_real, DIMENSION(MVSIZ), INTENT(OUT) :: xface
59C-----------------------------------------------
60C C o m m o n B l o c k s
61C-----------------------------------------------
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I, IL, IG, L, NN
67 . deupi,tetmin,tetmax,rmin
68C-----------------------------------------------
69
70 deupi=two*pi
71
72 DO i=lft,llt
73 xface(i)=one
74 il=i+nft
75 l=irtl(il)
76
77 xi(i)=xs(1,il)
78 yi(i)=xs(2,il)
79 zi(i)=xs(3,il)
80
81 nn=irect(1,l)
82 ix1(i)=msr(nn)
83 x1(i)=xm(1,nn)
84 y1(i)=xm(2,nn)
85 z1(i)=xm(3,nn)
86
87 nn=irect(2,l)
88 ix2(i)=msr(nn)
89 x2(i)=xm(1,nn)
90 y2(i)=xm(2,nn)
91 z2(i)=xm(3,nn)
92
93 nn=irect(3,l)
94 ix3(i)=msr(nn)
95 x3(i)=xm(1,nn)
96 y3(i)=xm(2,nn)
97 z3(i)=xm(3,nn)
98
99 nn=irect(4,l)
100 ix4(i)=msr(nn)
101 x4(i)=xm(1,nn)
102 y4(i)=xm(2,nn)
103 z4(i)=xm(3,nn)
104 ENDDO
105
106 IF(ilev==1)THEN
107 !--------------------------------------------------!
108 ! CORRECTION DES TET SI A CHEVAL AXE Y NEGATIF !
109 !--------------------------------------------------!
110 DO i=lft,llt
111 tetmin=min(z1(i),z2(i),z3(i),z4(i),zi(i))
112 tetmax=max(z1(i),z2(i),z3(i),z4(i),zi(i))
113 IF(tetmax-tetmin >= pi)THEN
114 IF(z1(i)<zero)z1(i)=z1(i)+deupi
115 IF(z2(i)<zero)z2(i)=z2(i)+deupi
116 IF(z3(i)<zero)z3(i)=z3(i)+deupi
117 IF(z4(i)<zero)z4(i)=z4(i)+deupi
118 IF(zi(i)<zero)zi(i)=zi(i)+deupi
119 ENDIF
120 ENDDO
121
122 !--------------------------------------------------!
123 ! cas d'UNE FACETTE CENTRALE !
124 !--------------------------------------------------!
125 DO I=LFT,LLT
126 RMIN=MIN(Y1(I),Y2(I),Y3(I),Y4(I))
127 IF(YI(I)<RMIN)THEN
128 TETMIN=MIN(Z1(I),Z2(I),Z3(I),Z4(I))
129 TETMAX=MAX(Z1(I),Z2(I),Z3(I),Z4(I))
130 IF(TETMAX-TETMIN >= PI)THEN
131 IL=I+NFT
132 L=IRTL(IL)
133 NN=MSR(IRECT(1,L))
134 IX1(I)=NN
135 X1(I)=X(1,NN)
136 Y1(I)=X(2,NN)
137 Z1(I)=X(3,NN)
138
139 NN=MSR(IRECT(2,L))
140 IX2(I)=NN
141 X2(I)=X(1,NN)
142 Y2(I)=X(2,NN)
143 Z2(I)=X(3,NN)
144
145 NN=MSR(IRECT(3,L))
146 IX3(I)=NN
147 X3(I)=X(1,NN)
148 Y3(I)=X(2,NN)
149 Z3(I)=X(3,NN)
150
151 NN=MSR(IRECT(4,L))
152 IX4(I)=NN
153 X4(I)=X(1,NN)
154 Y4(I)=X(2,NN)
155 Z4(I)=X(3,NN)
156 TETS(I)=10001.
157 ENDIF
158 ENDIF
159 ENDDO !I=LFT,LLT
160 ENDIF !(ILEV==1)
161
162 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21