OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sgcoor10.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!|| sgcoor10 ../engine/source/elements/solid/solide10/sgcoor10.F
25!||--- called by ------------------------------------------------------
26!|| s10forc3 ../engine/source/elements/solid/solide10/s10forc3.F
27!||====================================================================
28 SUBROUTINE sgcoor10(
29 1 XX, YY, ZZ, X,
30 2 XDP, X0, Y0, Z0,
31 3 VX0, VY0, VZ0, SAV,
32 4 NC, D, OFF, OFF0,
33 5 NEL, MTN, ISMSTR)
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "mvsiz_p.inc"
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "scr18_c.inc"
46#include "scr05_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: MTN
51 INTEGER, INTENT(IN) :: ISMSTR
52 INTEGER NC(MVSIZ,10),NEL
53C REAL
54 my_real
55 . vx0(mvsiz,10),vy0(mvsiz,10),vz0(mvsiz,10),
56 . d(3,*) ,off(*),off0(*),x(3,*)
57 DOUBLE PRECISION
58 . XX(MVSIZ,10), YY(MVSIZ,10), ZZ(MVSIZ,10),XDP(3,*),
59 . x0(mvsiz,10), y0(mvsiz,10), z0(mvsiz,10),sav(nel,30)
60C-----------------------------------------------
61C L o c a l V a r i a b l e s
62C-----------------------------------------------
63 INTEGER I,NPE,N,N2,N3
64C REAL
65C-----------------------------------------------
66C----------------------------
67C NODAL COORDINATES INITIALES |
68C----------------------------
69 npe = 10
70 DO n=1,npe
71 DO i=1,nel
72 x0(i,n)=sav(i,n)
73 y0(i,n)=sav(i,n+npe)
74 z0(i,n)=sav(i,n+2*npe)
75 ENDDO
76 ENDDO
77C----------------------------
78C DISPLACEMENT |
79C----------------------------
80 n = npe
81 DO i=1,nel
82 vx0(i,n)=xx(i,n)-x0(i,n)
83 vy0(i,n)=yy(i,n)-y0(i,n)
84 vz0(i,n)=zz(i,n)-z0(i,n)
85 ENDDO
86 DO n=1,npe
87 DO i=1,nel
88 vx0(i,n)=xx(i,n)-x0(i,n)-vx0(i,npe)
89 vy0(i,n)=yy(i,n)-y0(i,n)-vy0(i,npe)
90 vz0(i,n)=zz(i,n)-z0(i,n)-vz0(i,npe)
91 ENDDO
92 ENDDO
93C--- w/ /DT/BRICK/CST
94 IF (ismstr == 12.AND.idtmin(1)==3) THEN
95 DO i=1,nel
96 off0(i)=off(i)
97 ENDDO
98 IF (mtn==1) THEN
99 IF(iresp==1)THEN
100 DO i=1,nel
101 IF (off(i) <= one ) cycle
102 n3 = nc(i,npe)
103 vx0(i,npe)=xdp(1,n3)-x0(i,npe)
104 vy0(i,npe)=xdp(2,n3)-y0(i,npe)
105 vz0(i,npe)=xdp(3,n3)-z0(i,npe)
106 ENDDO
107 DO n=1,npe
108 DO i=1,nel
109 IF (off(i) <= one ) cycle
110 n2 = nc(i,n)
111 vx0(i,n) =xdp(1,n2)-x0(i,n)-vx0(i,npe)
112 vy0(i,n) =xdp(2,n2)-y0(i,n)-vy0(i,npe)
113 vz0(i,n) =xdp(3,n2)-z0(i,n)-vz0(i,npe)
114 ENDDO
115 ENDDO
116 ELSE
117 DO i=1,nel
118 IF (off(i) <= one ) cycle
119 n3 = nc(i,npe)
120 vx0(i,npe)=x(1,n3)-x0(i,npe)
121 vy0(i,npe)=x(2,n3)-y0(i,npe)
122 vz0(i,npe)=x(3,n3)-z0(i,npe)
123 ENDDO
124 DO n=1,npe
125 DO i=1,nel
126 IF (off(i) <= one ) cycle
127 n2 = nc(i,n)
128 vx0(i,n) =x(1,n2)-x0(i,n)-vx0(i,npe)
129 vy0(i,n) =x(2,n2)-y0(i,n)-vy0(i,npe)
130 vz0(i,n) =x(3,n2)-z0(i,n)-vz0(i,npe)
131 ENDDO
132 ENDDO
133 END IF !(IRESP==1)THEN
134 ELSE
135 DO n=1,npe
136 DO i=1,nel
137 IF (off(i) <= one ) cycle
138 vx0(i,n)=d(1,nc(i,n))-d(1,nc(i,npe))
139 vy0(i,n)=d(2,nc(i,n))-d(2,nc(i,npe))
140 vz0(i,n)=d(3,nc(i,n))-d(3,nc(i,npe))
141 ENDDO
142 ENDDO
143 END IF !(MTN==1) THEN
144 END IF !(ISMSTR == 10.AND.IDTMIN(1)==3) THEN
145C
146 RETURN
147 END
subroutine sgcoor10(xx, yy, zz, x, xdp, x0, y0, z0, vx0, vy0, vz0, sav, nc, d, off, off0, nel, mtn, ismstr)
Definition sgcoor10.F:34