Change the parameter value for iteration

clc;clear;close;
zz0=xlsread('w700.xlsx','Sheet1','A1:ALL1');
zz=xlsread('w700.xlsx','Sheet1','A1:ALL1');
w1=xlsread('winit.xlsx','Sheet1','A1:ALL1');
bheta=75e-06;
Ep=200e09;
H=1.3e09;%GPa
we=((0.94*H/Ep)^2)*bheta;
wp=54*we;
Ft=85;%kNfor initial number
Fie=0;
Fip=0;
Fiep=0;
gamma_2new=10;
b=1;
error=1;
iter=0;
R=0.00968;%m
cP=13.95;
nyu0=cP*0.001;%Pas
U = 11.1;%m/s
alpha=(0.6+0.965*log10(cP))*10^(-8);
W=Ft/(Ep*R*bheta);
Ue=(nyu0*U)/(Ep*R);
G=alpha*Ep;
Hri=3*(W*(Ue^-0.5))^-1;
Hei=2.621*(W*(Ue^-0.5))^-0.2;
Hrp=1.287*(G*Ue^-0.25)^(2/3);
Hep=1.311*(W*Ue^-0.5)^(-1/8);
zz2=zz.^2;
ys=(sqrt(sum(zz2)/1000)/4);
hc=0.5e-06;
fc_2=0;
while error>0.00005
w=w1;
gamma_2=gamma_2new;
while b<1000
if w(1,b)<0
w(1,b)=0;
else
w(1,b)=w(1,b);
end
if w(1,b)< we Fie=Fie+(4/3)*Ep*(bheta^0.5)*(w(1,b)^0.5);
zz(1,b)= zz(1,b);
elseif w(1,b)>wp
Fip=Fip+(H*2*pi()*bheta*w(1,b));
zz(1,b)= zz(1,b)- w(1,b);
elseif w(1,b)>0
Fiep=Fiep+(H-(0.6*H*((log(wp))-(log(w(1,b))))/((log(wp))-(log(we)))))*(pi()*bheta*w(1,b)*(1-(2*((w(1,b)-we)/(wp-we))^3)+(3*((w(1,b)-we)/(wp-we))^2)));
zz(1,b)= zz(1,b)- w(1,b);
else
end
b=b+1;
end
fc_2=Fie+Fip+Fiep;
gamma_2new=Ft/fc_2;
gamma_1=1/(1-(1/gamma_2new));
s=1/5*(7+exp(-(2*(gamma_1^(-2/5))*Hei)/Hri));
Hc=(gamma_1^(s/2)*(Hri^(7/3)+((gamma_1^(14/15))*(Hei^(7/3))))^(3*s/7)+(gamma_1^(-s/2)*(Hrp^(-7/2)+(Hep^(-7/2)))^(-2*s/7)))^(1/s)*(gamma_1^(1/2));
hc=Hc*R/(Ue^-0.5);
w1=zz-hc+ys;
error=abs((1/gamma_2new)-(1/gamma_2)/(1/gamma_2));
iter=iter+1;
end

5 comentarios

I already run the progrem, but it seems that it will not converge. I wonder I should have make mistake on the loop process. I attached the flow chart.
Thank you for helping!
KALYAN ACHARJYA
KALYAN ACHARJYA el 23 de Dic. de 2020
Can you elaborate this question with example?
Make sure, in each iteration, that the error is increasing, have you checked?
error=abs((1/gamma_2new)-(1/gamma_2)/(1/gamma_2));
The error not increasing but show the same value.
In this program, I want the number of w is change until the gamma value has small error. and I can get the gamma_2 and the final w value as the result.
I attached the result I get. But in this result, the iteration hasn't stopped.
KALYAN ACHARJYA
KALYAN ACHARJYA el 23 de Dic. de 2020
Editada: KALYAN ACHARJYA el 23 de Dic. de 2020
Store the error data in an array (each iteration), please check it again

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 23 de Dic. de 2020

Editada:

el 23 de Dic. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by