• Tidak ada hasil yang ditemukan

応用複素関数レポート課題2

N/A
N/A
Protected

Academic year: 2025

Membagikan "応用複素関数レポート課題2"

Copied!
3
0
0

Teks penuh

(1)

応用複素関数レポート課題 2

桂田 祐史 2022 年 6 月 14 日

締め切りは

7

11

(月曜) 22:00

です。→ サーバー停止した影響を考慮して、1週間延 期します。

提出方法

: Oh-o! Meiji

A4

サイズの

PDF

で提出して下さい。

容量制限

(1

ファイル

30MB)

に引っかかった場合は、複数のファイルに分割するなど工

夫して下さい。

使用するプログラミング言語は、自分の

MacBook

で実行して見せることが可能なもの であればなんでも可。

(

本課題は、

FreeFem++

によるサンプル・プログラムを提供しているので、

FreeFem++

を採用するのが簡単でしょう。)

プログラムとその実行結果、実行するための情報を含めること。プログラムは別ファイ ルにしても良いです

(

こちらが調べやすいので

)

• FreeFem++

の使い方については、

– FreeFEM-documentation.pdf (

公式ドキュメント

)

https://doc.freefem.org/pdf/FreeFEM-documentation.pdf –

FreeFem++

の紹介」桂田書いた紹介文書

(

更新が必要だけれど…

)

http://nalab.mind.meiji.ac.jp/~mk/labo/text/welcome-to-freefem/

FreeFem++

ノート」

(

桂田の自分用メモ

)

http://nalab.mind.meiji.ac.jp/~mk/labo/text/freefem-note/

課題 2

2

次元非圧縮ポテンシャル流の定常流で、流体の占める領域

と、その境界

Γ = ∂Ω

での流 速の法線成分

v

n

:= v · n

が分かっている場合に、速度ポテンシャル

ϕ、流れ関数 ψ

を計算し て、等ポテンシャル線、流線、速度場を可視化せよ。領域

と境界値

(

流速の法線成分

) v

n は、

自分で興味のあるもの、自分の都合の良いものを選んで良い

(

後の注意を読んでおくこと

)

ϕ

は、ポテンシャル問題

(

ここでは

Laplace

方程式の

Neumann

境界値問題

)

△ ϕ = 0 (in Ω) (1)

∂ϕ

∂ n = v

n

(on Γ) (2)

の解である。

ポテンシャル問題

(1), (2)

を解いて、等ポテンシャル線と速度場

v

を求めるサンプル・プロ グラム

potential2d-v0.edp

を公開してある。

1

(2)

potential2d-v0.edp

は、ターミナルで次のようにして入手する

curl -O http://nalab.mind.meiji.ac.jp/~mk/complex2/potential2d-v0.edp

大筋は、

v

n を自分が決めたものにするようにプログラムを書き換えれば良い。

(

弱形 式は変更する必要がない。) 自由度は高いので、工夫・遊び心発揮を期待する。

(

過去の例では、円を楕円にするような

(

一見

)

安直な選択があったが、そういう人の多くは、

v

n

dσ = 0

を満たす

v

n が見つけられなかったりしていた。)

流線の書き方には色々なやり方がある

(

一つくらいノーヒントの問を入れておくことにする

)

。 選んだ問題によっては、分かりやすい図が描けるように調整が必要な場合もある。

注意

次の

(1)

が非常に重要である。例年それを間違えてナンセンスなレポートを提出する人が少 なくない。

(1) v

n

:= v · n

Γ

v

n

dσ = 0

を満たしている必要がある。実際、

Gauss

の発散定理と非圧縮 性の仮定から

Γ

v

n

dσ =

Γ

v · n dσ =

div v dx =

0 dx = 0.

サンプルプログラムでは、円盤領域

Ω = { (x, y) ∈ R

2

| x

2

+ y

2

< 1 }

なので

n = (

x y

) (

こは良く考えること

).

また一様流

v = (

1 2

)

であったので、

v

n

= v · n = (

1 2

)

· (

x y

)

= x + 2y

としてある。

(v

で定数関数なので

) div v = 0

であるから、当然

Γ

v

n

dσ = 0

も成 り立つ。

(

そうでない場合は、きちんと計算して

Γ

v

n

dσ = 0

が成り立つことを確かめる 必要がある。)

(2)

湧き出しや吸い込み、点渦など、特異点が

内にあるような問題は、この方法では解く ことが出来ない。

質問されたことへの回答

境界値

v

n を、

if

を用いた場合分を含む関数としたいが、

FreeFem++

がプログラムを 受け付けてくれません→ 例えば

(a)

弱形式には複数の

int1d()

が指定できるので、境界を分割して、その各部分ごと に

(

場合分けを含まない

)

境界値を与えるようにプログラムを書く。

(b)

例えば

(x>1 && y>0)

のような式は、条件が成り立つならば

1,

成り立たないなら ば

0

という値を持つので、

if

を使わずに、式だけで場合分けを含む関数が記述で きる。

2

(3)

サンプルプログラム解説

potential2d-v0.edp

1

1 // potential2d-v0.edp

2 // http://nalab.mind.meiji.ac.jp/~mk/complex2/potential2d-v0.edp 3 // 2次元非圧縮ポテンシャル流

