1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
clc
// initialization of variables
clear
epsillon=[0.01 -0.02 0
-0.02 0.03 -0.01
0 -0.01 0] // dimensionless
a_xx=0.6
theta=acos(a_xx) // radians
//calculations
// theta=theta*%pi/180
a=[cos(theta) 0 -sin(theta)
0 1 0
sin(theta) 0 cos(theta)]
b=a.'
epsillon_new=a*epsillon*b
// calculation of strain invariants
// for epsillon
J1=epsillon(1,1)+epsillon(2,2)+epsillon(3,3)
J2=epsillon(1,1)*epsillon(2,2)+epsillon(2,2)*epsillon(3,3)+epsillon(3,3)*epsillon(1,1)-2*(epsillon(1,2)^2+epsillon(2,3)^2+epsillon(3,1)^2)
J3=epsillon(1,1)*epsillon(2,2)*epsillon(3,3)+2*epsillon(1,2)*epsillon(2,3)*epsillon(3,1)-(epsillon(1,1)*epsillon(2,3)^2+epsillon(2,2)*epsillon(3,1)^2+epsillon(3,3)*epsillon(1,2)^2)
// for epsillon_new
J11=epsillon_new(1,1)+epsillon_new(2,2)+epsillon_new(3,3)
J22=epsillon_new(1,1)*epsillon_new(2,2)+epsillon_new(2,2)*epsillon_new(3,3)+epsillon_new(3,3)*epsillon_new(1,1)-2*(epsillon_new(1,2)^2+epsillon_new(2,3)^2+epsillon_new(3,1)^2)
J33=epsillon_new(1,1)*epsillon_new(2,2)*epsillon_new(3,3)+2*epsillon_new(1,2)*epsillon_new(2,3)*epsillon_new(3,1)-(epsillon_new(1,1)*epsillon_new(2,3)^2+epsillon_new(2,2)*epsillon_new(3,1)^2+epsillon_new(3,3)*epsillon_new(1,2)^2)
// Results
printf('The new strain tensor is')
disp(epsillon_new)
printf('The strain invariants of old stress tensor are J1=%0.2f J2=%.e J3=%.e \n and that of the new stress tensor are J1=%0.2f J2=%.e J3=%.e',J1,J2,J3,J11,J22,J33)
|