情報処理学会第65回全国大会

6A-1

アダプティブグリッドを用いた効率的な雲のシミュレーションの研究
宮崎 玲† 土橋 宜典‡ 西田 友是††東京大学 ‡北海道大学

１．はじめに
自然現象の表示はCGにおいて重要な研究分野の一つである。とりわけ雲は景観画像の作成において重要な役割を果たす。雲のシミュレーション手法として我々は、CMLを用いた定性的な雲のシミュレーション手法[1]、また大気流体をモデル化し、偏微分方程式の差分解法によるシミュレーション手法を提案した[2]。本稿では[2]の手法を拡張することによって、生成・消滅を繰り返す積雲、空高く発達していく積乱雲、そして新たに山の地形を考えることにより、気流と山との衝突により生成される積雲のリアルなシミュレーションを行うことができる。また雲の微小な形状までリアルに表現するためには、空間を多くのグリッドに分割することが必要となり、計算コストは増大してしまう。そこでアダプティブグリッドを用いることで、初期状態の粗いグリッドから、必要に応じて細分化して総グリッド数を削減する効率的なシミュレーションを行う。

２．積雲・積乱雲の形成過程
本節では、積雲・積乱雲の形成過程を説明する。積雲・積乱雲は乱流の渦によりバブル状のモクモクとした形態をしている。これらの雲は強い上昇気流によって生成される。上昇気流は暖められた地面付近の空気の浮力による上昇や、水平方向の気流が山に衝突することにより生じる。
上昇する空気塊は断熱冷却の効果により温度が下がり、空気塊に含まれる水蒸気が相転移を起こし凝結し積雲が生成される。その際、潜熱が解放され、それが再び浮力の源となる。雲がさらに発達を続けると積乱雲（いわゆる入道雲）となる。積乱雲内では水滴粒子が凝結・併合によって成長して降水粒子が形成され、下降気流が生じ、やがて雲は消滅する[3][4]。

Dv= −∇p + ν ∆v + B + f ,Dt∇ ⋅ v = 0,

(1)

DTDwcl= −Γd vz + Q+ ST , (2)
Dt
Dt

Dwvap

Dwcl (3)
.
Dt

Dt=−

こ こ で (1) 式 は 、 速 度 場 更 新 の た め の 非 圧 縮 性
Navier‑Stokes方程式で、浮力 B は温度と環境温度の差に比例する。 p は圧力、f は浮力以外の外力、ν は粘性係数である。(2)式は温度の式で右辺第１項は断熱冷却、第２項は雲生成による潜熱、第３項は熱源をそれぞれ表す。Γｄは乾燥断熱減率、Q は潜熱の係数、 S T は熱源の熱量である。(3)式は水蒸気・雲の式である。雲が生成されればその分水蒸気が減少することを表す。方程式の数値解析には[5]の手法を用いる。
４．アダプティブグリッド
効率的なシミュレーションのために、セルのアダプティブ分割を行う。この場合セルは８点のグリッドで囲まれた立方領域である。最も粗な分割レベルを０とし、必要に応じてセルを８分割する。分割ごとに分割レベルが１ずつ増加する。グリッド幅は分割レベルが増加する毎に 1/2 に細分される。分割アルゴリズムは文献[6]の手法を基にしている。新たにグリッドを 19 点追加することによりセルを分割する。シミュレーションに用いる全ての状態量、すなわち速度、雲密度、水蒸気密度、温度、圧力とグリッド座標をセル分割時に補間する。図１は簡単のため２次元の場合の分割レベル k 、グリッド幅 hk 、座標 ( x, y ) のグリッド領域の分割を表している。２次元の場合は４分割となりグリッドは 5 点（黒点）追加される。また隣り合うグリッドの分割レベルの差は 1 以下としておく必要がある。

３．大気流体のモデル
大気流体のモデルの概要[2]を説明する。シミュレーシ
ョン空間は３次元立方グリッドに分割する。1 つのグリッド幅は h である。各グリッドは速度ベクトルv = (v x , v y , v z ) 、水蒸気密度 wvap 、雲（水滴）密度 wcl 、温度 T を状態量として保持する。大気流体を以下の編微分方程式でモデル化する。ここで簡略化のため大気の密度は一定で非圧縮と仮定する。高度差の影響は環境温度を高度の関数で与えることにより考える。

A Study of Efficient Clouds Simulation Using Adaptive Grid
Ryo Miyazaki† Yoshinori Dobashi‡ Tomoyuki Nishita††The University of Tokyo‡Hokkaido University(x, y + hk)(x + hk, y + hk)(x, y + hk)(x + hk, y + hk)

y + hk/2(x + hk, y + hk)(x, y)(x + hk, y + hk)(x, y)

x + hk/2

図１：セルの分割
分割条件
直接可視化される状態量である雲密度はもちろん、その雲を輸送する速度場の、乱流による小さな渦を表現することがリアルな雲を作成するうえで重要である。しかし速度または渦度の勾配を分割の判定に用いる場合、空間の大部4−41

