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

Go to the source code of this file.

Functions/Subroutines

subroutine m1ismstr11 (nel, es1, es2, es3, es4, es5, es6, epsth, c1, g2, sig11)

Function/Subroutine Documentation

◆ m1ismstr11()

subroutine m1ismstr11 ( integer nel,
es1,
es2,
es3,
es4,
es5,
es6,
epsth,
c1,
g2,
sig11 )

Definition at line 30 of file m1ismstr11.F.

33C-----------------------------------------------
34C I M P L I C I T T Y P E S
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C G L O B A L P A R A M E T E R S
39C-----------------------------------------------
40#include "mvsiz_p.inc"
41C-----------------------------------------------
42C C O M M O N
43C-----------------------------------------------
44C----------------------------------------------------------------
45C I N P U T A R G U M E N T S
46C----------------------------------------------------------------
47 INTEGER NEL
49 . es1(*), es2(*), es3(*),
50 . es4(*), es5(*), es6(*),
51 . sig11(mvsiz,6), epsth(*),c1,g2
52C----------------------------------------------------------------
53C L O C A L V A R I B L E S
54C----------------------------------------------------------------
55 INTEGER I,J,K,IFAST(MVSIZ),NPRIN,INDEX(MVSIZ),NFAST
57 . sv(3),ev(mvsiz,3),dirprv(mvsiz,3,3),ekk,dav,p3,
58 . espin1(mvsiz), espin2(mvsiz), espin3(mvsiz),
59 . espin4(mvsiz), espin5(mvsiz), espin6(mvsiz),
60 . e1, e2, e3, e4, e5, e6,espin(mvsiz,6),
61 . e1q,e2q,e3q,e4q,e5q,e6q,
62 . e1t,e2t,e3t,e4t,e5t,e6t,b2(6),emin,emax
63C----------------------------------------------------------------
64 nprin = 0
65 DO i=1,nel
66 ifast(i) =1
67 emin=min(es1(i),es2(i),es3(i),es4(i),es5(i),es6(i))
68 emax=max(es1(i),es2(i),es3(i),es4(i),es5(i),es6(i))
69 IF (emin<-em01.OR.emax>em01) THEN
70 nprin = nprin + 1
71 index(nprin) = i
72 ifast(i) =0
73 espin1(nprin)=es1(i)
74 espin2(nprin)=es2(i)
75 espin3(nprin)=es3(i)
76 espin4(nprin)=es4(i)
77 espin6(nprin)=es6(i)
78 espin5(nprin)=es5(i)
79 END IF
80 ENDDO
81 DO i=1,nel
82 IF (ifast(i)==0) cycle
83 e1=es1(i)
84 e2=es2(i)
85 e3=es3(i)
86 e4=es4(i)
87 e6=es6(i)
88 e5=es5(i)
89 e1q = e1*e1
90 e2q = e2*e2
91 e3q = e3*e3
92 e4q = e4*e4
93 e6q = e6*e6
94 e5q = e5*e5
95 b2(1)=e1q+e4q+e6q
96 b2(2)=e4q+e2q+e5q
97 b2(3)=e6q+e5q+e3q
98 b2(4)=e1*e4+e2*e4+e5*e6
99 b2(6)=e1*e6+e4*e5+e3*e6
100 b2(5)=e4*e6+e2*e5+e3*e5
101 es1(i)=half*(e1-fourth*b2(1))
102 es2(i)=half*(e2-fourth*b2(2))
103 es3(i)=half*(e3-fourth*b2(3))
104 es4(i)=half*(e4-fourth*b2(4))
105 es6(i)=half*(e6-fourth*b2(6))
106 es5(i)=half*(e5-fourth*b2(5))
107 ENDDO
108C
109 DO i=1,nel
110 IF (ifast(i)==0) cycle
111 ekk=es1(i)+es2(i)+es3(i)-epsth(i)
112 dav=-third*(es1(i)+es2(i)+es3(i))
113 p3 = c1*ekk
114 sig11(i,1)=p3+g2*(es1(i)+dav)
115 sig11(i,2)=p3+g2*(es2(i)+dav)
116 sig11(i,3)=p3+g2*(es3(i)+dav)
117 sig11(i,4)=g2*es4(i)
118 sig11(i,5)=g2*es5(i)
119 sig11(i,6)=g2*es6(i)
120 ENDDO
121C
122 IF (nprin>0) THEN
123 CALL princ_u1(
124 1 nprin , espin1 , espin2 ,espin3 ,espin4 ,
125 2 espin5 ,espin6 ,ev , dirprv )
126#include "vectorize.inc"
127 DO k=1,nprin
128 i = index(k)
129 ekk=ev(k,1)+ev(k,2)+ev(k,3)
130 dav=-third*ekk
131 p3 = c1*(ekk-epsth(i))
132 sv(1)=p3 +g2*(ev(k,1)+dav)
133 sv(2)=p3 +g2*(ev(k,2)+dav)
134 sv(3)=p3 +g2*(ev(k,3)+dav)
135 sig11(i,1) = dirprv(k,1,1)*dirprv(k,1,1)*sv(1)
136 . + dirprv(k,1,2)*dirprv(k,1,2)*sv(2)
137 . + dirprv(k,1,3)*dirprv(k,1,3)*sv(3)
138 sig11(i,2) = dirprv(k,2,2)*dirprv(k,2,2)*sv(2)
139 . + dirprv(k,2,3)*dirprv(k,2,3)*sv(3)
140 . + dirprv(k,2,1)*dirprv(k,2,1)*sv(1)
141 sig11(i,3) = dirprv(k,3,3)*dirprv(k,3,3)*sv(3)
142 . + dirprv(k,3,1)*dirprv(k,3,1)*sv(1)
143 . + dirprv(k,3,2)*dirprv(k,3,2)*sv(2)
144 sig11(i,4) = dirprv(k,1,1)*dirprv(k,2,1)*sv(1)
145 . + dirprv(k,1,2)*dirprv(k,2,2)*sv(2)
146 . + dirprv(k,1,3)*dirprv(k,2,3)*sv(3)
147 sig11(i,5) = dirprv(k,2,2)*dirprv(k,3,2)*sv(2)
148 . + dirprv(k,2,3)*dirprv(k,3,3)*sv(3)
149 . + dirprv(k,2,1)*dirprv(k,3,1)*sv(1)
150 sig11(i,6) = dirprv(k,3,3)*dirprv(k,1,3)*sv(3)
151 . + dirprv(k,3,1)*dirprv(k,1,1)*sv(1)
152 . + dirprv(k,3,2)*dirprv(k,1,2)*sv(2)
153 ENDDO
154 END IF
155C
156 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine princ_u1(nel, es1, es2, es3, es4, es5, es6, ev, dirprv)
Definition princ_u1.F:34