OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sgparav3.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!|| sgparav3 ../engine/source/elements/solid/solide/sgparav3.F
25!||--- called by ------------------------------------------------------
26!|| s6cforc3 ../engine/source/elements/thickshell/solide6c/s6cforc3.F
27!|| s8cforc3 ../engine/source/elements/thickshell/solide8c/s8cforc3.F
28!|| scforc3 ../engine/source/elements/thickshell/solidec/scforc3.f
29!||--- uses -----------------------------------------------------
30!|| element_mod ../common_source/modules/elements/element_mod.F90
31!||====================================================================
32 SUBROUTINE sgparav3(
33 1 NPE, X, IXS, RX,
34 2 RY, RZ, SX, SY,
35 3 SZ, TX, TY, TZ,
36 4 NEL)
37 use element_mod , only : nixs
38C-----------------------------------------------
39C I m p l i c i t T y p e s
40C-----------------------------------------------
41#include "implicit_f.inc"
42C-----------------------------------------------
43C G l o b a l P a r a m e t e r s
44C-----------------------------------------------
45#include "mvsiz_p.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49C-----------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER, INTENT(IN) :: NEL
53 INTEGER NPE
54 INTEGER IXS(NIXS,*)
55C REAL
57 . x(3,*),rx(*), ry(*), rz(*), sx(*), sy(*), sz(*),
58 . tx(*), ty(*), tz(*)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER I,NPE1,N
63 INTEGER NC(MVSIZ,NPE)
64C REAL
65 my_real
66 . x0(mvsiz,npe), y0(mvsiz,npe), z0(mvsiz,npe)
67C-----------------------------------------------
68C
69 npe1=npe-1
70 IF (npe==4.OR.npe==10) THEN
71 DO i=1,nel
72 nc(i,1)=ixs(2,i)
73 nc(i,2)=ixs(4,i)
74 nc(i,3)=ixs(7,i)
75 nc(i,4)=ixs(6,i)
76 ENDDO
77 ELSEIF (npe==6) THEN
78 DO i=1,nel
79 nc(i,1)=ixs(2,i)
80 nc(i,2)=ixs(3,i)
81 nc(i,3)=ixs(4,i)
82 nc(i,4)=ixs(6,i)
83 nc(i,5)=ixs(7,i)
84 nc(i,6)=ixs(8,i)
85 ENDDO
86 ELSE
87 DO n=1,npe
88 DO i=1,nel
89 nc(i,n)=ixs(n+1,i)
90 ENDDO
91 ENDDO
92 ENDIF
93C----------------------------
94C NODAL COORDINATES /
95C----------------------------
96 DO n=1,npe
97 DO i=1,nel
98 x0(i,n)=x(1,nc(i,n))
99 y0(i,n)=x(2,nc(i,n))
100 z0(i,n)=x(3,nc(i,n))
101 ENDDO
102 ENDDO
103C----------------------------
104C R,S,T |
105C----------------------------
106 SELECT CASE (npe)
107 CASE(4,10)
108 DO i=1,nel
109 rx(i) = x0(i,1) - x0(i,4)
110 ry(i) = y0(i,1) - y0(i,4)
111 rz(i) = z0(i,1) - z0(i,4)
112C
113 sx(i) = x0(i,2) - x0(i,4)
114 sy(i) = y0(i,2) - y0(i,4)
115 sz(i) = z0(i,2) - z0(i,4)
116C
117 tx(i) = x0(i,3) - x0(i,4)
118 ty(i) = y0(i,3) - y0(i,4)
119 tz(i) = z0(i,3) - z0(i,4)
120 ENDDO
121 CASE(6)
122 DO i=1,nel
123 rx(i) = x0(i,3) + x0(i,6) - x0(i,1)- x0(i,4)
124 ry(i) = y0(i,3) + y0(i,6) - y0(i,1)- y0(i,4)
125 rz(i) = z0(i,3) + z0(i,6) - z0(i,1) - z0(i,4)
126C
127 sx(i) = (x0(i,4)+x0(i,5)+x0(i,6)-x0(i,1)+x0(i,2)+x0(i,3))*third
128 sy(i) = (y0(i,4)+y0(i,5)+y0(i,6)-y0(i,1)+y0(i,2)+y0(i,3))*third
129 sz(i) = (z0(i,4)+z0(i,5)+z0(i,6)-z0(i,1)+z0(i,2)+z0(i,3))*third
130C
131 tx(i) = x0(i,2) + x0(i,5)- x0(i,1) - x0(i,4)
132 ty(i) = y0(i,2) + y0(i,5)- y0(i,1) - y0(i,4)
133 tz(i) = z0(i,2) + z0(i,5)- z0(i,1) - z0(i,4)
134 ENDDO
135 CASE(8)
136 DO i=1,nel
137 rx(i) = x0(i,3)+x0(i,4)+x0(i,7)+x0(i,8)-
138 . (x0(i,1)+x0(i,2)+x0(i,5)+x0(i,6))
139 ry(i) = y0(i,3)+y0(i,4)+y0(i,7)+y0(i,8)-
140 . (y0(i,1)+y0(i,2)+y0(i,5)+y0(i,6))
141 rz(i) = z0(i,3)+z0(i,4)+z0(i,7)+z0(i,8)-
142 . (z0(i,1)+z0(i,2)+z0(i,5)+z0(i,6))
143C
144 sx(i) = x0(i,5)+x0(i,6)+x0(i,7)+x0(i,8)-
145 . (x0(i,1)+x0(i,2)+x0(i,3)+x0(i,4))
146 sy(i) = y0(i,5)+y0(i,6)+y0(i,7)+y0(i,8)-
147 . (y0(i,1)+y0(i,2)+y0(i,3)+y0(i,4))
148 sz(i) = z0(i,5)+z0(i,6)+z0(i,7)+z0(i,8)-
149 . (z0(i,1)+z0(i,2)+z0(i,3)+z0(i,4))
150C
151 tx(i) = x0(i,3)+x0(i,2)+x0(i,7)+x0(i,6)-
152 . (x0(i,1)+x0(i,4)+x0(i,5)+x0(i,8))
153 ty(i) = y0(i,3)+y0(i,2)+y0(i,7)+y0(i,6)-
154 . (y0(i,1)+y0(i,4)+y0(i,5)+y0(i,8))
155 tz(i) = z0(i,3)+z0(i,2)+z0(i,7)+z0(i,6)-
156 . (z0(i,1)+z0(i,4)+z0(i,5)+z0(i,8))
157C
158 ENDDO
159 END SELECT
160C
161 RETURN
162 END
#define my_real
Definition cppsort.cpp:32
subroutine scforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icp, icsig, nvc, ipm, istrain, temp, fthe, fthesky, iexpan, igeo, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
Definition scforc3.F:98
subroutine sgparav3(npe, x, ixs, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel)
Definition sgparav3.F:37