clc
clear
format long
EA=67.0*10^3;
EM=26.3*10^3;
Theta=0.55;
Mf=9;
Ms=18.4;
As=34.5;
Af=49;
CM=8;
CA=13.8;
sigmacrs=100;
sigmacrf=170;
epsilonL=0.067;
aA=pi/(Af-As);
aM=pi/(Ms-Mf);
bA=-aA/CA;
bM=-aM/CM;
Area_SMA=0.01;%mm^2
Length_SMA=500;%%mm
E_cable=0.5e20;
A_cable=3.1415926*1.4*1.4/4;
L_cable=500;
k1=E_cable*A_cable/L_cable;
k2=k1;
epsilon0=0.005;%0.005
T0=20;%初始温度
sigma0=128;
xis0=0.046;
xiT0=0;
xi0=xis0+xiT0;%%初始马氏体体积分数
Exi0=EA+xi0*(EM-EA);
omegaxi0=-epsilonL*Exi0;
Mcofxi0=1/(1+Exi0*Area_SMA/Length_SMA*(1/k1+1/k2));
tic
Num_division1=30;
Num_division2=30;
xis1=xis0;
xiT1=xiT0;
xi1=xi0;
Exi1=Exi0;
omegaxi1=omegaxi0;
Mcofxi1=Mcofxi0;
Asigmas=(aA*As-bA*sigma0+bA*Mcofxi1*Theta*T0)/(aA+Mcofxi1*Theta*bA);
sigma1=Mcofxi1*Theta*(Asigmas-T0)+sigma0;
xi2=0;
xis2=xis1-xis1/xi1*(xi1-xi2);
xiT2=xiT1-xiT1/xi1*(xi1-xi2);
Exi2=EA+xi2*(EM-EA);
omegaxi2=-epsilonL*Exi2;
Mcofxi2=1/(1+Exi2*Area_SMA/Length_SMA*(1/k1+1/k2));
epsilon1=epsilon0-(sigma1-sigma0)*(Area_SMA/Length_SMA*(1/k1+1/k2));
AAA1=(-bA*Exi2*epsilon1+bA*Exi1*epsilon1-bA*omegaxi2*xis2+bA*omegaxi1*xis1+bA*Theta*Asigmas);
Asigmaf=(aA*As-bA*sigma1+Mcofxi2*(-bA*Exi2*epsilon1+bA*Exi1*epsilon1-bA*omegaxi2*xis2+bA*omegaxi1*xis1+bA*Theta*Asigmas)+pi)/(aA+bA*Mcofxi2*Theta);
sigma2=(pi-aA*(Asigmaf-As))/bA;
xi3=xi2;
xis3=xis2;
xiT3=xiT2;
Exi3=Exi2;
omegaxi3=omegaxi2;
Mcofxi3=Mcofxi2;
epsilon2=epsilon1-(sigma2-sigma1)*(Area_SMA/Length_SMA*(1/k1+1/k2));
Msigmas=(sigma2-sigmacrs+CM*Ms-Mcofxi3*Theta*Asigmaf)/(CM-Mcofxi3*Theta);
sigma3=sigma2+Mcofxi3*Theta*(Msigmas-Asigmaf);
xi4=xi0;
xis4=xis0;
xiT4=xiT0;
Exi4=Exi0;
omegaxi4=omegaxi0;
Mcofxi4=1/(1+Exi4*Area_SMA/Length_SMA*(1/k1+1/k2));
epsilon3=epsilon2-(sigma3-sigma2)*(Area_SMA/Length_SMA*(1/k1+1/k2));
Msigmaf=(sigma3-sigmacrf+Mcofxi4*(Exi4*epsilon3-Exi3*epsilon3+omegaxi4*xis4-omegaxi3*xis3-Theta*Msigmas)+CM*Ms+(sigmacrf-sigmacrs)/pi*acos((2*xis4-xis3-1)/(1-xis3)))/(CM-Mcofxi4*Theta);
T4_1=Msigmaf;
sigma4=sigma3+Mcofxi4*(Exi4*epsilon3-Exi3*epsilon3+Theta*(Msigmaf-Msigmas)+omegaxi4*xis4-omegaxi3*xis3);
sigma4_test=Mcofxi0*Theta*(Msigmaf-T0)+sigma0;
xis4_test=(1-xis3)/2*cos(pi/(sigmacrf-sigmacrs)*(sigma4-sigmacrf-CM*(Msigmaf-Ms)))+(1+xis3)/2;
epsilon4=epsilon3-(sigma4-sigma3)*(Area_SMA/Length_SMA*(1/k1+1/k2));
figure(1)
T_1=linspace(T0,Asigmas,Num_division1);
Mcofxi=Mcofxi0;
sigmar_1=Mcofxi*Theta*(T_1-T0)+sigma0;
xi01=xi0+T_1-T_1;
yu01=epsilon0-(1/Mcofxi-1)*(sigmar_1-sigma0)/Exi1;
syms T sigma
xi=xi1/2*(cos(aA*(T-As-sigma/CA))+1);
xis=xis1-xis1/xi1*(xi1-xi);
Exi=EA+xi*(EM-EA);
omegaxi=-epsilonL*Exi;
Mcofxi=1/(1+Exi*Area_SMA/Length_SMA*(1/k1+1/k2));
F=Mcofxi*(Exi*epsilon1-Exi1*epsilon1+omegaxi*xis-omegaxi1*xis1+Theta*(T-Asigmas))+sigma1-sigma;%%---
dF=diff(F,sigma);
sigma=sigma1+1;
i=1;
for T=linspace(Asigmas,Asigmaf,Num_division2)
n=1;
sigmar1=sigma-eval(F/dF);
while abs(sigmar1-sigma)>=1.0e-6
n=n+1;
sigma=sigmar1;
sigmar1=sigma-eval(F/dF);
end
sigma=sigmar1;
sigmar_2(i)=sigma;
xi02(i)=xi1/2*(cos(aA*(T-As-sigma/CA))+1);
Exi=EA+xi02(i)*(EM-EA);
Mcofxi=1./(1+Exi*Area_SMA/Length_SMA*(1/k1+1/k2));
yu02(i)=epsilon0-(1./Mcofxi-1).*(sigmar_2(i)-sigma0)./Exi;
aaa(i)=cos(aA.*(T-As-sigma/CA));
i=i+1;
end
T_2=linspace(Asigmas,Asigmaf,Num_division2);
T_5=linspace(Asigmaf,100,Num_division1);
Mcofxi=Mcofxi2;
sigmar_5=Mcofxi*Theta*(T_5-Asigmaf)+sigma2;
xi05=T_5-T_5;
yu05=epsilon0-(1/Mcofxi-1)*(sigmar_5-sigma0)/Exi2;
T_3=linspace(Asigmaf,Msigmas,Num_division2);
Mcofxi=Mcofxi2;
sigmar_3=sigma2+Mcofxi*Theta*(T_3-Asigmaf);
xi03=T_3-T_3;
yu03=epsilon0-(1/Mcofxi-1)*(sigmar_3-sigma0)/Exi3;
syms T sigma
xis=(1-xis3)/2*cos(pi/(sigmacrs-sigmacrf)*(sigma-sigmacrf-CM*(T-Ms)))+(1+xis3)/2;
xi=xis;
Exi=EA+xi*(EM-EA);
omegaxi=-epsilonL*Exi;
Mcofxi=1/(1+Exi*Area_SMA/Length_SMA*(1/k1+1/k2));
F=Mcofxi*(Exi*epsilon3-Exi3*epsilon3+Theta*(T-Msigmas)+omegaxi*xis-omegaxi3*xis3)+sigma3-sigma;
dF=diff(F,sigma);
sigma=sigma2-1;
i=1;
for T=linspace(Msigmas,Msigmaf,Num_division2)
n=1;
sigmar1=sigma-eval(F/dF);
while abs(sigmar1-sigma)>=1.0e-6
n=n+1;
sigma=sigmar1;
sigmar1=sigma-eval(F/dF);
end
sigma=sigmar1;
sigmar_4(i)=sigma;
xi04(i)=(1-xis3)/2*cos(pi/(sigmacrs-sigmacrf)*(sigma-sigmacrf-CM*(T-Ms)))+(1+xis3)/2;
Exi=EA+xi04(i)*(EM-EA);
Mcofxi=1/(1+Exi*Area_SMA/Length_SMA*(1/k1+1/k2));
yu04(i)=epsilon0-(1/Mcofxi-1)*(sigmar_4(i)-sigma0)/Exi;
i=i+1;
end
T_4=linspace(Msigmas,Msigmaf,Num_division2);
figure(1)
plot(T_5,sigmar_5,'-b','Linewidth',3)
hold on
plot(T_5,sigmar_5,'or')
hold on
TT=[T_1 T_2 T_3 T_4];
sigmarr=[sigmar_1 sigmar_2 sigmar_3 sigmar_4];
plot(TT,sigmarr,'-b','Linewidth',3)
hold on
plot(TT,sigmarr,'or')
axis([0 100 80 450])
figure_FontSize=18;
set(get(gca,'XLabel'),'FontSize',figure_FontSize);
set(get(gca,'YLabel'),'FontSize',figure_FontSize);
set(get(gca,'XLabel'),'FontName','Times New Roman');
set(get(gca,'YLabel'),'FontName','Times New Roman');
set(gca,'FontSize',figure_FontSize)
set(gca,'FontName','Times New Roman')
legend('Simulation','Cited from Brinson (1993)');
figure(2)
plot(T_5,xi05,'-b','Linewidth',3)
hold on
TT=[T_1 T_2 T_3 T_4];
sigmarr=[xi01 xi02 xi03 xi04];
plot(TT,sigmarr,'-b','Linewidth',3)
xlabel('T / ^oC')
ylabel('\xi ')
figure_FontSize=18;
set(get(gca,'XLabel'),'FontSize',figure_FontSize);
set(get(gca,'YLabel'),'FontSize',figure_FontSize);
set(get(gca,'XLabel'),'FontName','Times New Roman');
set(get(gca,'YLabel'),'FontName','Times New Roman');
set(gca,'FontSize',figure_FontSize)
set(gca,'FontName','Times New Roman')
figure(3)
plot(T_5,yu05,'-b','Linewidth',3)
hold on
TT=[T_1 T_2 T_3 T_4];
sigmarr=[yu01 yu02 yu03 yu04];
plot(TT,sigmarr,'-b','Linewidth',3)
xlabel('T / ^oC')
ylabel('\epsilon ')
figure_FontSize=18;
set(get(gca,'XLabel'),'FontSize',figure_FontSize);
set(get(gca,'YLabel'),'FontSize',figure_FontSize);
set(get(gca,'XLabel'),'FontName','Times New Roman');
set(get(gca,'YLabel'),'FontName','Times New Roman');
set(gca,'FontSize',figure_FontSize)
set(gca,'FontName','Times New Roman')
toc