4 // 速度ポテンシャル,速度を求め、等ポテンシャル線, 速度場を描く 5

6 border Gamma(t=0,2*pi) { x = cos(t); y = sin(t); } // 円盤領域 7 int m=40;

8 mesh Th=buildmesh(Gamma(m));

9 plot(Th, wait=1, ps="Th.eps");

10 // 次の2行は区分1次多項式を使うという意味 11 fespace Vh(Th,P1);

12 Vh phi, v, v1, v2;

13 // 境界条件の設定

14 func Vn=x+2*y; // Ωが単位円で, V=(1,2) のとき V・n=x+2y 15

16 // 速度ポテンシャルφを求め、その等高線 (等ポテンシャル線) を描く 17 solve Laplace(phi,v) =

18 int2d(Th)(dx(phi)*dx(v)+dy(phi)*dy(v)) -int1d(Th,Gamma)(Vn*v);

19 plot(phi,ps="contourpotential.eps",wait=1);

20

21 // ベクトル場 (v1,v2)=∇φ を描く (ちょっと雑なやり方) 22 v1=dx(phi); v2=dy(phi);

23 plot([v1,v2],ps="vectorfield.eps",wait=1);

24

25 // 等ポテンシャル線とベクトル場を同時に描く 26 plot([v1,v2],phi,ps="both.eps", wait=1);

• 6

行目で領域

の境界

Γ

を指定している

(それで Ω

が決まる)。

• 8

行目で、

Γ

m

分割して、

Γ

の囲む範囲を三角形分割して、それを

mesh

型の変数

Th

に代入している。

• 11

行目、有限要素空間

V

h を区分的

1

次関数の空間と定義している。この辺については この講義では説明を省略する

(

知りたい人は有限要素法のテキストを読んで下さい

)

• 12

行目、

ϕ

と試験関数

v ,

流速ベクトル場

v

の成分

v

1

, v

2 を、

Vh

の要素とする。

• 14

行目、境界条件の設定をしている。ここで

v · n = x + 2y

とする理由は上の注意

(1)

で説明した。

• 17〜18

行目、弱形式の定義。ここを修正する必要が生じる可能性は低い。

3

Referensi

Dokumen terkait

連絡事項&本日の内容 今回から、しばらく3回程度流体力学への応用の話をする。 今日は、流体力学で出て来る諸概念と、有名な方程式連続の方程式、非圧 縮条件、Navier-Stokes方程式、Euler方程式、Stokes方程式の紹介をする 駆け足。 次回以降、以下のものを使う可能性がある。 Mathematica

1.2 級数の和 1.2.1イントロ 無限級数 X∞ n=1 anの和を求めるためにも、留数が利用できる場合がある。簡単 な場合を紹介する。 X∞ n=−∞ an で、an がある正則関数f に対して、an=fnとなっている場合に、 n∈Zを1位の極に持ち、Ress;n = 1 という条件を満たす s を適当に選んで、f ·s

このlogとLog−zの間には Log−z = logz −iπ という関係があるa。 Y を定義するためには、差が等しければよいので−2πi1 Log−zの代わりに −2πi1 logz を用いることも可能である。しかし、logの説明が面倒なためかLog はただ単に「主値」と言えば済む、Log−zを使うことが多いようである。 a実際、z=reiθ

2.10 1 次分数変換の鏡像の原理 1 鏡像の位置 Cb の円は1次分数変換でCbの円に写ることを示した。 円上にない点についても、注目すべき性質が成り立つ。 定義 14.1 円に関して鏡像の位置 C はCb の円であり、z,z′ ∈Cb とする。zとz′がC に関して互いに鏡 像の位置にあるz とz′ がC に関して対称である とは,次のa, b

0 ガイダンス 関数論に続くもの 2 ポテンシャル問題Laplace方程式△u= 0の境界値問題—これは解説する。 復習: 正則関数の実部・虚部は調和関数Laplace方程式の解。 正則関数を求めるために、ポテンシャル問題を解く、というやり方がある。 関数論を離れてもポテンシャル問題は非常に重要である物理への応用が豊富。 特殊関数解説しない

から容易に次が導ける。 coshiz = cosz, sinhiz =isinz, tanhiz =itanz, cosiz = coshz, siniz =isinhz, taniz =itanhz, cothiz =−icotz, cotiz =−icothz... この右辺はπcotπzに他ならないので1枚前のスライド f′z fz =πcotπz =

3.4 応力 1 Cauchy の応力原理 , 応力の定義 流体の運動を考えるため、Cauchyは次の仮定をおいた。 流体が接触することで及ぼす力は面積に比例する。面積あたり の力は、位置x ,時刻 t,面の向き普通は外向き単位法線ベクト ルn で指定するで定まる Cauchyの応力原理。 この面積あたりの力を応力 stress と呼ぶ。 かつらだまさし...

本日の内容・連絡事項 いよいよ授業は今回を含め残り3回。今回は、二重指数関数型数値 積分公式double exponential formula, Mathematicaにも採用されて いる優秀な数値積分公式 と、関数論を用いた数値積分の誤差解析 手法を紹介します。関数論の意外な活躍が見られるところです。 レポートについて レポート課題3 締め切り7月31日