OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
ccoor3_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!|| ccoor3_crk ../engine/source/elements/xfem/ccoor3_crk.F
25!||--- called by ------------------------------------------------------
26!|| cforc3_crk ../engine/source/elements/xfem/cforc3_crk.F
27!||--- uses -----------------------------------------------------
28!|| crackxfem_mod ../engine/share/modules/crackxfem_mod.f
29!|| element_mod ../common_source/modules/elements/element_mod.f90
30!||====================================================================
31 SUBROUTINE ccoor3_crk(JFT ,JLT ,NFT ,IXC ,NGL ,
32 2 PID ,MAT ,ILEV ,IEL_CRK,IADC_CRK,
33 3 OFFG ,OFF ,SIGY ,THKE ,THK0 ,
34 4 DT1C ,VL1 ,VL2 ,VL3 ,VL4 ,
35 5 VRL1 ,VRL2 ,VRL3 ,VRL4 ,X1 ,
36 6 X2 ,X3 ,X4 ,Y1 ,Y2 ,
37 7 Y3 ,Y4 ,Z1 ,Z2 ,Z3 ,
38 8 Z4 )
39C-----------------------------------------------
41 use element_mod , only : nixc
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50C-----------------------------------------------
51C C o m m o n B l o c k s
52C-----------------------------------------------
53#include "com08_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57 INTEGER JFT,JLT,ILEV
58 INTEGER NGL(MVSIZ),IXC(NIXC,*),MAT(MVSIZ),PID(MVSIZ),
59 . IEL_CRK(*),IADC_CRK(4,*),NFT
60C REAL
61 my_real
62 . OFFG(*),OFF(*),SIGY(*),
63 . VL1(MVSIZ,3),VL2(MVSIZ,3),VL3(MVSIZ,3),VL4(MVSIZ,3),
64 . vrl1(mvsiz,3),vrl2(mvsiz,3),vrl3(mvsiz,3),vrl4(mvsiz,3),dt1c(*),thke(*),
65 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),y1(mvsiz),
66 . y2(mvsiz),y3(mvsiz),y4(mvsiz),z1(mvsiz),z2(mvsiz),
67 . z3(mvsiz),z4(mvsiz),thk0(mvsiz)
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
72C REAL
73 my_real
74 . OFF_L
75C-----------------------------------------------
76C get elem from activ level: (superposed element)
77C-----------------------------------------------
78 DO i=jft,jlt
79 elcrk = iel_crk(i+nft)
80 iadc1 = iadc_crk(1,elcrk)
81 iadc2 = iadc_crk(2,elcrk)
82 iadc3 = iadc_crk(3,elcrk)
83 iadc4 = iadc_crk(4,elcrk)
84C--------------
85C COORDINATES:
86C--------------
87C node 1:
88 x1(i) = crkavx(ilev)%X(1,iadc1)
89 y1(i) = crkavx(ilev)%X(2,iadc1)
90 z1(i) = crkavx(ilev)%X(3,iadc1)
91C node 2:
92 x2(i) = crkavx(ilev)%X(1,iadc2)
93 y2(i) = crkavx(ilev)%X(2,iadc2)
94 z2(i) = crkavx(ilev)%X(3,iadc2)
95C node 3:
96 x3(i) = crkavx(ilev)%X(1,iadc3)
97 y3(i) = crkavx(ilev)%X(2,iadc3)
98 z3(i) = crkavx(ilev)%X(3,iadc3)
99C node 4:
100 x4(i) = crkavx(ilev)%X(1,iadc4)
101 y4(i) = crkavx(ilev)%X(2,iadc4)
102 z4(i) = crkavx(ilev)%X(3,iadc4)
103C--------------
104C VELOCITIES :
105C--------------
106C node 1:
107 vl1(i,1) = crkavx(ilev)%V(1,iadc1)
108 vl1(i,2) = crkavx(ilev)%V(2,iadc1)
109 vl1(i,3) = crkavx(ilev)%V(3,iadc1)
110 vrl1(i,1) = crkavx(ilev)%VR(1,iadc1)
111 vrl1(i,2) = crkavx(ilev)%VR(2,iadc1)
112 vrl1(i,3) = crkavx(ilev)%VR(3,iadc1)
113C node 2:
114 vl2(i,1) = crkavx(ilev)%V(1,iadc2)
115 vl2(i,2) = crkavx(ilev)%V(2,iadc2)
116 vl2(i,3) = crkavx(ilev)%V(3,iadc2)
117 vrl2(i,1) = crkavx(ilev)%VR(1,iadc2)
118 vrl2(i,2) = crkavx(ilev)%VR(2,iadc2)
119 vrl2(i,3) = crkavx(ilev)%VR(3,iadc2)
120C node 3:
121 vl3(i,1) = crkavx(ilev)%V(1,iadc3)
122 vl3(i,2) = crkavx(ilev)%V(2,iadc3)
123 vl3(i,3) = crkavx(ilev)%V(3,iadc3)
124 vrl3(i,1) = crkavx(ilev)%VR(1,iadc3)
125 vrl3(i,2) = crkavx(ilev)%VR(2,iadc3)
126 vrl3(i,3) = crkavx(ilev)%VR(3,iadc3)
127C node 4:
128 vl4(i,1) = crkavx(ilev)%V(1,iadc4)
129 vl4(i,2) = crkavx(ilev)%V(2,iadc4)
130 vl4(i,3) = crkavx(ilev)%V(3,iadc4)
131 vrl4(i,1) = crkavx(ilev)%VR(1,iadc4)
132 vrl4(i,2) = crkavx(ilev)%VR(2,iadc4)
133 vrl4(i,3) = crkavx(ilev)%VR(3,iadc4)
134 END DO
135C-----------------------------------------------
136 DO i=jft,jlt
137 mat(i)=ixc(1,i)
138 ngl(i)=ixc(7,i)
139 pid(i)=ixc(6,i)
140 thk0(i) = thke(i)
141 END DO
142C----------------------------------
143 off_l = zero
144 DO i=jft,jlt
145 dt1c(i) = dt1
146 off(i) = min(one,abs(offg(i)))
147 off_l = min(off_l,offg(i))
148 sigy(i) = 1.e30
149 ENDDO
150C----------------------------------
151 IF(off_l<zero)THEN
152 DO i=jft,jlt
153 IF(offg(i)<zero)THEN
154 vl1(i,1)=zero
155 vl1(i,2)=zero
156 vl1(i,3)=zero
157 vl2(i,1)=zero
158 vl2(i,2)=zero
159 vl2(i,3)=zero
160 vl3(i,1)=zero
161 vl3(i,2)=zero
162 vl3(i,3)=zero
163 vl4(i,1)=zero
164 vl4(i,2)=zero
165 vl4(i,3)=zero
166 vrl1(i,1)=zero
167 vrl1(i,2)=zero
168 vrl1(i,3)=zero
169 vrl2(i,1)=zero
170 vrl2(i,2)=zero
171 vrl2(i,3)=zero
172 vrl3(i,1)=zero
173 vrl3(i,2)=zero
174 vrl3(i,3)=zero
175 vrl4(i,1)=zero
176 vrl4(i,2)=zero
177 vrl4(i,3)=zero
178 ENDIF
179 ENDDO
180 ENDIF
181C----------------------------------
182 RETURN
183 END
subroutine ccoor3_crk(jft, jlt, nft, ixc, ngl, pid, mat, ilev, iel_crk, iadc_crk, offg, off, sigy, thke, thk0, dt1c, vl1, vl2, vl3, vl4, vrl1, vrl2, vrl3, vrl4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
Definition ccoor3_crk.F:39
#define min(a, b)
Definition macros.h:20
type(xfem_avx_), dimension(:), allocatable crkavx