017_MetalForming.mw

金属成形行程

イントロダクション

数学的モデルからの予測と実験データの比較は技術解析の最も重要な見解の1つです。 このワークシートでは、円錐 (染料) に金属ロッドを通しオブジェクトを形成するプロセスを考えます。「ドロウイング」と呼ばれるこの過程は以下の図になり、金属形成の主な形式のの 1 つです。

[Inserted Image]

このプロセスの為のパラメータはには R[0] R[f] というロッドの初期半径と最終半径、円錐の染料の角度 α、及びロッドの物質特性が含まれます。

半径のパラメータは領域のパラメータに変換されます

> restart;

システムのモデリング

研究者は金属の変形から生じる圧力を予測するために3つのモデルを開発しました:

1. 均衡モデル - プロセスのための最も簡単なモデル。

2. ロッドと染料の間に起こる摩擦を考慮した均衡モデル。

3. 上限モデル - 高度な「変分」の定式化に基づいたモデル。これらのモデルで最も複雑です。

各モデルが説明する方程式についてそれぞれ考えてみましょう:

モデル1:摩擦のない均衡ベースモデル

> Model_Eq := sigma[xb]/sigma[0] + ln(R^2);

Model_Eq := sigma[xb]/sigma[0]+ln(R^2)

モデル2:クーロン摩擦を伴う均衡ベースモデル

> B := mu/tan(alpha);

B := mu/tan(alpha)

> Model_EqF := ((1+B)/B)*(1-(1/R)^(2*B)) + (sigma[xb]/sigma[0])*(1/R)^(2*B);

Model_EqF := (1+mu/tan(alpha))*tan(alpha)*(1-(1/R)^(2*mu/tan(alpha)))/mu+sigma[xb]*(1/R)^(2*mu/tan(alpha))/sigma[0]

モデル3:上限変分モデル

上限モデルは球体の速度フィールドと不変な球摩擦係数をベースとします。

このモデルは複雑なパラメータ f[alpha] を定義する必要があります。

> f[alpha] := (1/(sin(alpha)*sin(alpha))) * ( 1 - cos(alpha) * sqrt(1-(11/12) * sin(alpha)*sin(alpha)) + (1/sqrt(11*12))*ln((1+sqrt(11/12))/(sqrt(11/12)*cos(alpha) + sqrt(1-(11/12)*sin(alpha)*sin(alpha)))));

f[alpha] := (1-1/6*cos(alpha)*(36-33*sin(alpha)^2)^(1/2)+1/66*33^(1/2)*ln((1+1/6*33^(1/2))/(1/6*33^(1/2)*cos(alpha)+1/6*(36-33*sin(alpha)^2)^(1/2))))/sin(alpha)^2

> Model_UB := sigma[xb]/sigma[0] + 2*f[alpha] *ln(R) + (2/sqrt(3)) * (alpha/(sin(alpha)*sin(alpha)) - cot(alpha) + m*cot(alpha)*ln(R) + m*(L/Rf));

