|TOP Page|
FEMによる音場解析の基礎について解説する.音の解析には波動方程式を非定常問題として直接解く方法と,Helmholtz方程式を用いて特定の周波数に着目して空間的な振幅の分布について静的に解く方法の2つがある.過答応答に興味がない限り,Helmholtz方程式を用いた方法の方が効率が良いので,ここではHelmhotlz方程式を用いた方法について解説する.
Helmhotlz方程式は,音場を空間分布する振幅の項と注目する周波数の振動成分の積で表現し,波動方程式に変数分離法を適応することで得られる.
質量保存則 |
---|
圧縮性流体の運動方程式は
圧縮性流体の運動方程式 |
---|
のように書くことができる.但し,は粘性の効果によるCauchy応力テンソルであるとする.ここで移流と粘性の効果が無視できるとする.つまり左辺第2項と右辺第二項を無視する.
両辺の発散を計算して,微分の順序を入れ替え,質量保存の式を適応する.
状態方程式から,
が成り立っている.は空気に対する気体定数とする(簡単のため一般的なモル数を用いた定義ではない).はそれぞれ標準圧力,標準密度,標準温度であるとする.断熱圧縮の元では,
が成り立つ.但し,は比熱比である.標準状態における密度と圧力に対する応答を調べてみよう.
上の式から密度の微小な変動と圧力の微小な変動に次のような関係があることが分かる.
この微小な変化を時間に対する変化であるとすると,次の式が成り立つ.
これは圧力に対する波動方程式であり,音速は次のように表される
音速 |
---|
次の波動方程式を解くことを考える.
波動方程式 |
---|
解が次のように振動数での単振動の部分と空間的な振幅の分布の積によって分けられると仮定する.
これを以下の式に代入すると
となる.結局
ヘルムホルツ方程式 |
---|
を満たす.但し,
は波数(wave number)と呼ばれる.
次のようなデルタ関数を右辺に持つHelmholtz方程式を考えよう.
右辺が点対称なので,解も点対称となる.カーネル数が存在するので,境界要素法(BEM)を用いたシミュレーションも可能である.
解は2次元と3次元の場合で異なり,次のようになる.
2次元の場合,もしくは軸対称問題の場合,解析的な解は次のように第一種Hankel関数で書くことができる.
2次元の場合の解析解 |
---|
ここで出てくるHankel関数とは次のように第一種ベッセル関数と複素単位をかけた第2種ベッセル関数を足したものである.
解析解のベッセル関数については以下でもう少し詳しく説明した.
3次元の場合,解析的な解は次のように第一種Hankel関数で書くことができる.
3次元の場合の解析解 |
---|
波が境界に完全に反射されることを考えよう.つまり,境界がx=0平面であるとし,境界条件の法線ベクトルをx軸に,波数ベクトルの境界に接する成分をy軸に取る.
この時音圧の空間分布は次のような式で表される.
音場の法線方向における微分を考える.
座標系を一般的な物に戻すと次のようになる.
全反射の境界条件 |
---|
波が境界を反射せずに通過することを考えよう.境界がx=0平面であるとし,境界条件の法線ベクトルをx軸に,波数ベクトルの境界に接する成分をy軸に取る.
このとき,音圧は次のような式で表される.
であるから,
となる.上の式では法線ベクトルをx軸に,波数ベクトルの境界に接する成分をy軸に取った.これを法線とそれに接する方向微分に直すと次のようになる.
但し,は接平面におけるラプラシアンである.数値解析では上の近似式を用いて吸収境界条件を表す.
吸収境界条件 |
---|
波数ベクトルが境界の法線に対して大きな角度を持つ場合はこの近似の誤差は大きくなる.より正確な近似には,より複雑で高次の導関数が必要であり,ここでは触れない.
固体が角速度で周期的に振動しているとすると固体の速度は
となる.この時粘性を無視するとすると,流体の速度の法線方向成分は固体の法線方向の速度と一致するために,次のようになる.
圧力が流体の速度変化に応じて周期的に変化するとすると次のようになる.
以上を移流と粘性を無視したNavier-Stokes方程式
へ代入して,の内積を計算すると次の通りになる
が成り立つ.
固体表面からの音の放射 |
---|
次のような式を弱形式化してみよう.
この両辺にを掛けて全領域で積分する
上式第一項にGreen-Gaussの定理を適応すると,
弱形式のHelmholtz方程式 |
---|
体積積分に寄与する項のみ離散化を行う(表面積分に関する項は後から足し合わせればよい).メッシュ分割されているとすると体積分は各要素の和で表すことができる.
要素内で内挿関数を用いて次のように補間されているとする.
上式に内挿関数の補間式を代入して,式変形すると連立一次方程式が得られる.
但し,要素内での節点の番号づけが全体の節点の番号付けに対応しているとした.
要素剛性行列は以下のようになることがわかる.
要素剛性行列 |
---|
境界の積分式
に境界条件の式
を代入して
以下の議論では,簡単のためにとして,右辺第3項を無視する.
表面がメッシュ分割されているとすると,積分は各要素の和で表すことができる.
表面の要素内で内挿関数を用いて次のように補間されているとする.
これを上に代入すると境界での要素剛性行列が得られる.
吸収境界条件の精度によって,どの程度解が変化するのかを以下の2式で確認した.式(1)は1次の吸収境界条件,式(2)は2次の吸収境界条件である.
図3の左の図は式(1)を,右の図は式(2)を境界条件として用いた場合の,解の実部をコンターで表示している.
1次2次ともに、波源から点対称になっていないのがわかる.これはまだまだ放射境界条件が完全ではなく壁の影響があるからである.低次の放射境界条件は境界と波の進行方向が垂直に近いという仮定に基いているので、画面下隅のように波の進行方向と境界が平行に近い場合は誤差が出ている.とはいえ2次は1次に比べれば改善されていることがわかる.1次では画面の上の方に壁と反射した波との干渉模様が見えるが、2次ではほとんど見られない.
有限要素法のような疎行列を解くのに、一番効率が良いのは反復解法だが、係数行列が非エルミートで不定値であるので、難しい
吸収境界条件や粘性を考えると有限要素法離散化によって得られる係数行列は複素数行列となる。この行列は対称であるがエルミートではないので、CG法のような方法を用いることができない。実非対称行列で使うようなBiCG法(複素数の場合はCOCG[5]),CGNR法,BiCGStab法,GMRes法を複素数に拡張した方法を用いて行列を解く。
COCG(Conjugate orthogonal-conjugate gradient)法はBiCG法の複素数の場合の特殊な場合で,BiCG法のシャドーベクトルを共役なベクトルとしたものである.COCG法のアルゴリズムは次の通りになる.
  1.  
  2.   ,
  3.  
  4.     
  5.     
  6.     
  7.     
  8.     
  9. 
