OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sstra3.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!|| sstra3 ../engine/source/elements/solid/solide/sstra3.F
25!||--- called by ------------------------------------------------------
26!|| ig3duforc3 ../engine/source/elements/ige3d/ig3duforc3.F
27!|| s10forc3 ../engine/source/elements/solid/solide10/s10forc3.F
28!|| s16forc3 ../engine/source/elements/thickshell/solide16/s16forc3.F
29!|| s20forc3 ../engine/source/elements/solid/solide20/s20forc3.F
30!|| s4forc3 ../engine/source/elements/solid/solide4/s4forc3.F
31!|| s6cforc3 ../engine/source/elements/thickshell/solide6c/s6cforc3.F
32!|| s6zforc3 ../engine/source/elements/solid/solide6z/s6zforc3.F90
33!|| s8cforc3 ../engine/source/elements/thickshell/solide8c/s8cforc3.F
34!|| s8eforc3 ../engine/source/elements/solid/solide8e/s8eforc3.f
35!|| s8sforc3 ../engine/source/elements/solid/solide8s/s8sforc3.F
36!|| s8zforc3 ../engine/source/elements/solid/solide8z/s8zforc3.F
37!|| scforc3 ../engine/source/elements/thickshell/solidec/scforc3.F
38!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
39!|| spstres ../engine/source/elements/sph/spstres.F
40!|| szforc3 ../engine/source/elements/solid/solidez/szforc3.F
41!||====================================================================
42 SUBROUTINE sstra3(
43 1 DXX, DYY, DZZ, D4,
44 2 D5, D6, STRAIN, WXX,
45 3 WYY, WZZ, OFF, NEL,
46 4 JCVT)
47C-----------------------------------------------
48C I m p l i c i t T y p e s
49C-----------------------------------------------
50#include "implicit_f.inc"
51C-----------------------------------------------
52C C o m m o n B l o c k s
53C-----------------------------------------------
54#include "com08_c.inc"
55C-----------------------------------------------
56C D u m m y A r g u m e n t s
57C-----------------------------------------------
58 INTEGER, INTENT(IN) :: JCVT
59 INTEGER, INTENT(IN) :: NEL
60 my_real DXX(*), DYY(*), DZZ(*), D4(*), D5(*), D6(*),
61 . STRAIN(NEL,6), WXX(*), WYY(*), WZZ(*),OFF(*)
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I
66 my_real WXXF, WYYF, WZZF, Q1, Q2, Q3, SS1, SS2, SS3,
67 . SS4, SS5, SS6, DTOFF(NEL)
68C-
69 wxxf = zero
70 wyyf = zero
71 wzzf = zero
72 q1 = zero
73 q2= zero
74 q3=0
75 dtoff(1:nel) = dt1*off(1:nel)
76 IF(jcvt>0)THEN
77 DO i=1,nel
78 strain(i,1)=strain(i,1)+dxx(i)*dtoff(i)
79 strain(i,2)=strain(i,2)+dyy(i)*dtoff(i)
80 strain(i,3)=strain(i,3)+dzz(i)*dtoff(i)
81 strain(i,4)=strain(i,4)+d4(i)*dtoff(i)
82 strain(i,5)=strain(i,5)+d5(i)*dtoff(i)
83 strain(i,6)=strain(i,6)+d6(i)*dtoff(i)
84 ENDDO
85 ELSE
86 DO i=1,nel
87C
88 wxxf=wxx(i)*off(i)
89 wyyf=wyy(i)*off(i)
90 wzzf=wzz(i)*off(i)
91C
92 q1=strain(i,4)*wzzf
93 q2=strain(i,6)*wyyf
94 q3=strain(i,5)*wxxf
95 ss1=strain(i,1)-q1+q2
96 ss2=strain(i,2)+q1-q3
97 ss3=strain(i,3)-q2+q3
98 ss4=strain(i,4)+2.*wzzf*(strain(i,1)-strain(i,2))+
99 . wyyf*strain(i,5)-wxxf*strain(i,6)
100 ss5=strain(i,5)+2.*wxxf*(strain(i,2)-strain(i,3))+
101 . wzzf*strain(i,6)-wyyf*strain(i,4)
102 ss6=strain(i,6)+2.*wyyf*(strain(i,3)-strain(i,1))+
103 . wxxf*strain(i,4)-wzzf*strain(i,5)
104 strain(i,1)= ss1 + dxx(i)*dtoff(i)
105 strain(i,2)= ss2 + dyy(i)*dtoff(i)
106 strain(i,3)= ss3 + dzz(i)*dtoff(i)
107 strain(i,4)= ss4 + d4(i)*dtoff(i)
108 strain(i,5)= ss5 + d5(i)*dtoff(i)
109 strain(i,6)= ss6 + d6(i)*dtoff(i)
110 ENDDO
111 ENDIF
112c------------
113 RETURN
114 END SUBROUTINE sstra3
subroutine s8eforc3(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, icp, 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, nvc, ipm, itask, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, igeo, xdp, voln, condn, condnsky, d, sensors, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, maxfunc, userl_avail, glob_therm, impl_s, idyna)
Definition s8eforc3.F:148
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
Definition sstra3.F:47