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

Go to the source code of this file.

Functions/Subroutines

subroutine i24cor3t (jlt, x, irect, nsv, cand_e, cand_n, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, ix1, ix2, ix3, ix4, nsn, gap_s, gap_m, gapv, curv_max, ityp, nin, v, pene_old, gapve, edge_l2, iedge, dgapload)

Function/Subroutine Documentation

◆ i24cor3t()

subroutine i24cor3t ( integer jlt,
x,
integer, dimension(4,*) irect,
integer, dimension(*) nsv,
integer, dimension(*) cand_e,
integer, dimension(*) cand_n,
x1,
x2,
x3,
x4,
y1,
y2,
y3,
y4,
z1,
z2,
z3,
z4,
xi,
yi,
zi,
stif,
integer, dimension(mvsiz) ix1,
integer, dimension(mvsiz) ix2,
integer, dimension(mvsiz) ix3,
integer, dimension(mvsiz) ix4,
integer nsn,
gap_s,
gap_m,
gapv,
curv_max,
integer ityp,
integer nin,
v,
pene_old,
gapve,
edge_l2,
integer iedge,
intent(in) dgapload )

Definition at line 30 of file i24cor3t.F.

39C============================================================================
40C cette routine est appelee par : I10STO(/int10/i10sto.F)
41C I7STO(/int7/i7sto.F)
42C----------------------------------------------------------------------------
43C cette routine appelle : -
44C============================================================================
45C-----------------------------------------------
46C M o d u l e s
47C-----------------------------------------------
48 USE tri7box
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C G l o b a l P a r a m e t e r s
55C-----------------------------------------------
56#include "mvsiz_p.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "com08_c.inc"
61C-----------------------------------------------
62C D u m m y A r g u m e n t s
63C-----------------------------------------------
64 INTEGER IRECT(4,*), NSV(*), CAND_E(*), CAND_N(*),
65 . JLT,IDT, NOINT, NSN ,ITYP, NIN,IEDGE
66 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ)
67 my_real , INTENT(IN) :: dgapload
69 . x(3,*), v(3,*), gapv(*), gap_s(*), gap_m(*),curv_max(*),
70 . pene_old(5,nsn), gapve(*),edge_l2(*)
72 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
73 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
74 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
75 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz)
76C-----------------------------------------------
77C L o c a l V a r i a b l e s
78C-----------------------------------------------
79 INTEGER I ,J ,IL, L, NN, IG,JFT,IADD
81 . vdt(mvsiz),pene_l(mvsiz)
83 . vx,vy,vz,vxi,vyi,vzi,
84 . vx1,vx2,vx3,vx4,vy1,vy2,vy3,vy4,vz1,vz2,vz3,vz4,pmax
85C-----------------------------------------------
86C
87 vdt = zero
88 gapve(1:jlt) = zero
89
90 DO i=1,jlt
91 j = cand_n(i)
92 IF(j<=nsn) THEN
93 gapv(i)=gap_s(j) + gap_m(cand_e(i))
94 ELSE
95 ig = j-nsn
96 gapv(i)=xrem(9,ig) + gap_m(cand_e(i))
97 END IF
98 gapv(i) =gapv(i) + dgapload
99 END DO
100 DO i=1,jlt
101 j = cand_n(i)
102 IF(j<=nsn) THEN
103 ig = nsv(j)
104 xi(i) = x(1,ig)
105 yi(i) = x(2,ig)
106 zi(i) = x(3,ig)
107 vxi = v(1,ig)
108 vyi = v(2,ig)
109 vzi = v(3,ig)
110 pene_l(i) = pene_old(3,j)
111 ELSE
112 ig = j-nsn
113 xi(i) = xrem(1,ig)
114 yi(i) = xrem(2,ig)
115 zi(i) = xrem(3,ig)
116 vxi = xrem(4,ig)
117 vyi = xrem(5,ig)
118 vzi = xrem(6,ig)
119 pene_l(i) = xrem(i24xremp+6,ig)
120 ENDIF
121C
122 l = cand_e(i)
123C
124 ix1(i)=irect(1,l)
125 x1(i)=x(1,ix1(i))
126 y1(i)=x(2,ix1(i))
127 z1(i)=x(3,ix1(i))
128C
129 ix2(i)=irect(2,l)
130 x2(i)=x(1,ix2(i))
131 y2(i)=x(2,ix2(i))
132 z2(i)=x(3,ix2(i))
133C
134 ix3(i)=irect(3,l)
135 x3(i)=x(1,ix3(i))
136 y3(i)=x(2,ix3(i))
137 z3(i)=x(3,ix3(i))
138C
139 ix4(i)=irect(4,l)
140 x4(i)=x(1,ix4(i))
141 y4(i)=x(2,ix4(i))
142 z4(i)=x(3,ix4(i))
143C
144 vx1 = v(1,ix1(i))
145 vx2 = v(1,ix2(i))
146 vx3 = v(1,ix3(i))
147 vx4 = v(1,ix4(i))
148 vx=max(max(vx1,vx2,vx3,vx4)-vxi,vxi-min(vx1,vx2,vx3,vx4))
149 vy1 = v(2,ix1(i))
150 vy2 = v(2,ix2(i))
151 vy3 = v(2,ix3(i))
152 vy4 = v(2,ix4(i))
153 vy=max(max(vy1,vy2,vy3,vy4)-vyi,vyi-min(vy1,vy2,vy3,vy4))
154 vz1 = v(3,ix1(i))
155 vz2 = v(3,ix2(i))
156 vz3 = v(3,ix3(i))
157 vz4 = v(3,ix4(i))
158 vz=max(max(vz1,vz2,vz3,vz4)-vzi,vzi-min(vz1,vz2,vz3,vz4))
159 vdt(i) = (vx+vy+vz)*dt1
160 ENDDO
161
162 IF(iedge/=0)THEN
163 DO i=1,jlt
164 gapve(i) = gapv(i) + vdt(i) + edge_l2(cand_n(i))
165 END DO
166 ENDIF
167
168 DO i=1,jlt
169 gapv(i) = max(gapv(i),pene_l(i)) + curv_max(cand_e(i)) + vdt(i)
170 gapv(i) = onep01*gapv(i)
171
172 END DO
173C
174 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
integer i24xremp
Definition tri7box.F:423