ここでの記号は複素数の内積を表す.つまり,である.エルミート行列に対してはCG法を適応したときのアルゴリズムではこの内積を使うが,COCG法では内積の代わりに,成分どうしの掛け算の足し合わせを用いていることに注意されたい.
また、波数の大きなHelmholtzを離散化した時に得られる係数行列は不定値なので、COCG法やBiCGStab法で安定して解くために、特殊な前処理手法(複素シフトラプラス前処理)を使うこともある。詳しくは[2][3][4]を参考にして頂きたい。
以下の図のように軸対称な3次元問題について考える,つまり,形状,境界条件,物性値全てが軸対称な場合であり,解も軸対称となる.この場合は断面における2次元的な問題に帰着でき,3次元解析のコストを大幅に削減することができる.
軸対称な場合について,断面について2次元的にHelmholtz方程式を有限要素法離散化する.Helmholtz方程式の弱形式は以下の通りであった.
積分の変数を以下のように,に変換しよう.
この場合のヤコビアンの絶対値は
となるので,となる.また,この場合下の図のように,
が成り立つので,これを上に代入すると,
方向に被積分関数は変化しないので,の積分を取り除くことができる.また,断面の2次元的な積分領域を,断面の境界をのように書くと,下のような軸対称問題についての弱形式化が得られる.
軸対称問題についてのHelmholtz方程式の弱形式 |
---|
断面の2次元領域がメッシュ分割されているとすると,上式の積分は各要素内での積分を全て足し合わせて得ることができる.つまり,
ここで,体積積分に関係する1項と2項について計算する.,ガラーキン法で変分を行うとして,要素内で次のように補間関数を用いてとが離散化されているとする.
,
これらを弱形式に代入すると以下のように,要素剛性行列,全体剛性行列を導出することができる.但し,式変形では要素内での番号付けが成り立つとした.
係数行列 |
---|
これらは要素単位での次のような行列の足し合わせで得られることが分かる.
外力ベクトル |
---|
軸対称問題のHelmhltz方程式の解析精度の検証のために,開口端補正を求める実験を行った.開口端補正とはパイプの共鳴を考えるときに,パイプの長さの4分の1とかの整数倍のように計算される共鳴する波長よりも少し波長の方が長いところで共鳴が起るということ.パイプのように一端が開いていると,その周りの空気も一緒に振動するので,その影響を加味しなければならないのだ.
数値実験のセッティングは以下のとおりで,軸対称問題であると仮定して,管と開口部の周りの空気の領域にメッシュを切った.
この管の共振周波数を求めて,その波長と管の長さから開口端補正を求める.共振周波数を求めるときは,点音源を任意の場所(この実験では管の底)に置いて,その音源から発せられる音がどれだけ増幅するかを周波数を変えながらモニターして,増幅率がピークに達した時の周波数を共振周波数とした.
開口端補正Δの理論値はΔ=0.61...×半径と求められており[6],それと比較したのが以下のグラフである.
ほぼ,問題ない精度で理論値と合っていることがわかる
この開口端補正の理論値は次のページで紹介されている.
Finite Element Analysis of Accoustic Scattering | Frank Ihlenburg 著 |