OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sstra3.F File Reference
#include "implicit_f.inc"
#include "com08_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine sstra3 (dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)

Function/Subroutine Documentation

◆ sstra3()

subroutine sstra3 ( dxx,
dyy,
dzz,
d4,
d5,
d6,
strain,
wxx,
wyy,
wzz,
off,
integer, intent(in) nel,
integer, intent(in) jcvt )

Definition at line 42 of file sstra3.F.

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
#define my_real
Definition cppsort.cpp:32