I cannot get any output from the below-mentioned optimization problem. The program keeps running forever. What can I do to solve this optimization problem successfully?
ClearAll["Global`*"];
b=19;
a=15;
es=1; (*Element size for FEA*)
noofnode=IntegerPart[((b-a)/es)+1];
init=0&;
eb=380*10^9; (*MPa*)
ea=71*10^9; (*MPa*)
new=0.3; (*Poisson's Ratio*)
alphab=8.0*10^(-6);
alphaa=23.1*10^(-6);
rowb=0.96;
rowa=2.70;
ta=20; (*Degree C*)
tb=150;
rpm=150.0;
wom=(2.0*\[Pi]*rpm)/60;
kb=35.0;
ka=204.0;
lam=(1/(b-a))*Log[kb/ka]; (*Constant for Exponential Temp Profile*)
f[ri_]:=ExpIntegralEi[-lam*ri];
c1=(tb-ta)/(f[b]-f[a]);
c2=((ta*f[b])-(tb*f[a]))/(f[b]-f[a]);
T[r_]:=c2+c1*ExpIntegralEi[-lam*r];
ed[v_]:=(v*ea)+((1-v)*eb);
alphad[v_]:=(v*alphaa)+((1-v)*alphab);
rowd[v_]:=(v*rowa)+((1-v)*rowb);
e[v1_,v2_,v3_,v4_,v5_]:=Interpolation[{ed[v1],ed[v2],ed[v3],ed[v4],ed[v5]}];
alpha[v1_,v2_,v3_,v4_,v5_]:=Interpolation[{alphad[v1],alphad[v2],alphad[v3],alphad[v4],alphad[v5]}];
row[v1_,v2_,v3_,v4_,v5_]:=Interpolation[{rowd[v1],rowd[v2],rowd[v3],rowd[v4],rowd[v5]}];
z[v1_?NumericQ,v2_?NumericQ,v3_?NumericQ,v4_?NumericQ,v5_?NumericQ]:=NDSolveValue[{(3+new) r^2 wom^2 row[v1,v2,v3,v4,v5][r-14]+F'[r]+(e[v1,v2,v3,v4,v5]'[r-14] (new F[r]-r (r^2 wom^2 row[v1,v2,v3,v4,v5][r-14]+F'[r])))/e[v1,v2,v3,v4,v5][r-14]+r^3 wom^2 row[v1,v2,v3,v4,v5]'[r-14]+r e[v1,v2,v3,v4,v5][r-14] (T[r] alpha[v1,v2,v3,v4,v5]'[r-14]+alpha[v1,v2,v3,v4,v5][r-14] T'[r])+r F''[r]==F[r]/r,F[a]==0,F[b]==0},F,{r,a,b}];
o[v1_,v2_,v3_,v4_,v5_]:=Sqrt[Sum[(((z[v1,v2,v3,v4,v5][j])*10^(-9))^2),{j,15,19}]/5];
FindMinimum[{o[v1,v2,v3,v4,v5],{0<=v1<=1,0<=v2<=1,0<=v3<=1,0<=v4<=1,0<=v5<=1}},{v1,v2,v3,v4,v5}]
NDSolve
can't find solution for some combination of parameters. AlsoFindMinimum
withNDSolve
is very slow combination. It could be better to optimize some FDM solution. $\endgroup$