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