ryujimiyaの日記

C#を使って数値解析したい

2013-01-01から1年間の記事一覧

PhCFem 1.0.0.0

フォトニック結晶導波路の伝達問題のアプリケーションを作りました。 ryujimiya/PhCFem · GitHub 周期構造導波路固有モード解析用FEMとモード展開伝達問題FEMを用いています。 周期構造導波路解析FEMは、緩慢変化包絡線近似(SVEA:Slowly variying envelope a…

HPlaneWGSimulator 1.6.0.5 & HPlaneWGSimulatorXDelFEM 1.6.0.6 Release

■HPlaneWGSimulator 1.6.0.5 ryujimiya/HPlaneWGSimulator · GitHub ■HPlaneWGSimulatorXDelFEM 1.6.0.6 ryujimiya/HPlaneWGSimulatorXDelFEM · GitHub 複数の導波路モードが伝搬する場合に高次モードの結果も表示するようにしました。 (以前のバージョンで…

周波数領域周期構造伝達問題用FEMのTMモードの算出方法修正

2013年2月~2013年3月にかけてTMモードフォトニック結晶導波路(三角形格子のもの)の伝達問題を計算しましたが、境界条件で使用するdHz/dxの算出方法があまり良くないことに気付いたので修正しました。 <共通> Φ = Hz pyy = 1 / εr (dΦ/dx)i, e:要素内の…

時間領域FEMによる誘電体ロッド型正方格子フォトニック結晶導波路ベンドの散乱係数の計算

前回、Jiaoらの完全整合層定式化に基づく時間領域FEMをDelFEMで実装しました。今回は、この方法をフォトニック結晶導波路の伝達問題に適用してみました。 以前、周波数領域の周期構造導波路用FEMを用いて正方格子の誘電体ロッドからなるフォトニック結晶導波…

時間領域FEMの完全整合層(Jiaoらの定式化)によるH面導波路伝達問題のDelFEMによる実装

Jiaoらによる完全整合層を用いた時間領域FEMをDelFEMで実装してみました。 Dan Jiao, Jian-Ming Jin, Eric Michielssen, and Douglas J. Riley "Time-domain finite-element simulation of three-dimensional scattering and radiation problems using perfe…

位相速度の周波数特性を考慮した時間領域FEMの1次吸収境界条件

時間領域FEMで吸収境界条件(ABC)を用いる場合、高次吸収境界条件を用いないと計算結果が劣化しました。 時間領域FEMの高次吸収境界条件(Higher oder ABC) - ryujimiyaの日記 これはABCに用いる波の速度vpを周波数に関係なく一定としていることに起因している…

時間領域FEMにおけるTsaiらの完全整合層の定式化の修正項

時間領域FEMの完全整合層(PML)の定式化(まとめ) スカラヘルムホルツ方程式に限るとこれまでに次の定式化を試しました。 (1) Jiaoらの定式化 [M] d2 u / dt2 + [Mσ] d u / dt + [K] u + [Kx] Φ + [Ky] v = 0 u = Ez p = 1/μr q = εr Φ = - σx / ε0 exp( - σ…

時間領域FEMにおける完全整合層の定式化ーTsaiらによる方法-

時間領域FEMで完全整合層(PML:Perfectly Matched Layer)を用いる場合の定式化にはいくつかあるようです。 いままで用いてきたのは、Jiaoらによる定式化です。彼らの定式化による結果は、時間領域FEMで解く場合もっとも良好な結果が得られています。 今回、下…

Givoli-Neta-Patlashenkoの高次吸収境界条件を用いた時間領域FEMの平行平板誘電体スラブ導波路の散乱係数計算

Givoli,Neta,Patlashenkoが提出した高次吸収境界条件は、導波管のスカラ波の吸収には効果がありました。 今回は境界上の媒質が変化する場合について試してみました。文献では媒質は一様として導出されているためそのまま使用できません。先ずは媒質が変化す…

時間領域FEMによるH面導波管直角コーナーベンドの散乱係数の計算(Givoli-Neta-Patlashenko's High order ABC)(2)

前回Givoli-Neta-Patlashenkoの高次ABCを時間領域有限要素法(TD-FEM/ FETD)に用いてH面導波管直角コーナーベンドの散乱係数を計算しました。 前回記事: 時間領域FEMによるH面導波管直角コーナーベンドの散乱係数の計算(Givoli-Neta-Pattashenko's High orde…

時間領域FEMによるH面導波管直角コーナーベンドの散乱係数の計算(Givoli-Neta-Patlashenko's High order ABC)

前回の記事で試したGivoli-Neta-Patlashenkoの高次吸収境界条件(High order Absorbing Boundary Conditions)を用いた時間領域FEMをDelFEM4Netで実装してみました。 今回は、前回の記事で用いた反復計算は行わないで、電界Ez、及び補助変数Φ1~ΦJ-1に関する方…

時間領域FEMの高次吸収境界条件(Higher oder ABC)

時間領域FEMに適用可能な高次吸収境界条件(Higer oder absorbing boundary condition)の構成方法が下記の文献に記されていたので試してみました。 Dan Givoli , Beny Neta & Igor Patlashenko "Finite element analysis of time-dependent semi-infinite wav…

1次吸収境界条件(first-order ABC)と周波数領域FEMによるH面導波管誘電体共振器の散乱パラメータの計算

時間領域FEMで完全整合層(PML)を用いる方法は計算精度が良いのですが、畳み込み積分を評価する関係で時間ステップ毎にFEM行列の組み立てを行う必要があり時間がかなりかかりました。 それに比べると、吸収境界条件(ABC)を用いる方法はFEM行列の組み立てはあ…

集中質量近似を用いたスカラ時間領域FEMによるH面導波管の散乱係数の計算

前回、磁界ベクトルを用いた時間領域FEMで質量行列を対角化する方法を試しましたが、今回は縦方向電界Ezを用いたスカラFEMで質量行列を対角化して計算してみます。 三角形要素の質量行列は、 [M] = (Ae/12 ) [ 2 1 1 ] [ 1 2 1 ] [ 1 1 2 ] ですが、rowベク…

ベクトル直交基底関数を用いた時間領域FEMによるH面導波管の散乱係数計算

磁界ベクトルを用いた時間領域FEMの場合、質量行列を対角化する方法として直交基底関数を用いる方法があるようです。 引用元はこちら。 D. A. White "Orthogonal vector basis functions for time domain finite element solution of the vector wave equati…

時間領域FEMによるH面導波管誘電体共振器の散乱係数の計算(5) -磁界ベクトルとUniaxial PMLを用いた場合-

前回、Split-TypeのPMLと磁界ベクトルを用いた時間領域FEMの計算を行いましたが、あまり良い結果ではありませんでした。 今回はUniaxial PMLを使った場合の計算結果を記します。 引用文献はこちら。 Dan Jiao, Jian-Ming Jin, Eric Michielssen, and Douglas…

時間領域FEMによるH面導波管誘電体共振器の散乱係数の計算(4) -磁界ベクトルとSplit-type PMLを用いた場合-

TMzモードの場合の界成分分離型(Split-Type)のPMLでは、x方向PMLのみとすると、 ε dEz1 / dt + σx Ez1 = dHy / dx ε dEz2 / dt = - dHx / dy μ dHx / dt = - dEz / dy μ dHy / dt + σxμε-1 Hy = dEz / dx ここで、 Ez = Ez1 + Ez2 です。 Hx, Hyを消去して、…

時間領域FEMによるH面導波管誘電体共振器の散乱係数の計算(3) -磁界ベクトル+ABCを用いた場合-

H面導波管回路の伝達問題を時間領域FEMで解いてきました。これまでは電界Ezを用いてスカラヘルムホルツ方程式を解いてきましたが、前回の記事の文献(Jiao et.al.)にはベクトルでの適用方法が記されているのでちょっと試してみようと思います。 この文献では…

時間領域FEMによるH面導波管誘電体共振器の散乱係数の計算(2) -完全整合層(PML)の場合-

前回、時間領域FEMでH面導波管の散乱係数の計算をしましたが、1st order ABCではあまり良い結果が得られませんでした。今回は、完全整合層を用いて計算したので記します。 完全整合層は、Uniaxial PMLを用いますが、split typeのPMLでも最終的に解く方程式は…

時間領域FEMによるH面導波管誘電体共振器の散乱係数の計算

FDTD、WE-FDTDと計算してきて時間領域の計算に慣れてきたので、今度はFEMで時間領域の計算をしてみました。周波数領域のFEMと異なり固有モード展開による入出力ポート境界条件が使えなさそうなので、なんらかの無反射条件を課す必要があります。ここでは最も…

WE-FDTD(波動方程式FDTD)によるH面誘電体装荷共振器の散乱係数の計算(3)-Uniaxial PMLを用いた場合 Part 2-

WE-FDTDで完全整合層を用いた場合、Zhouの定式化では界Ezの現在値、1つ前、2つ前の値に加え、4つの補助変数Fzx, Fzy, Pzx, Pzyの現在値、1つ前の値が必要となりました。 WE-FDTD(波動方程式FDTD)によるH面誘電体装荷共振器の散乱係数の計算(2)-Uniax…

WE-FDTD(波動方程式FDTD)によるH面誘電体装荷共振器の散乱係数の計算(2)-Uniaxial PMLを用いた場合-

前回、WE-FDTDをMurの吸収境界条件を用いて実装しましたが、今回は完全整合層(PML)を用いた場合を扱います。 WE-FDTDでPMLを適用する方法は、Zhou et alによって定式化されているらしいのですが、Web上で参照できなかったので下記文献を参考にしました。 (1)…

WE-FDTD(波動方程式FDTD)によるH面誘電体装荷共振器の散乱係数の計算

FDTDというとマクスウェルの方程式にそのまま時間、空間について中央差分を適用して離散化しますが、マクスウェルの方程式から磁界または電界を消去することで得られる波動方程式に差分法を適用する方法もあるようです。波動方程式に基づくFDTDということで…

FDTDによるH面誘電体装荷共振器のSパラメータの計算(4) -単一軸完全整合層(UPML)を用いた場合-

前回まではMurの吸収境界条件を適用してH面誘電体装荷共振器のSパラメータを計算していました。現時点での最終結果を前回の記事に追記しました。 今回は、完全整合層を用いたいと思います。完全整合層にはいろいろなものがありますが、ここではFEMでもよく用…

FDTDによるH面誘電体装荷共振器のSパラメータの計算(3)

前回、前々回でSパラメータを計算するとき、以下の方法を試しました。 (1)入射波、反射波、透過波の到達する期間を切り出してFFTを掛ける。抽出期間(波形データの個数)は同じとする。 FDTDを試してみます(FDTDによるH面誘電体装荷共振器のSパラメータ…

FDTDによるH面誘電体装荷共振器のSパラメータの計算(2)

少しFFTのかけ方を変更しました。前回はポート1の電界の時間変化Ez(t)|x=x1から入射波を含む期間と反射波を含む期間を抽出してFFTを施しましたがこのとき、入射波の抽出期間と反射波の抽出期間は同じになるようにしていました。また透過波はポート2の電界の…

FDTDを試してみます(FDTDによるH面誘電体装荷共振器のSパラメータの計算)

ここ数か月、周期構造導波路のFEMが面白くて色々試してみましたが、関連の文献を当たると圧倒的にFDTDを用いたシミュレーションが多いなあと思いました。 ちょっと試したくなったので、Octaveを使って実装してみました。 FDTDで魅力的だと思ったのはパルス励…

フォトニック結晶のバンドダイアグラムの数値計算

これまでフォトニック結晶のバンドダイアグラムの計算には、「PHバンド」を使用してきましたが、今回、FEMでバンドダイアグラムの計算をしてみましたので結果を掲載します。 FEMでバンドダイアグラムを計算する方法としては、導波路の固有値問題と同じく、…

フォトニック結晶3ポートフィルタの伝送特性の数値計算

以前数値計算した3線欠陥(L3)空洞共振器を用いたフィルタを試作している文献があったので伝送特性を数値計算してみました。 前回の記事: フォトニック結晶ナノ共振器のFEM数値計算 http://ryujimiya.hatenablog.com/entry/2013/03/21/010308 今回の引用元:…

フォトニック結晶ナノ共振器のFEM数値計算(2)

フォトニック結晶を用いた共振器で1点だけエアホールを取り除いた構造のものが下記文献に載っています。この共振器の界分布は6つの極を持つ対称性の良い分布となりQ値も高いようです。 Han-Youl Ryu, Masaya Notomi, Yong-Hee Lee "High-quality-factor an…