Model_UB := sigma[xb]/sigma[0]+2*(1-1/6*cos(alpha)*(36-33*sin(alpha)^2)^(1/2)+1/66*33^(1/2)*ln((1+1/6*33^(1/2))/(1/6*33^(1/2)*cos(alpha)+1/6*(36-33*sin(alpha)^2)^(1/2))))*ln(R)/sin(alpha)^2+2/3*3^(1/2...Model_UB := sigma[xb]/sigma[0]+2*(1-1/6*cos(alpha)*(36-33*sin(alpha)^2)^(1/2)+1/66*33^(1/2)*ln((1+1/6*33^(1/2))/(1/6*33^(1/2)*cos(alpha)+1/6*(36-33*sin(alpha)^2)^(1/2))))*ln(R)/sin(alpha)^2+2/3*3^(1/2...

実験データ

通常、この情報はファイルの中に保存されて、ファイルから読み込むでしょう。

このワークシートではデータの内容を明確にする為に、データを以下の通り提示します。

減少率 10%

> data10 := [[.04250,.2143],[.05750,.2235],[.07250,.2357],[.08875,.2235],
[.11375,.2388],[.12375,.2357],[.13125,.2633],[.175,.2633],
[.20875,.3122],[.245,.3612],[.28375,.3980]]:

減少率 20%

> data20 := [[.04250,.3827],[.05750,.3551],[.07250,.3612],[.08875,.3520],
[.11375,.3490],[.12375,.3520],[.13125,.3582],[.175,.3735],
[.20875,.4041],[.245,.4408],[.28375,.4592]]:

減少率 30%

> data30 := [[.04250,.5541],[.05750,.5112],[.07250,.5082],[.08875,.4959],
[.11375,.4776],[.12375,.4837],[.13125,.4837],[.175,.4959],
[.20875,.5143],[.245,.5347],[.28375,.5449]]:

減少率 40%

> data40 := [[.04250,.7347],[.05750,.6888],[.07250,.7010],[.08875,.6673],
[.11375,.6429],[.12375,.6429],[.13125,.6367],[.175,.6367],
[.20875,.6551],[.245,.6735],[.28375,.6827]]:

特別モデル

適切な式を作成し、モデル式のデータを比較しプロットする必要があります。

全体的なパラメータの定義

パラメータ値と定義を指定します。

注:数値もしくは数式のどちらでもかまいませんが、種変数である r (減少率) はパーセンテージで定義されます。

> R := 1/sqrt(1-r): # define area reduction. "r" is a percentage

> sigma[xb] := 0: # no back pull

> L := 0: # no dye land

各モデルに基づく数式と他のパラメタ値、断面減少率 eg を求めます。

ケース1:減少率 10% 領域

上限モデルでの注意:この中で simplify() を使用し解の簡単化を行います。

> r := .1; # reduction in area equal to 10%

r := .1

> m := 0.05867:

> mu := 0.0376:

> Eq10 := Model_Eq; # Equilibrium/no friction with 10% reduction

Eq10 := .1053605147

> EqF10 := Model_EqF; # Equilibrium/Coulomb friction with 10% reduction

EqF10 := 26.59574468*(1+0.376e-1/tan(alpha))*tan(alpha)*(1-.9486832984^(0.752e-1/tan(alpha)))

> UB10 := simplify(Model_UB); # Upper-bound model with 10% reduction

UB10 := 0.4000000000e-11*(0.7949817983e11-4390021455.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+2292613933.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.2886751348e12*alpha-0....UB10 := 0.4000000000e-11*(0.7949817983e11-4390021455.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+2292613933.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.2886751348e12*alpha-0....UB10 := 0.4000000000e-11*(0.7949817983e11-4390021455.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+2292613933.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.2886751348e12*alpha-0....

ケース2:減少率 20% 領域

> r := .2; # reduction in area equal to 20%

r := .2

> m := 0.06565:

> mu := 0.04266:

> Eq20 := Model_Eq; # Equilibrium/no friction with 20% reduction

Eq20 := .2231435521

> EqF20 := Model_EqF; # Equilibrium/Coulomb friction with 20% reduction

EqF20 := 23.44116268*(1+0.4266e-1/tan(alpha))*tan(alpha)*(1-.8944271908^(0.8532e-1/tan(alpha)))

> UB20 := simplify(Model_UB); # Upper-bound model with 20% reduction

UB20 := 0.1000000000e-10*(0.6734783416e11-3719059197.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+1942215322.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB20 := 0.1000000000e-10*(0.6734783416e11-3719059197.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+1942215322.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB20 := 0.1000000000e-10*(0.6734783416e11-3719059197.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+1942215322.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....

ケース3:減少率 30% 領域

> r := 0.3; # reduction in area equal to 30%

r := .3

> m := 0.06428:

> mu := 0.04517:

> Eq30 := Model_Eq; # Equilibrium/no friction with 30% reduction

Eq30 := .3566749435

> EqF30 := Model_EqF; # Equilibrium/Coulomb friction with 30% reduction

EqF30 := 22.13858756*(1+0.4517e-1/tan(alpha))*tan(alpha)*(1-.8366600268^(0.9034e-1/tan(alpha)))

> UB30 := simplify(Model_UB); # Upper-bound model with 30% reduction

UB30 := 0.1000000000e-10*(0.1076494693e12-5944582390.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+3104456903.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB30 := 0.1000000000e-10*(0.1076494693e12-5944582390.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+3104456903.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB30 := 0.1000000000e-10*(0.1076494693e12-5944582390.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+3104456903.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....

ケース4:減少率 40% 領域

> r := 0.4; # reduction in area equal to 40%

r := .4

> m := 0.05776:

> mu := 0.04479:

> Eq40 := Model_Eq; # Equilibrium/no friction with 40% reduction

Eq40 := .5108256240

> EqF40 := Model_EqF; # Equilibrium/Coulomb friction with 40% reduction

EqF40 := 22.32641215*(1+0.4479e-1/tan(alpha))*tan(alpha)*(1-.7745966691^(0.8958e-1/tan(alpha)))

> UB40 := simplify(Model_UB); # Upper-bound model with 40% reduction

UB40 := 0.1000000000e-10*(0.1541742934e12-8513760402.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+4446166363.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB40 := 0.1000000000e-10*(0.1541742934e12-8513760402.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+4446166363.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....UB40 := 0.1000000000e-10*(0.1541742934e12-8513760402.*cos(alpha)*(3.+33.*cos(alpha)^2)^(1/2)+4446166363.*ln(1/(5744562647.*cos(alpha)+1000000000.*(3.+33.*cos(alpha)^2)^(1/2)))+0.1154700539e12*alpha-0....

グラフ解析

理論モデルとデータのプロットを作成するします。

> with(plots): # access special plotting routines

Warning, the name changecoords has been redefined

グラフの作成

減少率 10% (r=0.1) では対応するデータをプロットします。以下の4つのラインには4つの名前が割り当てられた「プロット構造」作成します。プロットの出力は省略します。

> p10_data := plot(data10, alpha=.02 .. .3, 0 .. 1, style=point, color=black):
p10_Eq := plot(Eq10, alpha=.02 .. .3, 0 .. 1, color=green, thickness=2):
p10_EqF := plot(EqF10, alpha=.02 .. .3, 0 .. 1, color=blue, thickness=2):
p10_UB := plot(UB10, alpha=.02 .. .3, 0 .. 1, color=red, thickness=2):

プロットのを確認するには、プロットを割り当てている変数名入力して下さい。(例:p10_data)
p10_data のプロット構造には r=0.1 の際の実験データポイントのプロットが含まれています。

> p10_data;

[Plot]

for 分を使用し、自動的に処理を行うプロセスを作成します。下記のコマンドで、減少率が 20%、30%、40% のプロット構造を作成できます。一度実行すると、それぞれのデータに対するモデルのプロットが作成されます。

> for i from 2 to 4 do
      p||i||0||_data := plot(data||i||0, alpha=.02 .. .3, 0 .. 1, style=point, color=black):
      p||i||0||_Eq := plot(Eq||i||0, alpha=.02 .. .3, 0 .. 1, color=green, thickness=2):
      p||i||0||_EqF := plot(EqF||i||0, alpha=.02 .. .3, 0 .. 1, color=blue, thickness=2):
      p||i||0||_UB := plot(UB||i||0, alpha=.02 .. .3, 0 .. 1, color=red, thickness=2):
od:

解析例1

減少率 30% - それぞれの減少値のデータに対して各モデルを比較します。

> data_vs_model := display([p30_data, p30_Eq, p30_EqF, p30_UB]):

> labels := textplot([[.1,.3,`Model Eq`], [.25,.45,`Model EqF`],[.2,.65,`Model UB`]]):

> display([data_vs_model,labels], title=`Data vs. Models: 30% Reduction`);

[Plot]

解析例2

上限モデル (MODEL_UB) を全ての減少値での実験データと比較します。

> data_vs_ub := display( [p10_data, p20_data, p30_data, p40_data, p10_UB, p20_UB, p30_UB, p40_UB]):

> labels := textplot([[.1,.81,`40%`],[.1,.17,`10%`]]):

> display([data_vs_ub,labels], title=`Data vs. upper bound model: 10%, 20%, 30%, 40% reductions`);

[Plot]

>

結論

このワークシートは技術者がどう実験から得られた情報に対して3つの予測モデルを立て比較するのに Maple のプロット操作を使用した操作を説明しました。