Foelschの方法によるノズル設計
軸対称バージョン

SetDirectory[ToFileName[Extract["FileName"/.NotebookInformation[EvaluationNotebook[]], {1}, FrontEnd`FileName]]] ; Off[General :: spell] ;

入力

Clear[ν, A, M] ;

Mt = 2. ;              &nbs ...               (* スロート高さ*)

関数の定義

RowBox[{
, RowBox[{ν[M_] := (γ + 1)/(γ - 1)^(1/2) ArcTan[((γ - 1)/(γ + 1) (M^2 - 1))^(1/2)]  ... M_]}], :=, 1/M (((γ - 1) M^2 + 2)/(γ + 1))^(γ + 1)/(2 (γ - 1))}], ;, (*マッハ数からノズル断面積を計算 *), 
}]}]

νt = ν[Mt]

0.460414

 ν1 = 2 (νt/2 - θ1)

0.260414

Mx = FindRoot[ν[M] == ν1, {M, 1., Mt}] ;

M1 = M/.Mx [[ 1 ]]

1.60204

θmax = νt /4

0.115103

r1 = y0A[M1]/(2 (1 - Cos[θ1]))^(1/2)

11.1934

y1 = r1 Sin[θ1]

1.11748


r0 = r1/A[M1]^(1/2)

10.0042

始まり部の計算

x1 = (3 (y1 - y0))/(2Tan[θ1]) (* 変曲点のx座標を計算 *)

1.75626

Initial[x_] := y0 + Tan[θ1]/x1x^2 (1 - x/(3 x1)) ; (* 始まり部の定義 *)<br />Y1 = Plot[Initial[x], {x, 0, x1}, PlotStyle -> RGBColor[1, 0, 0]] ;

[Graphics:HTMLFiles/index_23.gif]

終わり部の計算


r = A[M]^(1/2) r0 ; <br />α = ArcSin[1/M] ; 
θ = 1/2 (νt - ν[M]) ; 
l = (2 r Sin[α] Sin[θ]  ... ] ; 
Do[
Print[x, "  ", y, "  ", α] 
, {M, M1, Mt, 0.1}]

1.75626  1.11748  0.674114

2.5429  1.17845  0.628005

3.47303  1.22165  0.588276

4.57315  1.25694  0.553599

Y2 = ParametricPlot[{x, y}, {M, M1, Mt}]

[Graphics:HTMLFiles/index_30.gif]

- Graphics -

Show[Y1, Y2]

[Graphics:HTMLFiles/index_33.gif]

- Graphics -

計算結果をCSVファイルに出力

XL = Table[{x, Initial[x], Initial[x] + Br x, 1.}, {x, 0, x1, x1/10.}] ;

YL = Table[{x, y, y + Br x, M}, {M, M1, Mt + 0.01, 0.01}] ; 
     & ... ;            (* バウンダリーレイヤーを補正している *)

ZL = Join[XL, YL] ;

Export["nozzle.csv", ZL, "CSV"] ;


Created by Mathematica  (May 6, 2007) Valid XHTML 1.1!