分が分割されてしまうことがある。そこで直接可視化に結びつく雲密度の他に、水蒸気密度を判定に用いることで、速度場または渦度の変化のある箇所のうち、雲に与える影響が大きい箇所に絞り込む。なぜなら水蒸気密度およびその変化が大きい箇所は、上昇気流により大気が乱れていて、かつ雲がこれから発生する可能性が高いからである。
シミュレーション中に以下のどちらかの条件を満たせばセルを分割する。
・ セルを囲むグリッド間の雲密度の差がある閾値以
上である。
・ セルを囲むグリッド間の水蒸気密度の差がある閾
値以上であり、飽和水蒸気密度に対する水蒸気密度の割合がある値以上である。
また分割レベルを下げるときは、分割されたグリッド間で上記の分割の条件を満たさないことを用いる。
５．シミュレーション
シミュレーションの初期状態として、環境温度を鉛直方向に線形に減少させる。水平方向には変化がないとする。
初期温度は環境温度と一致させておく。水蒸気密度は地面からの高さに比例して指数関数的に減少するよう配置する[2]。積雲が発生するための上昇気流に、次の２種類のシミュレーションを行うことが可能である。
・ 空間底面に雲ができる源となる熱源を配置する。環境温度との温度差による浮力によって、上昇気流が生じる（図２左）。
・ 初期状態として山の境界を細かく表すためにグリッドを分割しておく。水平方向の気流と山との衝突により、山の境界部分で上昇気流が生じる（図２右）。
水平方向の境界条件として、熱源を配置するシミュレー
ションの場合は周期的境界条件、山の地形を考慮するシミュレーションの場合は固定境界条件、上下境界には共に固定境界を設定する。初期水蒸気分布密度と熱源として配置する温度を変えて生じる上昇気流の強さをコントロールし積雲と積乱雲を作り分ける。上昇気流が強くなるほど雲がより鉛直方向に発達する。
生成された雲生成された雲×40×40）。シミュレーションで空間の雲の密度分布を得て、文献[7]の手法によりレンダリングを行った。
表１は積乱雲シミュレーションの初期状態として空間を１段階と 2 段階分割したものと、シミュレーション中にアダプティブに 1 段階と 2 段階分割したものとの、100 タイムステップの計算時間とそのときの総グリッド数を比較したものである。同じ解像度の結果を得るのに、アダプ
ティブグリッドを用いれば大幅な高速化が図られる。計算には Pentium4（2.7GHz）の PC を用いた。

図３：結果画像（左：積雲

右：積乱雲）

総計算時間（ｓ） グリッド数
33

分割なし

36,000 (30×30×40)

アダプティブ 1 段分割 3839255

初期状態で 1 段分割

200243,900

アダプティブ 2 段分割 5788,549

初期状態で 2 段分割

1,919,700

1,786

表１: 計算時間とグリッド数の比較
７．まとめ
本手法は従来手法を拡張して、山の地形を考慮し、よりリアルな雲のダイナミクスのシミュレーションを、アダプティブグリッドを使用し効率的に行った。それに基づきリアルな雲のアニメーションを作成した。
参考文献[1] R. Miyazaki, S. Yoshida, Y. Dobashi, T. Nishita. A Method forModeling Clouds based on Atmospheric Fluid Dynamics.
PACIFIC GRAPHICS 2001 Conference Proceedings, pp.
363-372.
[2] R. Miyazaki, Y. Dobashi, T. Nishita. Simulation ofCumuliform Clouds Based on Computational Fluid

山熱源

上昇気流

上昇気流

Dynamics. EUROGRAPHICS 2002 Short Presentations, pp.
405-410.

図２: シミュレーション空間（左: 熱源を配置[3] R.A.Houze, Cloud Dynamics, International Geophysics Series,

右: 気流と山との衝突）

Vol.53 (Academic Press, New York, 1993).

６．計算結果[4]小倉義光, 一般気象学[第２版], 東京大学出版会 1999

図３は積雲及び積乱雲の発達過程の結果画像である。左の画像は気流と山との衝突によって生成した積雲でシミュレーションスタートから 100 タイムステップ後のものである。右の画像は積乱雲で 350 タイムステップ後のものである。シミュレーション空間の高さは 3000m、山の高さは 1000m、１タイムステップは 20 秒を想定している。共に最大分割レベルが２のシミュレーションを行った。初期
グリッド数は、それぞれ 84000（70×30×40）と 64000（40[5] R. Fedkiw, J. Stam, H. W. Jensen. Visual Simulation of Smoke,
SIGGRAPH 2001, Conference Proceedings, pp. 15–22.
[6]数値流体力学編集委員会 編、格子形成法とコンピュータグラフィックス、東京大学出版会 1995
[7] Y.Dobashi, K. Kaneda, H. Yamashita, T. Okita, T. Nishita. A

4−42Simple, Efficient Method for Realistic Animation of Clouds.
SIGGRAPH 2000 Conference Proceedings, pp.19-28.