JP4761865B2 - 空間シミュレーションプログラムおよび装置 - Google Patents

空間シミュレーションプログラムおよび装置 Download PDF

Info

Publication number
JP4761865B2
JP4761865B2 JP2005212458A JP2005212458A JP4761865B2 JP 4761865 B2 JP4761865 B2 JP 4761865B2 JP 2005212458 A JP2005212458 A JP 2005212458A JP 2005212458 A JP2005212458 A JP 2005212458A JP 4761865 B2 JP4761865 B2 JP 4761865B2
Authority
JP
Japan
Prior art keywords
calculation
partial area
variable
partial
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005212458A
Other languages
English (en)
Other versions
JP2007034373A (ja
Inventor
悟史 山口
室  啓朗
岩村  一昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005212458A priority Critical patent/JP4761865B2/ja
Priority to US11/356,183 priority patent/US7603263B2/en
Priority to CNB2006100086614A priority patent/CN100565496C/zh
Publication of JP2007034373A publication Critical patent/JP2007034373A/ja
Application granted granted Critical
Publication of JP4761865B2 publication Critical patent/JP4761865B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、興味ある現象を計算機で再現するシミュレーションに関し、特に、計算格子における変数を時間ステップごとに更新する空間シミュレーションプログラムおよび装置に関する。
近年、興味ある現象の把握を目的として、PC(Personal Computer)などの一般的な計算機により空間シミュレーションを手軽に実現するシステムが注目されている。一般に空間シミュレーションでは、現実の空間を複数の計算格子で表現し、またシミュレーション対象の現象を変数で表現する。さらに、現象の時間変化を、変数をある時間幅(時間ステップ)ごとに更新することで表現する。例えば、この空間シミュレーションの一例として、水深、流速などを変数として更新することで洪水現象を表現する洪水シミュレーションが知られている(例えば、非特許文献1)。
この洪水シミュレーションは主に河川堤防が決壊した場合を想定し、流域における浸水深を算出する。まず、シミュレーション開始前にシミュレーションの対象とする領域(対象領域)を決定する。この対象領域ではない領域は、このシミュレーションでは考慮できない。次に、対象領域内に計算格子の配置を決定する。ここで、現在のPCで実用的な時間内に処理を終わらせるためには、計算格子の数を10,000以下に抑制する必要がある。そのため、計算格子を一辺250m程度の矩形に設定する。最後に、対象領域に配置した計算格子における水深、流速などの変数を時間ステップごとに更新する。
「治水経済調査マニュアル(案)」、建設省 河川局 刊、平成12年5月 発行、第26頁〜第36頁
しかしながら、上記のような従来の空間シミュレーション方法では必ず対象領域を初めに指定する必要があり、その一方で、対象領域ではない領域のシミュレーションを行うことを不可能にしていた。たとえば、ある河川の下流域を対象領域とする洪水シミュレーションの場合、利用者が対象領域としなかった、河川の上流・中流域や、他の河川流域をシミュレートすることができなかった。したがって、利用者はシミュレーションの実行前にこれから実行するシミュレーションにより影響を受ける領域を推測する必要があった。また、上記非特許文献1の方法では対象領域を拡大すると、それに伴い計算量が増大する。実用上、対象領域の面積は500Km2が上限であり、より広い領域を対象領域とした空間シミュレーションを一般的な計算機を用いて手軽に計算を行うことが難しい、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、広域を対象とする空間シミュレーションを手軽に行うために、少量のデータ量で高速に実行できる空間シミュレーションを行うためのプログラムおよび装置を提供することを目的とする。
本発明の一態様は、複数の計算格子における変数の時間変化を数値モデルに従って算出することにより、前記複数の計算格子で表現される空間における前記変数で表現される現象の時間変化のシミュレーションを、プロセッサ及びメモリを有する計算機に実行させる、空間シミュレーションプログラムであって、前記空間を表現する前記複数の計算格子において、それぞれが複数の計算格子から構成される複数の部分領域を定義する手順と、設定された外力条件により更新される変数の計算格子を含む部分領域の識別子を、前記メモリに格納されている要更新テーブルに登録する手順と、対象の計算格子の変数の更新のために隣接する計算格子の変数を参照する前記数値モデルに従って、前記要更新テーブルに登録されている第1の部分領域における計算格子の変数を参照して、前記第1の部分領域に隣接し前記要更新テーブルに登録されていない第2の部分領域における計算格子の変数を更新する必要があるか否かを判定する手順と、前記第2の部分領域における計算格子の変数の更新が必要であると判定した場合に、前記第2の部分領域の識別子を前記要更新テーブルに登録する手順と、前記要更新テーブルに登録した前記第2の部分領域の計算格子の空間データを前記メモリに展開する手順と、前記要更新テーブルに登録されている部分領域における計算格子に対して、前記メモリに展開されている当該部分領域の空間データ及び前記数値モデルから、前記メモリに格納されている計算格子の変数を更新する手順と、を前記プロセッサに実行させる。
したがって、本発明は、広大な領域を対象とする空間シミュレーションにおいて、少量のデータ量で高速に実行することが可能になる。さらに、変数の更新が必要になった時点でその部分領域の空間データを取得することにより、シミュレーション実行前に必要な空間データを見積もり一括して取得することに比べ、取得する空間データを削減することができる。これにより、たとえば空間データが有償である場合、空間シミュレーションを実行するためのコストを削減することができる。
以下、本発明の空間シミュレーションを洪水シミュレーションに適用した場合の一実施形態を添付図面に基づいて説明する。
図1は、本発明の空間シミュレーションを実現するための計算機システムの構成を示す概略ブロック図である。
空間シミュレーションの利用者はPC(Personal Computer)100に接続されたキーボード111やマウス112等の入力部により命令を入力し、ディスプレイ113によりシミュレーションの結果を出力して確認する。PC100の内部では、CPU(Central Processing Unit)140がメモリ130に格納された空間シミュレーションプログラムとしての洪水シミュレーションプログラム131に基づいて洪水シミュレーションを実行する。
洪水シミュレーションプログラム131の実行中に、メモリ130には、利用データテーブル132および要更新テーブル133が作成・参照される。CPU140は、洪水シミュレーションプログラム131の実行中に、必要に応じて、外部記憶装置(ストレージ装置など)120に格納された空間データファイル(空間データ格納部)121から空間データをメモリ130に展開し、また洪水シミュレーションの結果をシミュレーション結果ファイル122として外部記憶装置120に格納する。なお、空間データは、例えば地理情報などで構成され、地理情報の一例としては、点、面、線、立体など空間の一部を特定する情報とその特定された空間に結びつけられた値からなるデータであり、たとえば、駅データ、河川データである。また、空間データは空間シミュレーションの対象とする空間を表現する。たとえば、標高、地表面の粗度(水の流れにくさを表す物理量)等である。
なお、外部記憶装置120の代わりに、ネットワークインタフェース151からインターネット152に接続されたGIS(Geographic Information System;地理情報システム)サーバ153やWebサーバ154から空間データを取得し、またこれらのサーバ153や154にシミュレーション結果データを格納してもよい。
図2は、上記図1で示した計算機システム上で実行される、洪水シミュレーションプログラム131の処理の概要を表すPAD図である。CPU140は図2に示したプログラムの各工程を実行する。
まず、図2の工程201では、洪水シミュレーションを行う空間に部分領域を定義する。部分領域とは、現実の空間を予め決めた形状で分割した領域である。さらに、この部分領域内に複数の計算格子を配置する。図3は、現実の空間と計算格子、および部分領域との関係を模式的に示した図である。この図を用いて、現実空間と計算格子の関係、計算格子と部分領域の関係、計算格子と変数の関係の3点について説明する。
はじめに、現実空間と計算格子の関係を説明する。まず、例えば現実の空間に東をx軸正方向、北をy軸正方向とした地理情報座標(x,y)を設定する。ここで、注目地点の座標(x,y)はある地点を原点とした場合の、原点から注目地点までの距離を表す。原点の座標は(0,0)となる。続いて地理情報座標(x,y)で表現された空間全域に、計算格子を配置する。計算格子は図3において細線で囲まれた矩形領域であり、たとえば図中311である。ここで、地理情報座標(x,y)を用いて計算格子座標(i,j)を下記の通り定義する。
i=floor(x/dx),j=floor(y/dy) ………(1)
ただし、dx,dyはそれぞれx,y軸方向の計算格子の大きさであり、floor()は引数を小数点以下切り捨て整数化する関数である。計算格子座標の原点は地理情報座標の原点と同じくし、i軸およびj軸はそれぞれx軸およびy軸と平行である。注目地点の座標(i,j)は原点から注目地点までの格子数となる。
次に、計算格子と部分領域の関係について説明する。図3において部分領域は太線で囲まれた矩形領域であり、たとえば図中320である。ひとつの部分領域はその内部にi軸方向にci個(321)、図中j軸方向にcj個(322)の計算格子を含む。ただし、ci、cjは2以上の整数である。ここで、計算格子座標(i、j)を用いて部分領域座標(bi,bj)を定義する。
bi=floor(i/ci),bj=floor(j/cj) ………(2)
この部分領域座標(bi,bj)により、部分領域を一意に指定可能になる。本実施形態では、たとえば、dx=dy=50m、ci=cj=50と設定することができる。以下、この設定に基づいて説明する。
最後に、計算格子と変数の関係について説明する。ひとつの計算格子における変数は単数または複数種類存在する。変数はシミュレーション対象の現象を表現する。本実施形態では、ある計算格子(i、j)における変数は水深h、x軸方向の流速u、y軸方向の流速vの3種類が存在し、この3種類の変数により洪水現象を表現する。なお、本実施形態ではすべての変数が同一の格子に存在するコロケーティッド格子(collocated grid)の場合について説明するが、たとえばスタッガード格子(staggered grid)のように変数ごとに1/2ずらした格子座標を用いる場合においても、以下の説明は同様に成り立つ。このことは、DDM(Domain Decomposition Methods;領域分割法)の理論から明らかである。詳細は例えば、公知の文献「Domain Decomposition Methods - Algorithms and Theory」(Toselli, Andrea, Widlund, Olof, ISBN: 3-540-20696-5, Springer, 2005)に記載される。
以上のようにして計算格子と部分領域を設定し、変数を割り当てる。このように、複数の計算格子から構成される部分領域という概念を導入すると、以下の利点が生じる。(A)計算負荷の低減。後述する工程503、工程206、工程209では、部分領域について繰り返し処理を行う。よって計算格子について繰り返し処理を行った場合に比較して、繰り返し回数が減少し計算負荷も減る。(B)従来技術との親和性の増大。部分領域という概念を新たに導入することで、計算格子の概念をたとえば非特許文献1に記載された従来の技術におけるそれから変化させる必要がなくなる。これにより、たとえば後述する工程208において処理する数値モデルとして、たとえば従来の技術である非特許文献1に記載された数値モデルをほぼ改変なく利用することができる。(C)DDMとの親和性の増大。本発明は、従来技術DDMと、ある領域におけるシミュレーション結果を得るために、ある領域を部分領域に分割する点が共通している。したがって、高効率な並列化など両者に共通する課題についてDDMの研究成果を適用できる。(d)SIMD命令との親和性。多くの種類のCPUでは、SIMD(Single Instruction /Multiple Data)命令と呼ばれるCPU命令により、1回の命令発行で複数のデータを処理することが可能である。処理するデータをSIMDの特性を考慮してメモリに配置した場合、SIMD命令を利用することで処理の大幅な高速化が実現できる。たとえばSIMD演算ユニットのレジスタ幅が128bitであるCPUで、計算格子に配置した変数の型が32bit単精度浮動小数点の場合、4の倍数個の計算格子がメモリに連続的に配置されているとSIMD命令を利用することによる高速化効果が高い。本実施形態でこれを実現するためには、部分領域の大きさbi,bjの値を4の倍数にすればよい。このように、部分領域を導入すると計算格子が連続的にメモリに配置されるため、SIMD命令の利用による処理の高速化が実現できる。
さらに、計算の高速化のために対象領域とその境界を設定すること、または海域と陸域の境界に境界条件を設定することも可能である。対象領域とは、上述したようにシミュレーションの対象とする洪水現象の発生する領域であり、この対象領域ではない領域の洪水現象は対象としない。対象領域を特に設定せず、又全領域を対象領域とすれば、上述したとおり地理情報座標(x,y)で表現できる空間全域をシミュレーションできる。対象領域として小さな領域を設定すれば、その小さな領域のみをシミュレーションすることになるため、対象領域を特に指定しない場合、およびより大きな領域を設定した場合にくらべ計算量を削減することができる可能性がある。
対象領域とその外側の領域との境界としては境界条件を設定するとよい。境界条件として、たとえば以下の2条件のどちらかを適用することができる。(1)境界に深い溝があると考える、すなわち境界に達した水は消滅する。(2)境界に高い壁があると考える、すなわち境界に達した水は境界付近に滞留する。いずれの条件においても境界より外側へ水が流出しないため、境界より外側では計算が常に不要である。同様の境界条件を海域と陸域の境界に設定できる。本実施形態では、対象領域は特に設定せず、海域と陸域の境界に境界条件(1)を適用した。
続いて、工程202では利用データテーブル132を作成する。図4はこの工程202で設定する利用データテーブルの内容の一例を示す図である。
利用データテーブル132には、洪水シミュレーションプログラム131が取得する空間データの格納場所が、部分領域ごとに設定される。なお、本実施形態の洪水シミュレーションで必要な空間データの種類410は、標高、地表面の粗度(水の流れにくさを表す物理量)等である。部分領域ID420は、部分領域を識別できるIDであればよく、例えば図4に示すように前出した部分領域座標(bi,bj)から生成する。利用するデータが格納されている場所430として設定できる内容は図中431のようにWebサーバ154や、図中432および433のように外部記憶装置120の空間データファイル121などである。
なお、格納場所430に関して、あるディレクトリ配下に部分領域IDを元にした規則的なファイル名で格納するなど、格納場所430を部分領域ID420から一意に算出できる構造にしてもよい。この場合は、利用データテーブル132を作成せず、利用データテーブルと同等の機能を持つ関数、すなわち部分領域IDを入力とし空間データの格納場所を出力とする関数を作成するとよい。これにより、利用データテーブル132を作る手間が削減できる。例えば、図4のように、部分領域ID420が(120、131)の場合、対応する標高のデータの格納場所430は「C:\elev\120131.dat」となる。
また、利用データテーブル132を作成するのに代わって、ネットワーク上のGISサーバ153等から空間データを取得するようにしてもよい。この場合は、この工程202または後述する工程207において空間データを取得するためにGISサーバ153に必要な空間データの種類および位置を記載したデータ要求を発信する。この際、位置は緯度経度など地理情報で用いる座標値での指定を可能にするため、この工程202では、利用データテーブル132を作成する代わりに計算格子座標や部分領域座標と緯度経度などの座標とを相互に変換する方法を定義すればよい。相互変換のためには、例えば地理情報を表現するために用いる座標の一種であるUTM(Universal Transverse Mercator)座標を上述した地理情報座標(x,y)として採用することができる。UTM座標(x,y)は原点からの距離を座標値とするものの、角度に基づく座標である緯度経度座標と相互変換が可能である。UTM座標、計算格子座標、部分領域座標との相互に変換には、上記(1)式および(2)式を用い、緯度経度座標、地理情報座標(x,y)、計算格子座標(i,j)、部分領域座標(bi,bj)との相互を可能にすることができる。
さらに、ネットワーク上のGISサーバ153等が複数利用できる場合には、そのGISサーバの情報を予め外部記憶装置120などに格納しておくと都合がよい。図13はGISサーバの情報を格納するGISサーバテーブルの一例を示す図である。この場合、この工程202または後述する工程207において、対象となる部分領域の座標を緯度経度座標に変換し、GISサーバテーブル1300に記載されたURL(Uniform Resource Locator)にデータ要求を発信する。なお、GISサーバテーブル1300には、必要に応じてURLの他にユーザID、パスワードなどが追加可能である。
ここで、図13のGISサーバテーブル1300には、GISサーバの名称1301とURL1302とに加え、データの単価等のコスト情報1303を予め記載しておけばよい。データが有償の場合にはコスト情報1303などに応じてGISサーバを選択するようにしてもよい。
次に、工程203では、工程204以降を繰り返し処理する。後述する工程211で、シミュレーション開始からの経過時刻t(秒)は、1回の繰り返し処理で時間ステップdt(秒)だけ加算される。この時間ステップdtは、洪水シミュレーションを行う最小単位時間として設定した値である。本実施形態では、たとえばdt=5秒と設定することができる。
また、工程203の脱出条件は工程203に入る前に設定しておく。脱出条件としてはたとえば利用者がキーボード111などで停止命令を入力した場合が適している。このような脱出条件を設定した場合、任意の時点で利用者が独自に判断してシミュレーションを完了させることができるため、利用者の使い勝手が向上する。あるいは、洪水シミュレーションを行う全時間長さT(秒)を設定してもよい。この場合は、シミュレーション開始からの経過時間tが全時間長さTを超えた時点、あるいは、工程203の繰り返し回数が予め設定した回数を超えた時点を脱出条件とすることができる。このように全時間長さを設定すると、シミュレーションが完了する条件をプログラムが自動で判断できるようになりバッチ処理が可能になる。また、後述するダイアログ1100においてシミュレーションが完了するまでの残り時間を推定することが可能になる。
工程204では外力条件を設定する。外力は空間シミュレーションの対象とする現象を発生させる現象について、時間変化も含めて表現する。後述するように、変数は現象が発生している状態と、発生していない状態のどちらかに判別できる。よって、外力は変数を現象が発生している状態にし、かつ、その後の時間の経過とともに変化してそれに応じた変数の更新を可能とする。これらの外力は、後述する工程208における数値モデルにおいて境界条件として扱う。
洪水シミュレーションにおける外力は、たとえば前記非特許文献1に記載された河川の堤防決壊点からの水の流出、降雨などが挙げられる。水の流出は堤防決壊点周辺の水深と流速を変化させ、降雨は降雨域における水深を変化させる。また、外力条件を水深、流速などの変数の値に変換する式は、前記非特許文献1に記載されている。洪水シミュレーションプログラム131は利用者に外力の種類と位置を入力させ、入力された外力の条件を上記変換式に代入し、外力が入力される変数の種類、値、および計算格子座標(i,j)を算出する。たとえば、原点から東に60.0km、北に75.0kmの地点における高さ1.0mの堤防決壊という外力を想定する場合、計算格子座標(i,j)=(12000,15000)において水深h=1.0mと設定すればよい。
次の工程205では、更新が必要な部分領域、より正確には更新が必要な計算格子を含む部分領域を検出する。ここで、更新が必要な部分領域とは、洪水現象が内部で発生する部分領域か、洪水現象が周囲から伝播してくる部分領域である。また、更新が不要な部分領域とは、洪水現象が内部で発生せず、かつ洪水現象が周囲から伝播してこない部分領域である。この工程205では、更新が必要な部分領域を検出し、続く工程206から工程208において更新が必要な部分領域のみを取り扱えるようにする。この工程205における判別が不正確の場合予期せぬ結果を招くことがあるので、この判別は非常に重要である。たとえば、本来更新が不要である部分領域を更新が必要であると誤判定すると、続く工程206から工程208において不要な処理を行うことになり、計算負荷が増大する。また、本来更新が必要である部分領域を更新が不要であると誤判定すると、得られるシミュレーション結果が予期せぬ誤りを含むことになる。逆に、正確に判定を行い更新が必要な部分領域の数を必要最低限に抑制できれば、正確なシミュレーション結果を従来の方法より少ない計算負荷で得られることになる。この判定方法について、以下に記述する。
図5は、工程205の詳細を示すPAD図である。これらの工程のうち、図5の工程501から工程502では洪水現象の発生過程を、工程503から工程505では洪水現象が伝播する過程を考慮して更新が必要な部分領域を検出する。したがって、図5の一連の工程により洪水現象が発生し、周囲に伝播する一連の過程を考慮して、更新が必要な部分領域を検出することが可能になる。
工程501および工程502では、上記工程204で設定した外力条件を参照して、外力条件が設定された部分領域のIDを要更新テーブル133に追加する。図6は、要更新テーブル133の内容の一例を示す図である。要更新テーブル133には更新が必要な部分領域数IDが列610に記載される。重複なしに記載されることが望ましい。またその部分領域IDについての空間データの取得状況(取得済み、未取得、不要)が列620に記載される。なお、工程501では、要更新テーブル133の空間データの取得状況(列620)はすべて「取得済み」となっている。続く工程502から後述する工程505において追加される部分領域IDはすべて空間データの取得状況が「未取得」となる。この、空間データの取得状況が「未取得」の部分領域IDが存在する状態は後述する工程207まで保持され、工程207における処理により空間データの取得状況が「未取得」の部分領域はすべて「取得済み」となる。工程502において部分領域ID610を追加する際には、要更新テーブル133を確認し、同じ部分領域ID610が重複して要更新テーブル133に追加されることがないようにする。この工程により、洪水現象の発生過程に追随して、洪水現象が発生している部分領域を要更新テーブルに追加することが可能になる。
次に、図5の工程503では、更新が必要な部分領域について工程504および工程505を繰り返す。更新が必要な部分領域は要更新テーブル133の列610を参照する。
ここで、外力条件以外によって更新の必要性を判別する方法について図7を用いて詳細に説明する。図7は、更新が必要な、すなわち変数が変化する可能性がある計算格子と、更新が不要な、すなわち変数が変化しないことが自明な計算格子を判別する方法を示す図である。
後述するように工程208において、本実施形態の洪水シミュレーションでは、変数、たとえば水深および流速を時間ステップごとに更新する。ここで、変数は洪水現象が発生している、または発生していないことが判定できるようにしておく必要がある。以下、洪水現象が発生していない状態を示す変数の値を0値、発生している状態を示す変数の値を非0値とよぶ。たとえば、洪水シミュレーションで用いる変数、たとえば水深h、流速u、vがそれぞれ0値であるか、非0値であるかの判別はそれぞれ次の式によって行うことができる。それぞれの変数がこれらの式を満たす場合は非0値であり、満たさない場合は0値とする。
h≧h0+he ………(3−1)
u≧u0+ue ………(3−2)
v≧v0+ve ………(3−3)
ここで、h0、u0、v0は、数値計算において0と値と見なす値であり、たとえば、h0=0と設定してもいいし、h0=1×10−5mと設定してもよい。また、he、ue、veは、数値計算において0とは異なる値と見なす最小の水深または流速であり、たとえばhe=10−4mと設定できる。h0、u0、v0を厳密に0としない場合は、計算機を用いた数値計算において避けられない誤差に伴う問題を回避できるため都合がよい。また、これらの式はこの工程504と後述する工程209における判別において利用するが、それぞれの工程において、数値計算において0と値と見なす値、数値計算において0とは異なる値として設定する値が同一でなくても良い。たとえば、この工程504においてhe=10−4mとし、工程209においてhe=10−5mと設定することができる。このようにすると、ある部分領域が、更新が必要な状態(工程504で検出される状態)と更新が不要な状態(工程209で検出される状態)とに頻繁に切り替わることを防ぎ、切り替わりに伴う処理(後述する工程207)を削減することができる。
ここで、図7において、ある計算格子311における次の時間ステップの変数を求めるためには、この計算格子311の4辺に接する周囲4つの計算格子(312から315)における現在の時間ステップの変数を参照する必要がある。このとき、計算格子311から315における水深h、流速u、vがすべて0値であれば、次の時間ステップの水深および流速は0値から変化しないことが、工程208の数値モデルから自明である。この場合値の更新は不要である。逆に、その計算格子およびその計算格子に4辺で隣り合う計算格子のうち、いずれかの計算格子における水深または流速が非0値であれば、次の時間ステップにおいて計算格子311の変数は非0値になる可能性がある。この場合変数の更新が必要である。以上より、次の時間ステップにおいて更新が必要な計算格子は、現在の時間ステップにおける非0値の計算格子を参照する計算格子であることがわかる。 図8は、更新が必要な部分領域を検出する方法を示す図である。図8において、ある部分領域320−1に属する計算格子811は、隣接する部分領域320に属する計算格子311’における次の時間ステップの変数値を求めるために参照される。したがって、計算格子811が非0値であれば、次の時間ステップにおいて計算格子311’が非0値になる可能性がある。なお、計算格子311’および811は、部分領域320と部分領域320−1の境界に面する計算格子である。同様に、部分領域320から参照されている部分領域320−1に属する計算格子812のいずれかが非0値であれば、次の時間ステップにおいて部分領域320に含まれる計算格子が非0値になる可能性がある。
以上より、ある部分領域320−1が更新が必要な場合、その部分領域に隣接する部分領域320から参照される計算格子812のいずれかが非0値であれば、隣接する部分領域320は次の時間ステップにおいて更新が必要であることがわかる。同様の判断を部分領域320−1の4辺について行えば、部分領域320−1に隣接するすべての部分領域数の更新の必要性を調べることができる。
以上より、現在の時間ステップで更新が必要なすべての部分領域の4辺を調べれば、次の時間ステップにおいて更新が必要な部分領域をすべて検出することができることがわかる。
図5の工程504では、上記図8を用いて説明した判断方法を利用し、隣接する部分領域から参照される計算格子が非0値であるかを調べる。そして、計算格子が非0値の場合は工程505で隣接する部分領域のIDを要更新テーブル133に追加する。ただし上記工程502と同様に、部分領域IDの追加前には要更新テーブル133を確認し、同じ部分領域IDが重複してテーブルに追加されることがないようにする。このように、図5の工程503から工程505により、洪水現象が周囲に拡大する過程に先行して、すでに洪水現象が発生している部分領域の周囲の部分領域を要更新テーブルに追加することが可能になる。
以下、再び図2のPAD図に戻って処理の概要を説明する。工程206では、更新が必要な部分領域について工程207および工程208を繰り返す。更新が必要な部分領域については工程503と同様に要更新テーブル133を参照すればよい。工程207では要更新テーブル133の列610に記載された部分領域で、かつ列620の値が未取得の部分領域についてのみ、利用データテーブル132の列430に記載された格納場所から空間データを取得する。取得した空間データはメモリ130に展開する。
工程208では、要更新テーブル133の列610に記載された部分領域について、予め設定された数値モデルを解き、更新が必要な部分領域における変数を更新する。まず、工程204で設定した外力条件を該当する計算格子の変数に反映させる。つづいて、本実施形態では2次元不定流モデルを利用し、水深と流速を次の時間ステップにおける値に更新する。ただし、2次元不定流モデルの本実施形態における実装では、ある計算格子とその計算格子の4辺に接する4つの計算格子すべてにおいて水深および流速が0値であれば、その計算格子の次の時間ステップにおける流速および水深が0値となる。上記数値モデルの具体的な計算式については、上記非特許文献1に記載されているので、ここでは詳細な説明を省略する。
なお、PC100がたとえばマルチスレッド(multi-thread)に対応している場合、または複数のCPU140あるいは複数のCPUコアを有する場合には、処理を並列に行うことにより高速化が計れる。対象領域を部分領域に分割した場合の高効率な並列処理についてはDDM(Domain Decomposition Methods;領域分割法)とよばれる分野に多くの研究がある(例えば、上記公知文献参照)。
工程209では、更新が不要な部分領域を検出し、要更新テーブル133より削除する。上述したように、更新が不要な部分領域とは、洪水現象が内部で発生せず、かつ洪水現象が周囲から伝播してこない部分領域である。この工程209では、更新が不要な部分領域を検出し、次の時間ステップにおける工程204から工程208において更新が必要な部分領域のみを取り扱えるようにする。この工程209における判別が不正確の場合、工程205同様予期せぬ結果を招くことがあるので、この判別は非常に重要である。この判定方法を以下に記述する。
図15は、工程209の詳細を示すPAD図である。図15の工程1501では、更新が必要な部分領域について工程1502、工程1503、および工程1504を繰り返す。更新が必要な部分領域は図5の工程503と同様に、要更新テーブル133の列610を参照する。工程1502では、部分領域内のすべての計算格子における水深hおよび流速u、vがすべて0値であるかを判別する。なお、各変数の0値とは式(3−1)から(3−3)をそれぞれ満たさない数値である。この工程1502の判別結果が真である場合は、続く工程1503においてその部分領域に隣接する部分領域内に存在する、その部分領域が参照する計算格子がすべて0値であるか判別する。工程1502に続きこの工程1503の判別結果も真である場合、工程1504において要更新テーブル133の該当する部分領域IDの空間データ取得状況(列620)を「不要」に変更する。図15の最後の工程1505で、要更新テーブル133の列620が「不要」の部分領域の空間データをメモリ130から削除し、その部分領域IDも要更新テーブル133の列610より削除する。
工程210では、後述するGUI(Graphical User Interface)に現時点の洪水シミュレーションの途中結果をディスプレイ113へ出力する。これにユーザは計算過程を把握することができる。 工程211ではシミュレーション開始からの経過時間tに時間ステップdtを加算する。必要に応じてシミュレーションの途中結果をシミュレーション結果ファイル122として外部記憶装置120に格納する。なお、シミュレーション結果ファイル122には、各計算格子における変数の値を格納することができる。
以上述べた処理によって、対象領域を複数の部分領域に分けて、更新の必要がある部分領域についてのみ必要な空間データを取得し、その空間データと数値モデルを用いて水深、流速などの変数を更新するようにした。これにより、広い領域の空間シミュレーションを少量のデータ量で高速に実行することが可能になった。
次に、上記工程210で行われる表示処理のGUIについて、図9を参照しながら説明する。図9は洪水シミュレーションシステムのGUI(画面)の一例を示す図である。ディスプレイ113の所定の表示領域に設定されたウィンドウ900には、地理情報が3次元的に表示された画像910があり、部分領域の境界を表すための線(たとえば図中911)、駅912、河川913が表示されている。また、洪水シミュレーションの結果である水深(浸水深)914が表示される。水深914は凡例920で示される水深毎の模様または色で表示される。この様に、シミュレーションの途中結果である各計算格子の水深、流速などの値を地理情報に重ね合わせて可視化すれば、ユーザは視覚的に計算結果の把握が容易になり望ましい。更に、図9に示すように対象領域を俯瞰する3次元の地理情報を用いればより状況を把握しやすくなる。
PC100の利用者はウィンドウ900上でカーソルを操作して、設定931、実行932、リセット933、終了934の各ボタンをマウス112で押下することにより希望する処理を洪水シミュレーションシステムに行わせることができる。
利用者がマウス112を操作して設定ボタン931を押下すると、ディスプレイ113の所定の表示位置には後述する図10のダイアログ1000が出現し、上記図2の工程202(利用データテーブル132の作成)を対話的に実現する。
また、実行ボタン932を押下するとディスプレイ113の所定の表示位置には後述の図11に示すダイアログ1100が出現し、上記図2の工程203を対話的に実現する。リセットボタン933を押下すると、洪水シミュレーションプログラム131を起動直後の状態にすることができる。また、終了ボタン934を押下すると、洪水シミュレーションプログラム131を終了させることができる。
次に、図10は上記図9の設定ボタン931を操作したときに表示されるダイアログ1000の一例を示す図である。このダイアログ1000は、利用する利用データテーブル132を対話的に作成するものである。
このダイアログ1000は上述のように設定ボタン931の押下により出現し、図2のPAD図の工程202(利用データテーブル132の作成)を対話的に実現する。特にデータの格納場所が複雑な場合、このダイアログを備えることで利便性が著しく向上する。ダイアログ1000には、対象領域の地理情報1010および部分領域IDごとの設定情報欄1020が備わっている。利用者がマウス112でマウスポインタ1011を移動させると、マウスポインタ1011が指している部分領域320において選択可能なデータがツールチップ(マウスポインタを合わせた時に表示される文字)1013として表示される。そして、利用者が部分領域320をクリックすると、該当する部分領域320の設定情報、すなわちID420、選択可能なデータ1022、および選択可能な空間データ(標高、粗度など)を取得するタイミング1023が表示される。図10では、利用者は選択可能な空間データ1022の「A社」のデータおよび「B社」のデータから、「A社」のデータを選択する場合を示している。
このように、一つの部分領域320の空間データの選択肢が提示されることで、利用者はたとえば市街地の中心部の洪水シミュレーションには高精度で高額な「A社」の空間データを、また、郊外のシミュレーションには低精度で低額な「B社」の空間データを使用するというように、用途に合わせてデータを使い分けることが可能になる。さらに、例えば後述するダイアログ1200を備えることで、これらの選択肢の他に「必要になった時点で改めて選択する(今は選択しない)」という選択肢を入れることができる。
選択可能な空間データ1022がWebサーバ154などネットワークに接続されたサーバに格納されている場合は、取得するタイミング1023を選択できる。図10では、利用者は「シミュレーション開始前にダウンロード」ではなく「必要になった時点で自動的にダウンロード」を選択している。本構成により、必要な時にのみWebサーバ154などから空間データはダウンロードされ利用者は利用する空間データを必要最低限に抑制できるようになる。具体的には、図2の工程205にてこの部分領域が要更新テーブル133に追加され、工程207にて空間データの取得処理が行われたときに自動的にダウンロードが行われる。この部分領域の更新が不要であるうちは、この部分領域の空間データはダウンロードされない。したがって、有償のデータを利用する場合、空間データを購入する費用の低減が図れる。逆に「シミュレーション開始前にダウンロード」を選択することで、たとえば利用者は洪水シミュレーション実行中に行われるダウンロードの処理(工程207)に時間を費やすことがなくなり、洪水シミュレーションを高速に実行できるようになる。
なお、外部のサーバからダウンロードした空間データは空間データファイル121に格納する。後述するダイアログ1200を備えると、利用者は必ずしもすべての部分領域について利用データテーブル132の設定情報1020を事前に入力する必要がなくなる。設定情報1020を適宜入力した後、利用者がOKボタン1031を押下すれば入力した設定が利用データテーブル132に反映され、キャンセルボタン1032を押下すれば入力した設定が破棄される。
ここで、GISサーバ153などネットワークに接続されたサーバに格納されている空間データが利用できる場合に、選択可能な空間データ1022のリストを作成する一連の工程について説明する。この一連の工程は、利用者がマウス112でマウスポインタ1011を移動させると、マウスポインタ1011が指している部分領域320について実行されるようにすることができる。
図14は、選択可能な空間データ1022のリストを作成する一連の工程を示すPAD図である。工程1401では空間データの取得が必要な部分領域内のすべての計算格子座標(i,j)を緯度経度に変換する。工程1402では、GISサーバ情報テーブル1300を読み込んで、GISサーバへ上記緯度経度を送信し、工程1403で該当する空間データの有無について問い合わせを行う。そして、対象となる部分領域の空間データをGISサーバが保有する場合、工程1404でこの空間データのURLを提供元から取得する。
工程1405ではGISサーバ情報テーブル1300のコスト情報を参照し、工程1404で取得したURLをコスト情報に基づいてソートする。この工程は必須ではないが、例えば安価な順にソートすればユーザはコストを考慮した選択が容易になる。
そして、工程1406では、ソート後のGISサーバの名称1301を選択可能なデータ1022として図10で示すように表示する。工程1407では、選択されたデータの格納場所を利用データテーブル132の列430に格納する。
以上の処理により、対象となる部分領域の空間データの取得先が決定され、タイミング1023で指定されたタイミング(工程202もしくは工程207)に、空間データのダウンロードが実行される。
図11は洪水シミュレーションの実行中に進捗を利用者に通知するためのダイアログ1100の一例を示す図である。このダイアログ1100は上記図9の実行ボタン932を押下したときに出現するもので、図2のPAD図の工程203における進捗を利用者に通知する。
ダイアログ1100には洪水シミュレーションの進捗状況を表示するプログレスバー1110、およびプログラムの実行状況についての情報欄1120が含まれる。
この情報欄1120には、洪水シミュレーションが完了するまでの推定残り時間1121と、現在の計算速度1122と、現在の洪水による浸水面積1123が含まれる。推定残り時間1121には、例えば、図示したように「10時間分のうち1.2時間分を計算しました」という情報、つまりシミュレーションを行う全時間長さT(秒)および現時点でのシミュレーション開始からの経過時間t(秒)を含めることで、洪水シミュレーションの進捗状況をより細かく表示することができる。ここで、シミュレーションを行う全時間長さTは工程203で取り扱う値Tを、シミュレーション開始からの経過時間tは工程211で取り扱う値tを参照する。また、計算速度1122は、現実世界の1秒間にシミュレーション内で何時間進むか表示する。例えば、図では、現実世界の1秒間にシミュレーション内で0.1時間進むことを示している。この数値は、工程211で現実世界の時刻を取得し、その時刻と前回の工程211における時刻の差をとることにより1回の繰り返し処理にかかる現実世界の時間を計測し、その値で時間ステップdtを除することによっても算出できる。本発明では、更新する部分領域の数によりシミュレーションの計算速度が変化するため、計算速度1122を表示することで利用者がシミュレーションの進捗状況を推定しやすくすることができる。
利用者は推定残り時間1121をプログレスバー1110により視覚的に把握することができる。また、上述したように更新する部分領域の数により計算速度が変化するため、現在の計算速度1122や部分領域の数に関連する浸水面積1123が表示されると、利用者が終了まで待つべきか、中止して別の操作をすべきかを判断できる。中止する場合、利用者は中止ボタン1131を押下し工程203を終了させる。
図12は洪水シミュレーション実行中に利用する利用データテーブル132を対話的に選択するためのダイアログの一例を示す図である。
このダイアログ1200は、利用データテーブル132が設定されていない部分領域について、工程207において空間データを取得しようとした場合に出現する。このダイアログ1200には、利用データテーブル132が設定されていない旨を伝えるメッセージ1210と、設定が必要な部分領域1221を含む地理情報1220と、部分領域1221についての設定情報欄1230が表示されている。
図12は、利用データテーブル132が設定されていない部分領域1221に、浸水領域1222の先端が到達する瞬間を表している。設定情報欄1230には部分領域1221のID1231および選択可能なデータ1232が表示される。図では「A社」のデータを選択した場合を示している。利用者は設定が終了した後、再開ボタン1241を押下して工程207を再開するか、中止ボタン1242を押下して工程203を終了し、図9に示したウィンドウ900に戻ることを選択できる。
なお、本発明を適用することで少量のデータ量で高速に実行することを期待できる数値モデルは、以下(a)、(b)の条件を満たす数値モデルである。
(a) 変数を更新する必要がない計算格子が存在すること。
(b) 計算格子の状態が空間的に連続して分布する傾向があること。
上記した条件(a)、(b)を満たす数値モデルは、たとえばある地域における洪水、火災延焼、交通流、感染病の流行などをシミュレートする分野に存在する。具体的には、洪水シミュレーションを行うための数値モデルである2次元不定流モデルおよびタンクモデル、火災延焼シミュレーションを行うための数値モデルである。この種の数値モデルとしては、「立体都市データを用いた空間シミュレーション方式とその火災延焼予測への適用」(室啓朗,伊藤永一,岩村一昭 共著,数理モデル化と問題解決,情報処理学会 刊、1997年11月 発行 Vol.1997 No.113)等が知られている。空間シミュレーションが火災延焼シミュレーションの場合でも、上記図2の工程209に該当する判別条件は上述した条件と同様である。すなわち、発火せず、かつ周囲から延焼が伝播してこない部分領域である。ただし、まだ発火も延焼もしていない部分領域と同様に、完全に焼失し領域内に燃える材料が残っていない部分領域も、上記判別条件を満たすこととする。
また、上記実施形態ではPC100で空間シミュレーションを行うプログラムについて説明したが、PCの代わりに並列計算機で空間シミュレーションを行うプログラムに本発明を適用することも可能である。この場合も、PCで実行するプログラムと同様に、対象領域内で実際に計算を行うデータ量を大幅に削減できるので、計算速度の向上を図り、より大規模な空間シミュレーションを短時間で実現することができる。なお、並列計算機においては高効率の並列化が重要な課題である。この課題に関しては、上述したDDMの分野における研究成果を適用することができる。
図16は、洪水シミュレーションプログラム131の機能要素を示すブロック図である。
洪水シミュレーションプログラム131は、地理情報(空間データ)を格納する地理情報格納部(空間データファイル121)と、前記地理情報が格納される領域を、複数の計算格子を含む部分領域に分割する部分領域設定部161と、
前記部分領域のうち、更新が必要な部分領域を選択する更新領域選択部162と、前記選択した部分領域に外力条件を設定し、該外力を用いて前記選択された部分領域に含まれる計算格子における変数をシミュレーションして更新する更新部163と、前記更新された変数の値をディスプレイ113(表示装置)に出力する表示部164と、を備えるものである。
なお、本発明において、更新が必要な部分領域のみを選択する手順は、ある計算格子における変数が空間シミュレーションの対象とする現象が発生していることを示す値の場合、その計算格子を含む部分領域を更新が必要な部分領域として選択する手順を含む。
また、更新の必要な部分領域のみを選択する手順は、ある計算格子における変数を更新するために、空間シミュレーションの対象とする現象が発生していることを示す値の変数を参照する場合、その計算格子を含む部分領域を更新が必要な部分領域として選択する手順を含む。
また、前記更新の必要な部分領域のみを選択する手順は、ある部分領域を構成するすべての計算格子におけるすべての変数が空間シミュレーションの対象とする現象が発生していることを示す値でない場合、かつ、それらの計算格子における変数を更新するために参照するすべての計算格子のすべての変数が空間シミュレーションの対象とする現象が発生していることを示す値でない場合、その部分領域を更新が必要な部分領域として選択しない手順を含む。
このように、更新の必要な部分領域のみを選択する手順では、上記3点の手法により変数の更新に関わる計算コストを削減することができる。
上述した更新の必要な部分領域のみを選択する手順では、ある計算格子における変数が空間シミュレーションの対象とする現象が発生していることを示す値の場合、その計算格子を含む部分領域を選択する。これにより、現象の発生過程に追随して、更新する部分領域の数を増減させることができる。
上述した更新の必要な部分領域のみを選択する手順では、さらに、ある計算格子における変数を更新するために、空間シミュレーションの対象とする現象が発生していることを示す値の変数を参照する場合、その計算格子を含む部分領域を更新が必要な部分領域として選択する。これにより、現象が発生している領域が拡大する過程に先行して、更新する部分領域の数を増加させることができる。
上述した更新の必要な部分領域のみを選択する手順では、さらに、ある部分領域を構成するすべての計算格子におけるすべての変数が空間シミュレーションの対象とする現象が発生していることを示す値でない場合、かつ、それらの計算格子における変数を更新するために参照するすべての計算格子のすべての変数が空間シミュレーションの対象とする現象が発生していることを示す値でない場合、その部分領域を更新が必要な部分領域として選択しない。これにより、現象が発生している領域が縮小する過程に追随して、更新する部分領域の数を減少させることができる。
以上のように、本発明によれば、広域の空間シミュレーションをPC等で実現することが可能となり、洪水や、火災延焼、交通、感染病の流行等の空間シミュレーションに適用することができる。
本発明を適用する計算機システムのブロック図。 洪水シミュレーションプログラムの処理の一例を示すPAD図。 洪水シミュレーションの対象領域と、部分領域及び計算格子の関係を示すグラフ。 利用データテーブルの内容を示す説明図。 図2の工程205で行われる更新が必要な部分領域の検出処理のサブルーチンを示すPAD図。 要更新テーブルの内容を示す説明図。 部分領域の更新の判定を行うための説明図で、対象となる計算格子と隣接する計算格子の関係を示す。 更新する部分領域を検出するための説明図で、対象となる部分領域と隣接する部分領域の関係を示す。 洪水シミュレーションの結果を表示するGUIの一例を示す画面イメージ。 利用データテーブルを設定する際のダイアログの一例を示す画面イメージ。 洪水シミュレーションの進捗状況を示すダイアログの一例を示す画面イメージ。 利用データテーブルにレコードを追加する場合のダイアログの一例を示す画面イメージ。 GISサーバの情報を格納するGISサーバテーブルの一例を示す図。 選択可能な空間データ1022のリストを作成する一連の工程を示すPAD図。 工程209の詳細を示すPAD図。 洪水シミュレーションプログラム131の機能要素を示すブロック図。
符号の説明
100 PC
121 空間データファイル
122 シミュレーション結果ファイル
131 洪水シミュレーションプログラム
132 利用データテーブル
133 要更新テーブル
311 計算格子
320 部分領域

Claims (9)

  1. 複数の計算格子における変数の時間変化を数値モデルに従って算出することにより、前記複数の計算格子で表現される空間における前記変数で表現される現象の時間変化のシミュレーションを、プロセッサ、メモリを有する計算機に実行させる、空間シミュレーションプログラムであって、
    前記空間を表現する前記複数の計算格子において、それぞれが複数の計算格子から構成される複数の部分領域を定義する手順と、
    設定された外力条件により更新される変数の計算格子を含む部分領域の識別子を、前記メモリに格納されている要更新テーブルに登録する手順と、
    対象の計算格子の変数の更新のために隣接する計算格子の変数を参照する前記数値モデルに従って、前記要更新テーブルに登録されている第1の部分領域における計算格子の変数を参照して、前記第1の部分領域に隣接し前記要更新テーブルに登録されていない第2の部分領域における計算格子の変数を更新する必要があるか否かを判定する手順と、
    前記第2の部分領域における計算格子の変数の更新が必要であると判定した場合に、前記第2の部分領域の識別子を前記要更新テーブルに登録する手順と、
    前記要更新テーブルに登録した前記第2の部分領域の計算格子の空間データを前記メモリに展開する手順と
    前記要更新テーブルに登録されている部分領域における計算格子に対して、前記メモリに展開されている当該部分領域の空間データ及び前記数値モデルから、前記メモリに格納されている計算格子の変数を更新する手順と、
    を前記プロセッサに実行させることを特徴とする空間シミュレーションプログラム。
  2. 前記要更新テーブルに登録されている1つの部分領域のすべての計算格子における変数及び前記1つの部分領域の変数の更新において参照される隣接部分領域の変数の値を参照し、前記数値モデルに従って前記1つの部分領域のいずれかの計算格子の変数の更新が必要であるか否かを判定する手順と、
    前記更新が不要であると判定した場合に、前記要更新テーブルから前記1つの部分領域の識別子を削除する手順と、
    をさらに前記プロセッサに実行させることを特徴とする請求項1に記載の空間シミュレーションプログラム。
  3. 前記判定する手順は、前記第2の部分領域における計算格子から参照される前記第1の部分領域における計算格子の変数が、前記空間シミュレーションの対象とする前記現象が発生していることを示す値である場合に、前記第2の部分領域における前記計算格子の変数の更新が必要であると判定する、
    ことを特徴とする請求項1に記載の空間シミュレーションプログラム。
  4. 前記要更新テーブルに登録されている1つの部分領域のすべての計算格子における変数が前記空間シミュレーションの対象とする前記現象が発生していることを示す値でない場合、かつ、前記1つの部分領域の計算格子が参照するすべての計算格子の変数が前記空間シミュレーションの対象とする前記現象が発生していることを示す値でない場合に、前記1つの部分領域の識別子を前記要更新テーブルから削除する手順、
    を前記プロセッサに実行させることを特徴とする請求項1に記載の空間シミュレーションプログラム。
  5. 前記部分領域毎に空間データの取得先を、空間データ取得先記憶手段に予め設定する手順と、
    予め設定されている取得タイミングとなった時点で、前記空間データ取得先記憶手段に設定されている取得先から空間データを取得する手順と、
    をさらに前記プロセッサに実行させることを特徴とする請求項1乃至請求項4の何れかに記載の空間シミュレーションプログラム。
  6. ネットワークを介して接続されたサーバが、前記空間データ取得先記憶手段に設定されており、
    前記空間データを取得する手順は、前記サーバに対して前記部分領域に対応する空間データを要求する手順と、前記サーバから空間データをダウンロードする手順とを含む、
    ことを特徴とする請求項5に記載の空間シミュレーションプログラム。
  7. 前記数値モデルは、対象地域の浸水深を時間ステップごとに更新し、前記変数として前記計算格子における浸水深を更新することを特徴とする請求項1乃至6の何れかに記載の空間シミュレーションプログラム。
  8. 前記変数を更新する計算格子を含む領域の地理情報を3次元画像として表示装置に表示する手順と、
    前記3次元画像の地理情報上に、前記部分領域を表示する手順と、
    前記変数の時間変化を表示する手順と、
    をさらに前記プロセッサに実行させることを特徴とする請求項1乃至請求項7の何れかに記載の空間シミュレーションプログラム。
  9. 複数の計算格子における変数の時間変化を数値モデルに従って算出することにより、前記複数の計算格子で表現される空間における前記変数で表現される現象の時間変化を再現する、空間シミュレーション装置であって、
    前記空間を表現する前記複数の計算格子において、それぞれが複数の計算格子から構成される複数の部分領域を定義する手段と、
    更新が必要な部分領域の識別子を登録する要更新テーブルと、
    設定された外力条件により更新される変数の計算格子を含む部分領域の識別子を前記要更新テーブルに登録する手段と、
    対象の計算格子の変数の更新のために隣接する計算格子の変数を参照する前記数値モデルに従って、前記要更新テーブルに登録されている第1の部分領域における計算格子の変数を参照して、前記第1の部分領域に隣接し前記要更新テーブルに登録されていない第2の部分領域における計算格子の変数を更新する必要があるか否かを判定する手段と、
    前記第2の部分領域における計算格子の変数の更新が必要であると判定された場合に、前記第2の部分領域の識別子を前記要更新テーブルに登録する手段と、
    前記要更新テーブルに登録した前記第2の部分領域の計算格子の空間データをメモリに展開する手段と
    前記要更新テーブルに登録されている部分領域における計算格子に対して前記メモリに展開されている当該部分領域の空間データ及び前記数値モデルから、前記メモリに格納されている計算格子の変数を更新する手段と、
    を有することを特徴とする空間シミュレーション装置。
JP2005212458A 2005-07-22 2005-07-22 空間シミュレーションプログラムおよび装置 Active JP4761865B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005212458A JP4761865B2 (ja) 2005-07-22 2005-07-22 空間シミュレーションプログラムおよび装置
US11/356,183 US7603263B2 (en) 2005-07-22 2006-02-17 Spatial simulation program and system
CNB2006100086614A CN100565496C (zh) 2005-07-22 2006-02-20 空间模拟装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005212458A JP4761865B2 (ja) 2005-07-22 2005-07-22 空間シミュレーションプログラムおよび装置

Publications (2)

Publication Number Publication Date
JP2007034373A JP2007034373A (ja) 2007-02-08
JP4761865B2 true JP4761865B2 (ja) 2011-08-31

Family

ID=37656813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005212458A Active JP4761865B2 (ja) 2005-07-22 2005-07-22 空間シミュレーションプログラムおよび装置

Country Status (3)

Country Link
US (1) US7603263B2 (ja)
JP (1) JP4761865B2 (ja)
CN (1) CN100565496C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890509B1 (en) 2006-12-05 2011-02-15 First American Real Estate Solutions Llc Parcel data acquisition and processing
US20080255736A1 (en) * 2007-04-10 2008-10-16 Helena Holding Company Geo-referenced agricultural levees
CN102097084B (zh) * 2009-12-14 2014-10-08 无锡中星微电子有限公司 一种图像处理方法及装置
JP5397245B2 (ja) * 2010-01-29 2014-01-22 沖電気工業株式会社 情報処理装置および情報処理方法
WO2021144656A1 (en) * 2020-01-15 2021-07-22 Monday.Com Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems
JP5600507B2 (ja) * 2010-07-09 2014-10-01 アジア航測株式会社 洪水流量推定システムおよび方法
JP5576309B2 (ja) 2011-01-31 2014-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 粒子法における自由表面に位置する粒子の正確な判定
US20140303951A1 (en) * 2013-04-09 2014-10-09 Schlumberger Technology Corporation Integrated system for production design assistance
JP6671064B2 (ja) * 2016-03-03 2020-03-25 国立研究開発法人海洋研究開発機構 粒子シミュレーション装置、粒子シミュレーション方法及び粒子シミュレーションプログラム
JP6936749B2 (ja) * 2018-02-23 2021-09-22 株式会社日立パワーソリューションズ 浸水予測プログラムおよび浸水予測システム
JP6564543B1 (ja) * 2019-03-14 2019-08-21 株式会社 日立産業制御ソリューションズ データの三次元可視化方法、データの三次元可視化プログラム、および、データの三次元可視化システム
CN111445011B (zh) * 2020-04-01 2023-07-28 成都思晗科技股份有限公司 一种基于气象和遥感数据的山火预警方法
CN112642148B (zh) * 2020-12-30 2024-10-22 北京像素软件科技股份有限公司 一种游戏场景生成方法、装置及计算机设备
JP7467369B2 (ja) * 2021-03-01 2024-04-15 株式会社東芝 予測方法、予想プログラム、および予測装置
US12105948B2 (en) 2021-10-29 2024-10-01 Monday.com Ltd. Digital processing systems and methods for display navigation mini maps
US12118401B1 (en) 2023-11-28 2024-10-15 Monday.com Ltd. Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290240A (ja) * 1993-03-31 1994-10-18 Toshiba Corp シミュレーション方法
US5598359A (en) * 1993-10-29 1997-01-28 Southwest Research Institute Weather effects generator for simulation systems
US5480305A (en) * 1993-10-29 1996-01-02 Southwest Research Institute Weather simulation system
JP3495010B2 (ja) * 1994-07-22 2004-02-09 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
JP3625212B1 (ja) * 2003-09-16 2005-03-02 独立行政法人科学技術振興機構 3次元仮想空間シミュレータ、3次元仮想空間シミュレーションプログラム、およびこれを記録したコンピュータ読み取り可能な記録媒体
JP2005128838A (ja) * 2003-10-24 2005-05-19 Foundation Of River & Basin Integrated Communications Japan 簡易型洪水氾濫解析システム
CN1580802A (zh) * 2004-05-20 2005-02-16 中国科学院上海技术物理研究所 空间三轴运动磁场模拟装置

Also Published As

Publication number Publication date
US7603263B2 (en) 2009-10-13
JP2007034373A (ja) 2007-02-08
US20070032993A1 (en) 2007-02-08
CN100565496C (zh) 2009-12-02
CN1900926A (zh) 2007-01-24

Similar Documents

Publication Publication Date Title
JP4761865B2 (ja) 空間シミュレーションプログラムおよび装置
CN108268186B (zh) 在电解剖标测图上选择点
JP2007255088A (ja) 氾濫シミュレーション装置及びプログラム
JP4979322B2 (ja) 氾濫シミュレーション装置およびプログラム
US20150088474A1 (en) Virtual simulation
CN106354905A (zh) 关于模型化对象的几何元素集的度量的计算
CN103679792A (zh) 一种三维模型的渲染方法和系统
Zhang et al. Wind modelling for wind erosion research by open source computational fluid dynamics
Popinet et al. A quadtree-adaptive spectral wave model
JP7073656B2 (ja) 設計情報処理装置およびプログラム
JP7246636B2 (ja) 情報処理装置、粒子シミュレータシステム、及び粒子シミュレータ方法
JP5873941B1 (ja) 水害解析装置、および、水害解析方法
JP7047562B2 (ja) プログラム、情報処理方法、情報端末及び情報処理システム
WO2005073923A1 (en) Dynamic mapping tool background
KR101170909B1 (ko) 이동 그리드를 이용한 유체 시뮬레이션 시스템 및 방법
Bezgodov et al. The framework for rapid graphics application development: the multi-scale problem visualization
CN111950134A (zh) 基于bim的地质灾害评估方法、装置及计算机可读存储介质
KR20020082855A (ko) 그래픽 사용자 인터페이스를 위한 디스플레이를 제공하는방법
JP2016071786A (ja) 地理情報ベクタ化支援システム及び地理情報ベクタ化支援方法
Zhou et al. New high-fidelity terrain modeling method constrained by terrain semanteme
KR102297427B1 (ko) 레이다 피탐 확률 평가 방법 및 그 장치
KR102497535B1 (ko) 계층적 정점 응집 맵을 이용한 실시간 지형 모델링 및 렌더링 방법
JP6901675B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP7333932B2 (ja) 基礎杭支持層深度推定装置及びその方法
JP6516690B2 (ja) 解析装置および解析プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110406

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110607

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4761865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350