OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
ccoor3z_crk.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!|| ccoor3z_crk ../engine/source/elements/xfem/ccoor3z_crk.F
25!||--- called by ------------------------------------------------------
26!|| czforc3_crk ../engine/source/elements/xfem/czforc3_crk.F
27!||--- uses -----------------------------------------------------
28!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.F
29!||====================================================================
30 SUBROUTINE ccoor3z_crk(JFT ,JLT ,NFT ,IEL_CRK,IADC_CRK,
31 2 VL1 ,VL2 ,VL3 ,VL4 ,VRL1 ,
32 3 VRL2 ,VRL3 ,VRL4 ,X1 ,X2 ,
33 4 X3 ,X4 ,Y1 ,Y2 ,Y3 ,
34 5 Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
35 6 VX1 ,VX2 ,VX3 ,VX4 ,VY1 ,
36 7 VY2 ,VY3 ,VY4 ,VZ1 ,VZ2 ,
37 8 VZ3 ,VZ4 ,VRX1 ,VRX2 ,VRX3 ,
38 9 VRX4 ,VRY1 ,VRY2 ,VRY3 ,VRY4 ,
39 A VRZ1 ,VRZ2 ,VRZ3 ,VRZ4 ,ILEV ,
40 B OFFG )
41C-----------------------------------------------
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C G l o b a l P a r a m e t e r s
49C-----------------------------------------------
50#include "mvsiz_p.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER JFT,JLT,NFT,IEL_CRK(*),IADC_CRK(4,*),ILEV
55C REAL
56 my_real
57 . VL1(MVSIZ,3),VL2(MVSIZ,3),VL3(MVSIZ,3),VL4(MVSIZ,3),
58 . VRL1(MVSIZ,3),VRL2(MVSIZ,3),VRL3(MVSIZ,3),VRL4(MVSIZ,3),
59 . X1(MVSIZ),X2(MVSIZ),X3(MVSIZ),X4(MVSIZ),Y1(MVSIZ),
60 . Y2(MVSIZ),Y3(MVSIZ),Y4(MVSIZ),Z1(MVSIZ),Z2(MVSIZ),
61 . Z3(MVSIZ),Z4(MVSIZ),
62 . VX1(MVSIZ),VX2(MVSIZ),VX3(MVSIZ),VX4(MVSIZ),
63 . VY1(MVSIZ),VY2(MVSIZ),VY3(MVSIZ),VY4(MVSIZ),
64 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
65 . vrx1(mvsiz),vrx2(mvsiz),vrx3(mvsiz),vrx4(mvsiz),
66 . vry1(mvsiz),vry2(mvsiz),vry3(mvsiz),vry4(mvsiz),
67 . vrz1(mvsiz),vrz2(mvsiz),vrz3(mvsiz),vrz4(mvsiz),offg(*)
68C-----------------------------------------------
69C L o c a l V a r i a b l e s
70C-----------------------------------------------
71 INTEGER I,ELCRK,IADC1,IADC2,IADC3,IADC4
72 my_real
73 . OFF_L
74C=======================================================================
75C get elem from activ level: (superposed element)
76C-----------------------------------------------
77 DO I=jft,jlt
78 elcrk = iel_crk(i+nft)
79 iadc1 = iadc_crk(1,elcrk)
80 iadc2 = iadc_crk(2,elcrk)
81 iadc3 = iadc_crk(3,elcrk)
82 iadc4 = iadc_crk(4,elcrk)
83C--------------
84C COORDINATES: coord nodaled des elements phantomes
85C--------------
86C node 1:
87 x1(i) = crkavx(ilev)%X(1,iadc1)
88 y1(i) = crkavx(ilev)%X(2,iadc1)
89 z1(i) = crkavx(ilev)%X(3,iadc1)
90C node 2:
91 x2(i) = crkavx(ilev)%X(1,iadc2)
92 y2(i) = crkavx(ilev)%X(2,iadc2)
93 z2(i) = crkavx(ilev)%X(3,iadc2)
94C node 3:
95 x3(i) = crkavx(ilev)%X(1,iadc3)
96 y3(i) = crkavx(ilev)%X(2,iadc3)
97 z3(i) = crkavx(ilev)%X(3,iadc3)
98C node 4:
99 x4(i) = crkavx(ilev)%X(1,iadc4)
100 y4(i) = crkavx(ilev)%X(2,iadc4)
101 z4(i) = crkavx(ilev)%X(3,iadc4)
102C--------------
103C VELOCITIES :
104C--------------
105C node 1:
106 vl1(i,1) = crkavx(ilev)%V(1,iadc1)
107 vl1(i,2) = crkavx(ilev)%V(2,iadc1)
108 vl1(i,3) = crkavx(ilev)%V(3,iadc1)
109 vrl1(i,1) = crkavx(ilev)%VR(1,iadc1)
110 vrl1(i,2) = crkavx(ilev)%VR(2,iadc1)
111 vrl1(i,3) = crkavx(ilev)%VR(3,iadc1)
112C node 2:
113 vl2(i,1) = crkavx(ilev)%V(1,iadc2)
114 vl2(i,2) = crkavx(ilev)%V(2,iadc2)
115 vl2(i,3) = crkavx(ilev)%V(3,iadc2)
116 vrl2(i,1) = crkavx(ilev)%VR(1,iadc2)
117 vrl2(i,2) = crkavx(ilev)%VR(2,iadc2)
118 vrl2(i,3) = crkavx(ilev)%VR(3,iadc2)
119C node 3:
120 vl3(i,1) = crkavx(ilev)%V(1,iadc3)
121 vl3(i,2) = crkavx(ilev)%V(2,iadc3)
122 vl3(i,3) = crkavx(ilev)%V(3,iadc3)
123 vrl3(i,1) = crkavx(ilev)%VR(1,iadc3)
124 vrl3(i,2) = crkavx(ilev)%VR(2,iadc3)
125 vrl3(i,3) = crkavx(ilev)%VR(3,iadc3)
126C node 4:
127 vl4(i,1) = crkavx(ilev)%V(1,iadc4)
128 vl4(i,2) = crkavx(ilev)%V(2,iadc4)
129 vl4(i,3) = crkavx(ilev)%V(3,iadc4)
130 vrl4(i,1) = crkavx(ilev)%VR(1,iadc4)
131 vrl4(i,2) = crkavx(ilev)%VR(2,iadc4)
132 vrl4(i,3) = crkavx(ilev)%VR(3,iadc4)
133 END DO
134C----------------------------------
135 off_l = zero
136 DO i=jft,jlt
137 off_l = min(off_l,offg(i))
138 ENDDO
139C----------------------------------
140 IF (off_l < zero) THEN
141 DO i=jft,jlt
142 IF (offg(i) < zero) THEN
143 vl1(i,1)=zero
144 vl1(i,2)=zero
145 vl1(i,3)=zero
146 vl2(i,1)=zero
147 vl2(i,2)=zero
148 vl2(i,3)=zero
149 vl3(i,1)=zero
150 vl3(i,2)=zero
151 vl3(i,3)=zero
152 vl4(i,1)=zero
153 vl4(i,2)=zero
154 vl4(i,3)=zero
155 vrl1(i,1)=zero
156 vrl1(i,2)=zero
157 vrl1(i,3)=zero
158 vrl2(i,1)=zero
159 vrl2(i,2)=zero
160 vrl2(i,3)=zero
161 vrl3(i,1)=zero
162 vrl3(i,2)=zero
163 vrl3(i,3)=zero
164 vrl4(i,1)=zero
165 vrl4(i,2)=zero
166 vrl4(i,3)=zero
167 ENDIF
168 ENDDO
169 ENDIF
170C----------------------------------
171C
172 DO i=jft,jlt
173 vx1(i)=vl1(i,1)
174 vy1(i)=vl1(i,2)
175 vz1(i)=vl1(i,3)
176 vx2(i)=vl2(i,1)
177 vy2(i)=vl2(i,2)
178 vz2(i)=vl2(i,3)
179 vx3(i)=vl3(i,1)
180 vy3(i)=vl3(i,2)
181 vz3(i)=vl3(i,3)
182 vx4(i)=vl4(i,1)
183 vy4(i)=vl4(i,2)
184 vz4(i)=vl4(i,3)
185C
186 vrx1(i)=vrl1(i,1)
187 vry1(i)=vrl1(i,2)
188 vrz1(i)=vrl1(i,3)
189 vrx2(i)=vrl2(i,1)
190 vry2(i)=vrl2(i,2)
191 vrz2(i)=vrl2(i,3)
192 vrx3(i)=vrl3(i,1)
193 vry3(i)=vrl3(i,2)
194 vrz3(i)=vrl3(i,3)
195 vrx4(i)=vrl4(i,1)
196 vry4(i)=vrl4(i,2)
197 vrz4(i)=vrl4(i,3)
198 END DO
199C-----------------------------------------------
200 RETURN
201 END
subroutine ccoor3z_crk(jft, jlt, nft, iel_crk, iadc_crk, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, vx1, vx2, vx3, vx4, vy1, vy2, vy3, vy4, vz1, vz2, vz3, vz4, vrx1, vrx2, vrx3, vrx4, vry1, vry2, vry3, vry4, vrz1, vrz2, vrz3, vrz4, ilev, offg)
Definition ccoor3z_crk.F:41
#define min(a, b)
Definition macros.h:20
type(xfem_avx_), dimension(:), allocatable crkavx