Skip to content

RuSys/Rfdtd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rfdtd

Rustで2次元FDTD法を実装したものです。

初期設定でセル数の変更が出来ます。
下の例は1500×1500のセル数でモジュールを生成します。

fdtdBuilder::newSize(1500,1500);

標準では120×120で生成されるようになっています。
テスト時などに使ってください。

fdtdBuilder::new();

※ちゃんとした検証は行いきれていないので本プログラムの実行結果に保証は出来ません。
 コードの書き方の参考程度にしてください。

Method

fdtdモジュールのメソッドです。

初期化処理
setup()

誘電体の配置((x_s,y_s)から(x_l,y_l)を囲む四角、媒質定数epsrを指定)
epsmu(x_s, x_l, y_s, y_l, epsr)

完全導体の配置((x_s,y_s)から(x_l,y_l)を囲む四角を指定)
pec_rect(x_s, x_l, y_s, y_l)

給電点初期化(x座標、y座標を指定)
init_source(x,y)

給電処理(x座標、y座標を指定、ガウスパルスの時間指定)
feed(x,y,t)

電界計算
e_cal()
磁界計算
h_cal()

PML領域の電界計算
e_pml()
PML領域の磁界計算
h_pml()

ファイルor標準出力へのデータ出力
out_p(xo, yo), out_file(file, xo, yo)

※最初の設定でセル数を大きくするとファイル書き込み量がえげつなくなるので気を付けてください。
 ファイルサイズが膨れ上がります。おまけに書き込む時間も凄く掛かります。

About

2Dfdtd simple solver written in Rust.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published