OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sdefo3.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!|| sdefo3 ../starter/source/elements/solid/solide/sdefo3.F
25!||--- called by ------------------------------------------------------
26!|| srefsta3 ../starter/source/elements/solid/solide/srefsta3.F
27!||====================================================================
28 SUBROUTINE sdefo3(
29 . PX1, PX2, PX3, PX4,
30 . PY1, PY2, PY3, PY4,
31 . PZ1, PZ2, PZ3, PZ4,
32 . VX1, VX2, VX3, VX4, VX5, VX6, VX7, VX8,
33 . VY1, VY2, VY3, VY4, VY5, VY6, VY7, VY8,
34 . VZ1, VZ2, VZ3, VZ4, VZ5, VZ6, VZ7, VZ8,
35 . DXX, DXY, DXZ, DYX, DYY, DYZ, DZX, DZY, DZZ, D4, D5, D6,
36 . WXX, WYY, WZZ)
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 C o m m o n B l o c k s
47C-----------------------------------------------
48#include "vect01_c.inc"
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
53 . vx1(*), vx2(*), vx3(*), vx4(*), vx5(*), vx6(*), vx7(*), vx8(*),
54 . vy1(*), vy2(*), vy3(*), vy4(*), vy5(*), vy6(*), vy7(*), vy8(*),
55 . vz1(*), vz2(*), vz3(*), vz4(*), vz5(*), vz6(*), vz7(*), vz8(*),
56 . px1(*), px2(*), px3(*), px4(*),
57 . py1(*), py2(*), py3(*), py4(*),
58 . pz1(*), pz2(*), pz3(*), pz4(*),
59 . dxx(*), dxy(*), dxz(*),
60 . dyx(*), dyy(*), dyz(*),
61 . dzx(*), dzy(*), dzz(*), d4(*), d5(*), d6(*),
62 . wxx(*), wyy(*), wzz(*)
63C-----------------------------------------------
64C L o c a l V a r i a b l e s
65C-----------------------------------------------
66 INTEGER I, J
67 my_real
68 . VX17(MVSIZ), VY17(MVSIZ), VZ17(MVSIZ),
69 . VX28(MVSIZ), VY28(MVSIZ), VZ28(MVSIZ),
70 . VX35(MVSIZ), VY35(MVSIZ), VZ35(MVSIZ),
71 . VX46(MVSIZ), VY46(MVSIZ), VZ46(MVSIZ), DT1D2
72 my_real
73 . PXX2,PYY2,PZZ2,PXX2P,PYY2P,PZZ2P
74 my_real
75 . aaa,bbb
76C-----------------------------------------------
77 DO i=lft,llt
78 vx17(i)=vx1(i)-vx7(i)
79 vx28(i)=vx2(i)-vx8(i)
80 vx35(i)=vx3(i)-vx5(i)
81 vx46(i)=vx4(i)-vx6(i)
82 vy17(i)=vy1(i)-vy7(i)
83 vy28(i)=vy2(i)-vy8(i)
84 vy35(i)=vy3(i)-vy5(i)
85 vy46(i)=vy4(i)-vy6(i)
86 vz17(i)=vz1(i)-vz7(i)
87 vz28(i)=vz2(i)-vz8(i)
88 vz35(i)=vz3(i)-vz5(i)
89 vz46(i)=vz4(i)-vz6(i)
90 ENDDO
91C 12
92 DO i=lft,llt
93 dxx(i)=px1(i)*vx17(i)+px2(i)*vx28(i)+
94 . px3(i)*vx35(i)+px4(i)*vx46(i)
95 dyy(i)=py1(i)*vy17(i)+py2(i)*vy28(i)+
96 . py3(i)*vy35(i)+py4(i)*vy46(i)
97 dzz(i)=pz1(i)*vz17(i)+pz2(i)*vz28(i)+
98 . pz3(i)*vz35(i)+pz4(i)*vz46(i)
99 dxy(i)=py1(i)*vx17(i)+py2(i)*vx28(i)+
100 . py3(i)*vx35(i)+py4(i)*vx46(i)
101 dxz(i)=pz1(i)*vx17(i)+pz2(i)*vx28(i)+
102 . pz3(i)*vx35(i)+pz4(i)*vx46(i)
103 dyx(i)=px1(i)*vy17(i)+px2(i)*vy28(i)+
104 . px3(i)*vy35(i)+px4(i)*vy46(i)
105 dyz(i)=pz1(i)*vy17(i)+pz2(i)*vy28(i)+
106 . pz3(i)*vy35(i)+pz4(i)*vy46(i)
107 dzx(i)=px1(i)*vz17(i)+px2(i)*vz28(i)+
108 . px3(i)*vz35(i)+px4(i)*vz46(i)
109 dzy(i)=py1(i)*vz17(i)+py2(i)*vz28(i)+
110 . py3(i)*vz35(i)+py4(i)*vz46(i)
111 ENDDO
112C
113 IF (jcvt/=0) THEN
114 DO i=lft,llt
115 d4(i) = dxy(i)+dyx(i)
116 . -(dxx(i)*dxy(i)+dyx(i)*dyy(i)+dzx(i)*dzy(i))
117 d5(i) = dyz(i)+dzy(i)
118 . -(dyy(i)*dyz(i)+dzy(i)*dzz(i)+dxy(i)*dxz(i))
119 d6(i) = dxz(i)+dzx(i)
120 . -(dzz(i)*dzx(i)+dxz(i)*dxx(i)+dyz(i)*dyx(i))
121 dxx(i) = dxx(i)
122 . -half*(dxx(i)*dxx(i)+dyx(i)*dyx(i)+dzx(i)*dzx(i))
123 dyy(i) = dyy(i)
124 . -half*(dyy(i)*dyy(i)+dzy(i)*dzy(i)+dxy(i)*dxy(i))
125 dzz(i) = dzz(i)
126 . -half*(dzz(i)*dzz(i)+dxz(i)*dxz(i)+dyz(i)*dyz(i))
127 wxx(i) = zero
128 wyy(i) = zero
129 wzz(i) = zero
130 ENDDO
131 ELSE
132 DO i=lft,llt
133 d4(i) = dxy(i)+dyx(i)
134 d5(i) = dyz(i)+dzy(i)
135 d6(i) = dxz(i)+dzx(i)
136 dxx(i) = dxx(i)
137 dyy(i) = dyy(i)
138 dzz(i) = dzz(i)
139 wxx(i) = zero
140 wyy(i) = zero
141 wzz(i) = zero
142c WZZ(I) =DT1D2*(DYX(I)-DXY(I))
143c WYY(I) =DT1D2*(DXZ(I)-DZX(I))
144c WXX(I) =DT1D2*(DZY(I)-DYZ(I))
145 ENDDO
146 ENDIF
147C
148 RETURN
149 END
#define my_real
Definition cppsort.cpp:32
subroutine sdefo3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition sdefo3.F:37