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

Go to the source code of this file.

Functions/Subroutines

subroutine szsvm (jr0, js0, jt0, fhour, sigy, sig0, nu, svm1, svm2, nel, iint)

Function/Subroutine Documentation

◆ szsvm()

subroutine szsvm ( jr0,
js0,
jt0,
fhour,
sigy,
sig0,
nu,
svm1,
svm2,
integer nel,
integer, intent(in) iint )

Definition at line 30 of file szsvm.F.

34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C C o m m o n B l o c k s
40C-----------------------------------------------
41C-----------------------------------------------
42C D u m m y A r g u m e n t s
43C-----------------------------------------------
44 INTEGER, INTENT(IN) :: IINT
45 INTEGER NEL
47 . fhour(nel,3,4),jr0(*),js0(*),jt0(*) ,
48 . sigy(*) ,sig0(nel,6),svm1(*),svm2(*),nu(*)
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I,IKT
54 . s1,s2,s3,svm0,sr1,sr2,sr3,sr4,
55 . ss1,ss2,ss3,ss4,st1,st2,st3,st4,svmr,svms,svmt,
56 . svmrst,coef,coef1, jr_1,js_1,jt_1,nu1,nu2,
57 . rs,st,rt,vt2(4),max0,min0
58C coef= (3*8*0.75)^2 coef1 =1/0.75
59 coef= threehundred24
60 coef1= onep333
61C-----------------------------------------------
62 ikt = iint
63 IF (ikt ==2) THEN
64 coef1= coef/(ten*ikt)
65 coef= max(coef1,em01)
66 ELSEIF (ikt > 2) THEN
67 coef1= coef/(ten*ikt)
68 coef= max(coef1,em01)
69 ENDIF
70 DO i=1,nel
71 svm1(i) = zero
72 svm2(i) = zero
73 IF (sigy(i)<zep9ep30) THEN
74 s1 =sig0(i,1)-sig0(i,2)
75 s2 =sig0(i,2)-sig0(i,3)
76 s3 =sig0(i,1)-sig0(i,3)
77 svm0 = (s1*s1+s2*s2+s3*s3)*half + three*(sig0(i,4)*sig0(i,4)
78 . +sig0(i,5)*sig0(i,5)+sig0(i,6)*sig0(i,6))
79 nu1 =one/(one - nu(i))
80 nu2 =nu(i)*nu1
81 jr_1 = one/max(em20,jr0(i))
82 js_1 = one/max(em20,js0(i))
83 jt_1 = one/max(em20,jt0(i))
84 sr1 =nu1*fhour(i,1,3)+nu2*fhour(i,3,1)
85 sr2 =nu1*fhour(i,3,1)+nu2*fhour(i,1,3)
86 sr3 =fhour(i,1,3)-fhour(i,3,1)
87 sr4 =jt0(i)*jr_1*fhour(i,3,3)+jr0(i)*jt_1*fhour(i,1,1)
88 svmr = two*(sr1*sr1+sr2*sr2+sr3*sr3)+3*sr4*sr4
89 ss1 =fhour(i,1,2)-fhour(i,2,1)
90 ss2 =nu1*fhour(i,2,1)+nu2*fhour(i,1,2)
91 ss3 =nu1*fhour(i,1,2)+nu2*fhour(i,2,1)
92 ss4 =js0(i)*jr_1*fhour(i,2,2)+jr0(i)*js_1*fhour(i,1,1)
93 svms = two*(ss1*ss1+ss2*ss2+ss3*ss3) + three*ss4*ss4
94 st1 =nu1*fhour(i,2,3)+nu2*fhour(i,3,2)
95 st2 =fhour(i,2,3)-fhour(i,3,2)
96 st3 =nu1*fhour(i,3,2)+nu2*fhour(i,2,3)
97 st4 =js0(i)*jt_1*fhour(i,2,2)+jt0(i)*js_1*fhour(i,3,3)
98 svmt = two*(st1*st1+st2*st2+st3*st3) + three*st4*st4
99C
100 rs =sr1*ss1
101 rt =sr1*st1
102 st =ss1*st1
103 vt2(1) = rs+rt+st
104 vt2(2) = rs-rt-st
105 vt2(3) = -rs+rt-st
106 vt2(4) = -rs-rt+st
107 max0 =max(vt2(1),vt2(2),vt2(3),vt2(4))
108 min0 =min(vt2(1),vt2(2),vt2(3),vt2(4))
109 rs =sr2*ss2
110 rt =sr2*st2
111 st =ss2*st2
112 vt2(1) = rs+rt+st
113 vt2(2) = rs-rt-st
114 vt2(3) = -rs+rt-st
115 vt2(4) = -rs-rt+st
116 max0 =max0+max(vt2(1),vt2(2),vt2(3),vt2(4))
117 min0 =min0+min(vt2(1),vt2(2),vt2(3),vt2(4))
118 rs =sr3*ss3
119 rt =sr3*st3
120 st =ss3*st3
121 vt2(1) = rs+rt+st
122 vt2(2) = rs-rt-st
123 vt2(3) = -rs+rt-st
124 vt2(4) = -rs-rt+st
125 max0 =max0+max(vt2(1),vt2(2),vt2(3),vt2(4))
126 min0 =min0+min(vt2(1),vt2(2),vt2(3),vt2(4))
127 svmrst = svm0+coef*(svmr+svms+svmt)
128 svm1(i) = sqrt(abs(svmrst+coef*max0))
129 svm2(i) = sqrt(max(svmrst+coef*min0,zero))
130 svm2(i) = min(svm2(i),svm0)
131 ENDIF
132 ENDDO
133C
134 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21