(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】視覚化のためのシミュレーションデータの適応圧縮
(51)【国際特許分類】
G06F 30/20 20200101AFI20240723BHJP
【FI】
G06F30/20
【外国語出願】
(21)【出願番号】P 2019229159
(22)【出願日】2019-12-19
【審査請求日】2022-11-25
(32)【優先日】2018-12-21
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】エバートン ヘルマン
(72)【発明者】
【氏名】ギリュルメ クーニャ
(72)【発明者】
【氏名】シリル ゴ・ゴク
【審査官】松浦 功
(56)【参考文献】
【文献】国際公開第2015/015630(WO,A1)
【文献】米国特許出願公開第2018/0268591(US,A1)
【文献】特開2006-101512(JP,A)
【文献】特開2014-026440(JP,A)
【文献】特開2013-161137(JP,A)
【文献】NORTON, Alan et.al.,The VAPOR Visualization Application,High Performance Visualization,1st Edition,Chapman and Hall/CRC,2012年,pp. 415-428
【文献】LI, S. et al.,Data Reduction Techniques for Simulation, Visualization and Data Analysis,Computer Graphics Forum [online],Vol. 37, No. 6,John Wiley & Sons Ltd.,2018年,pp. 422-447,[検索日 2023.08.22], インターネット,URL:https://onlinelibrary.wiley.com/doi/epdf/10.1111/cgf.13336
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/398
(57)【特許請求の範囲】
【請求項1】
シミュレーションを表示するためのコンピュータ実施方法であって、
状態を含むフルシミュレーションを計算するステップ(S10)と、
前記計算されたフルシミュレーションの縮小モデルを計算するステップ(S20)であって、縮小モデルは要素を有する基底を含み、フルシミュレーションの各状態は、基底要素の対応する線形結合によって表される、計算するステップと、
フルシミュレーションの少なくとも1つの状態について、対応する線形結合の一部を表示するステップ(S40)と
を有し、
前記基底要素の任意の線形結合が、対応するシミュレーション圧縮比及び対応する再構成誤差に関連付けられ、
当該シミュレーション圧縮比が、当該任意の線形結合によって前記縮小モデルで表される状態を表示するために必要なデータ量と、当該任意の線形結合を表示するために必要なデータ量との間の比率であり、当該再構成誤差が、当該任意の線形結合によって当該縮小モデルで表される状態と、当該任意の線形結合との間の距離であり、
前記基底要素が順序付けられ、順序付けられた基底要素の第1の要素が、対応する線形結合の一部に寄与する
コンピュータ実施方法。
【請求項2】
前記対応する線形結合の前記一部を表示する前に、表示されるべき1つ以上の次の状態に対する対応する線形結合の部分に寄与する多数の基底要素を選択するステップ(S30)
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記対応する線形結合の前記部分の前記表示(S40)の後に、さらに
表示されるべき1つ以上の次の状態に対する対応する線形結合の部分に寄与する新たな数の基底要素を選択するステップ(S50)であって、これにより、表示されるべき1つ以上の状態の各々に対する対応する線形結合の新たな部分が生成されるステップと、
前記対応する線形結合の前記新たな部分を表示するステップ(S60)と
を含む請求項2に記載のコンピュータ実施方法。
【請求項4】
前記新たな数の基底要素を選択するステップ(S50)と、前記新たな部分を表示するステップ(S60)とが繰り返される(S70)
ことを特徴とする請求項3に記載のコンピュータ実施方法。
【請求項5】
各選択するステップ(S50)は、表示されるべき1つ又は複数の次の状態に対する対応する線形結合の部分の対応するシミュレーション圧縮比又は対応する再構成誤差が所与の値に達するように実行される
請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記シミュレーション圧縮比の前記所与の値は、前記シミュレーションを表示するためにネットワークを介して送信されるデータの量がしきい値を下回るように決定される
請求項5に記載のコンピュータ実施方法。
【請求項7】
前記再構成誤差の前記所与の値は、表示される前記シミュレーションの精度が要件に適合するように決定される
請求項5に記載のコンピュータ実施方法。
【請求項8】
前記所与の値は前記ネットワークを介して送信されるデータの量を最小限に抑えながら、最大精度で前記シミュレーションを表示するために決定される
請求項6に記載のコンピュータ実施方法。
【請求項9】
前記しきい値又は前記要件は、ユーザのアクションに応じて選択される
請求項7に記載のコンピュータ実施方法。
【請求項10】
フルシミュレーションを計算するステップ(S10)及び計算されたフルシミュレーションの縮小モデルを計算するステップ(S20)は第1のコンピュータ上で実行され、
他のステップは第2のコンピュータ上で実行され、
前記第1のコンピュータ及び前記第2のコンピュータはネットワークを介して接続される
請求項1から9のいずれか一項に記載のコンピュータ実施方法。
【請求項11】
請求項1~10のいずれかに記載のコンピュータ実施方法をコンピュータに実行させるための命令を含むコンピュータプログラム。
【請求項12】
請求項11に記載のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含み、前記プロセッサが前記コンピュータプログラムによって動作させられるコンピュータ。
【請求項13】
ネットワークを介して第2のコンピュータに接続された第1のコンピュータを備えるシステムであって、
第1のコンピュータ及び第2のコンピュータは対応するメモリに結合された対応するプロセッサをそれぞれ備え、
対応するメモリは請求項1から10のいずれかに記載のコンピュータ実施方法を対応するプロセッサに実行させるための命令をその上に記録している
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションデータの圧縮及び視覚化に関する。
【背景技術】
【0002】
物理シミュレーションなどのシミュレーションは通常、膨大な計算能力を必要とし、高いメモリ要件を有する。物理シミュレーションを表示するための一般的なパイプラインは別個の高性能コンピュータプロセスで物理を計算し、シミュレーションが時間的に進むにつれてシミュレーションデータをディスクに出力することである。これらのデータは、異なる時間ステップにおけるシミュレーションの表現から構成することができる。データは、後に利用され、オンライン及び/又はリアルタイムでレンダリング/表示される。
【0003】
例えば、航空空間、地磁気、電磁、又はプラズマ物理の分野からの物理シミュレーションは、視覚化されるべき膨大な量のシミュレートされたデータを必要とし得る。一例は、計算流体力学(CFD)である。後者は数値的方法及びアルゴリズムを使用して、流体流を伴う問題を解き、分析する流体力学の分岐である。これは、航空宇宙推進から気象予測まで、流体力学のほとんどすべての分野において不可欠なツールである。自然界で頻繁に発生し、研究することが重要な複雑な乱流の特別な場合は、流体ソルバが高分解能で時間ステップが小さく、大量の時空間データを生成することを必要とするシミュレーションの良好な例である。ネットワークを介してこれらのデータを転送することは、非常に時間のかかるタスクであり得、一連の時間ステップを対話的及び/又はリアルタイムで転送することを妨げる。このため、ネットワークを介してシミュレーションデータを送信する前に、シミュレーションデータを圧縮する方法を見つけなければならない。
【0004】
この傾向に対処するための既存の戦略には、現場処理、時間的頻度の減少、及び記憶するデータのサイズの縮小が含まれる。後者のアプローチはサブサンプリング、すなわち、シミュレーションデータの断片、例えば、シミュレーションメッシュの特定の領域、又は特定の変数を記憶するだけであり、それらの全てではないサブサンプリングを介して行うことができる。その結果、シミュレーション結果の部分的な、したがって、場合によっては物理的に正確でないビューのみが可能になる。
【0005】
記憶するデータのサイズを縮小することは、圧縮を含むこともできる。圧縮戦略の大部分は空間情報に依存するが、画像データをターゲットとするウェーブレットフィルタ(例えば、Villasenor、John DAErgas、and PLDonoho.“Seismic Data Compression using h
igh-dimensional wavelet transforms.”data compression conference、1996、Proceedi
ngs.IEEE、surface meshsIEEE Computer Society Press、1996)及び流体シミュレーション(例えば、Li、Shaomeng、et al、“Spatiotemporal Wavelet compression for Visuali
zation of Scientific Simulation data.”、ClusterComputing(CLUSTER)、2017 IEEE I
nternational Conferen。IEEE、2017)圧縮は必然的に、正確さ及び精度の損失を意味し、この損失は物理学に対して制御することができないという欠点を有する。その結果、表示されたシミュレーション結果は、物理学の観点からは正確でない可能性がある。また、圧縮は、例えばシミュレーション結果上でのズーミングが圧縮比に制限されるという欠点を有する。他の圧縮技術はビデオストリーミングから知られており、科学的データについて探求された(例えば、Ibarria, Lawrence, et al. “Out‐of‐core compression and
decompression of large n‐dimensional scalar fields.” Computer Graphics Forum
. Vol. 22. No. 3. Blackwell Publishing, Inc, 2003.)。これらの方法は科学的データを圧縮するために使用することができるが、転送されたデータの数値精度に関する信頼できる制御装置を提供しない。
【0006】
また、可視化のために計算されたシミュレーションデータに後処理技術を使用することも知られている。しかしながら、それは、高価で強力なスーパーコンピュータの使用を必要とする。
【0007】
また、特に高性能コンピュータに関する最近の傾向は、計算能力が急速に増加しているのに対して、ディスク速度はゆっくりと増加していることを示している。その結果、データを生成するシミュレーションの能力はデータを記憶し、転送する能力よりも速く増加している。
【0008】
これに関連して、シミュレーションを表示するための改善された方法が依然として必要とされている。
【発明の概要】
【0009】
したがって、シミュレーションを表示するためのコンピュータ実施方法が提供される。この方法は、フルシミュレーションを計算することを含む。フルシミュレーションは状態を含む。この方法は、計算されたフルシミュレーションの縮小モデルを計算することをさらに含む。縮小モデルは、要素を有する基底を含む。フルシミュレーションの各状態は、基底要素の対応する線形結合によって表される。この方法は、フルシミュレーションの少なくとも1つの状態について、対応する線形結合の一部を表示するステップをさらに含む。
【0010】
これは、シミュレーションを表示するための改善された方法を構成する。
【0011】
この方法は、以下のうちの1つ又は複数を含むことができる:
・基底要素の任意の線形結合が、対応するシミュレーション圧縮比及び対応する再構成誤差に関連付けられる;
・基底要素が順序付けられ、順序付けられた基底要素の第1の要素が、対応する線形結合の部分に寄与する;
・本方法は対応する線形結合の部分を表示する前に、表示されるべき1つ又は複数の次の状態について対応する線形結合の部分に寄与するいくつかの基底要素を選択するステップをさらに含む;
・本方法は対応する線形結合の部分を表示した後に、表示されるべき1つ又は複数の次の状態について、対応する線形結合の部分に寄与する新しい数の基底要素を選択し、それによって、表示されるべき1つ又は複数の状態のそれぞれについて、対応する線形結合の新しい部分を作成するステップをさらに含む。この方法は対応する線形結合の部分を表示した後に、対応する線形結合の新しい部分を表示するステップをさらに含む;
・新たな数の基底要素の選択と新たな部分の表示とが繰り返される;
・各選択は、対応するシミュレーション圧縮比、又は表示されるべき1つ又は複数の次の状態に対する対応する線形結合の部分の対応する再構成誤差が所与の値に達するように実行される;
・シミュレーション圧縮比の所与の値は、シミュレーションを表示するためにネットワークを介して送信されるデータの量がしきい値未満になるように決定される;
・再構成誤差の所与の値は、表示されるシミュレーションの精度が要件に適合するように決定される;
・ネットワークを介して送信されるデータの量を最小限に抑えながら、最大精度でシミュレーションを表示するために所与の値が決定される;
【0012】
しきい値又は要件はユーザのアクションに応じて選択され、及び/又はフルシミュレーションの計算及び計算されたフルシミュレーションの縮小モデルの計算が第1のコンピュータ上で実行され、他のステップは第2のコンピュータ上で実行され、第1及び第2のコンピュータはネットワークを介して接続される。
【0013】
本方法を実行するための命令を含むコンピュータプログラムがさらに提供される。
【0014】
さらに、コンピュータプログラムが記録されたコンピュータ可読記憶媒体が提供される。
【0015】
さらに、メモリ及びディスプレイに結合されたプロセッサを備えるコンピュータが提供され、メモリには、コンピュータプログラムが記録されている。
【0016】
さらに、ネットワークを介して第2のコンピュータに接続された第1のコンピュータを備えるシステムが提供され、第1のコンピュータ及び第2のコンピュータはそれぞれ、対応するメモリに結合された対応するプロセッサを備え、対応するメモリには、方法を実行するための命令が記録されている。
【図面の簡単な説明】
【0017】
【
図3】フルシミュレーションの一例を示す図である。
【
図6】1つの状態の状態表現を形成する線形結合の異なる対応する部分に関連する異なる再構成誤差を示す。
【
図7a】所与の値に到達するために実行される1つの選択の例を示す図である。
【
図7b】所与の値に到達するために実行される1つの選択の例を示す図である。
【発明を実施するための形態】
【0018】
図1のフローチャートを参照すると、シミュレーションを表示するためのコンピュータ実施方法が提案されている。この方法は、フルシミュレーションを計算するステップ(S10)を含む。フルシミュレーションは状態を含む。この方法はさらに、計算されたフルシミュレーションの縮小モデルを計算するステップ(S20)を含む。縮小モデルは、要素を有する基底を含む。フルシミュレーションの各状態は、基底要素の対応する線形結合によって表される。この方法は、フルシミュレーションの少なくとも1つの状態について、対応する線形結合の一部を表示するステップ(S40)をさらに含む。
【0019】
このような方法は、シミュレーションの表示を改善する。実際、計算されたフルシミュレーションの縮小モデルは、シミュレーションの物理学を捕捉する。これにより、縮小モデルに基づいて関連物理解析を行うことができ、物理的に興味深い結果(対応する形結合の一部)を表示することができる。したがって、シミュレーションディスプレイは、数値精度だけでなく、物理的挙動に基づいて所与の精度レベルを尊重する。また、縮小モデルから得られた各線形結合の一部のみが表示されるため、シミュレーション表示に必要なデータ量を削減することができる。したがって、視覚化データは、所望のネットワーク使用に応じて適応され、低転送速度ネットワークの使用を可能にする。要するに、この方法のシミュレーション表示はネットワーク使用において経済的であり、物理的に正確である。さらに、フルシミュレーションは本方法によって1回、かつ全て計算され、次いで、本方法はフルシミュレーションを再実行することなく、フルシミュレーション、又はその少なくとも一部のみを再生/表示する。この方法はさらに、ビデオ圧縮又は後処理技術、及びそれらの欠点を回避する。
【0020】
この方法は、コンピュータで実施される。これは、該方法のステップ(又は実質的に全てのステップ)が少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ-コンピュータ対話を介して実行され得る。必要とされるユーザ-コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義され得る。
【0021】
方法のコンピュータ実装の典型的な例はこの目的のために適合されたシステム(例えば、コンピュータシステム)を用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインタフェース(GUI)とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分(例えば、プログラムのための部分、及び場合によってはデータ断片ベースのための部分)を備える。
【0022】
図2は、システムがクライアント・コンピュータ・システム、例えばユーザのワークステーションであるシステムの一例を示す。
【0023】
この例のクライアント・コンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアント・コンピュータには、さらに、BUSに接続されたビデオ・ランダム・アクセス・メモリ1100に関連するグラフィカル・プロセッシング・ユニット(GPU)1110が設けられている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含むことができる。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアント・コンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に、又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを備えることができる。
【0024】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記システムに該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データ断片に対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ断片記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ断片及び命令を受信し、それらにデータ断片及び命令を送信するように結合され得る。アプリケーション・プログラムは、高レベルの手続き型又はオブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイル又はインタプリタされた言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。
【0025】
例ではシステムがネットワーク(コンピュータネットワークとも呼ばれる)を介して第2のコンピュータに接続された第1のコンピュータを備え、第1のコンピュータ及び第2のコンピュータはそれぞれ、対応するメモリに結合された対応するプロセッサを備え、対応するメモリは方法を実行するための命令を記録する。例では、第1のコンピュータが
図2のクライアント・コンピュータ・システムである。コンピュータネットワークは、第1のコンピュータ及び第2のコンピュータがワイヤ又は光ケーブル、あるいはワイヤレス媒体などの媒体を介して確立されるデータリンクを使用することによって、リソース、通常はデータを交換することを可能にする。より一般的には、データリンクを提供する任意の電気通信ネットワークを使用することができる。
【0026】
システムは、CADシステム、CAEシステム、CAMシステム、PDMシステム、及び/又はPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化オブジェクトが対応するデータによって定義される。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。拡張によって、表現「モデル化オブジェクト」は、データ自体を指定する。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて言うことができる。しかしながら、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義され得るので、これらのシステムは他のシステムのうちの1つを排他的にするものではない。したがって、システムは以下に提供されるそのようなシステムの定義から明らかになるように、CADシステム及びPLMシステムの両方であってもよい。
【0027】
CADシステムとは、さらに、CATIAのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してCADモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化オブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに格納することができる。CADシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、パーツ当たり1メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には何千ものパーツのアセンブリであり得る。
【0028】
PLMシステムとは、さらに、物理的に製造された製品(又は製造される製品)を表すモデル化オブジェクトの管理に適合された任意のシステムを意味する。したがって、PLMシステムでは、モデル化オブジェクトが物理的オブジェクトの製造に適したデータによって定義される。これらは、典型的には寸法値及び/又は公差値であってもよい。オブジェクトを正確に製造するためには、このような値を有することが実際に好ましい。
【0029】
CAMソリューションとは、さらに、製品の製造データを管理するように適合された任意のソリューション、ハードウェアのソフトウェアを意味する。製造データは一般に、製造する製品、製造工程、及び必要な資源に関するデータを含む。CAMソリューションは製品の製造プロセス全体を計画し、最適化するために使用される。例えば、CAMユーザに、製造プロセスの実現可能性、製造プロセスの継続時間、又は製造プロセスの特定のステップで使用することができる特定のロボットなどのリソースの数に関する情報を提供することができ、したがって、管理又は必要な投資に関する決定を可能にする。CAMは、CADプロセス及び潜在的CAEプロセスの後の後続プロセスである。このようなCAMソリューションは、ダッソーシステムズによってDELMIA(登録商標)の商標で提供されている。
【0030】
CAEソリューションとは、さらに、モデル化オブジェクトの物理的挙動の分析に適合された任意のソリューション、ハードウェアのソフトウェアを意味する。よく知られ、広く使用されているCAE技法は有限要素法(FEM)であり、これは、典型的にはモデル化オブジェクトを、物理的挙動を計算し、式によってシミュレートすることができる要素に分裂することを含む。このようなCAEソリューションは、ダッソーシステムズによって、SIMULIA(登録商標)の商標で提供されている。別の成長するCAE技術は、CADジオメトリデータなしで物理学の異なる分野からの複数の構成要素を構成する複雑なシステムのモデリング及び分析を伴う。CAEソリューションはシミュレーションを可能にし、したがって、製品の最適化、改善、及びバリデーションを製造することを可能にする。このようなCAEソリューションは、ダッソーシステムズによってDYMOLA(登録商標)の商標で提供されている。
【0031】
PDMは、製品データ管理を意味する。PDMソリューションとは、特定の製品に関連するすべてのタイプのデータを管理するように適合された任意のソリューション、ハードウェアのソフトウェアを意味する。PDMソリューションは、製品のライフサイクルに関与するすべての行為者(主にエンジニアだけでなく、プロジェクトマネージャー、ファイナンス担当者、販売担当者、及び購入者も含む)によって使用され得る。PDMソリューションは一般に、製品指向データベースに基づく。それは、行為者が彼らの製品に関する一貫性のあるデータを共有することを可能にし、したがって、行為者が異なるデータを使用することを防ぐ。このようなPDMソリューションは、ダッソーシステムズによってENOVIA(登録商標)という商標で提供されている。
【0032】
この方法は、フルシミュレーションを計算するステップ(S10)を含む。
【0033】
シミュレーションは、エレクトロニクス、電気、機械、電気力学、電気力学、流体力学、重力力学、統計力学、波動物理学、統計物理学、粒子システム、水力システム、量子物理学、地球物理学、天体物理学、化学、空気空間、地磁気、電磁、プラズマ物理学又はCFDなどの物理学の任意の分野からの任意のシミュレーションである。それは、上記の例のリストを含む、任意の物理分野からの任意の物理又は多重物理システムの時間における少なくとも1つの挙動のシミュレーションであってもよい。
【0034】
物理又は多物理システムは少なくとも1つの物理技術分野(物理技術分野の上記の例のうちの1つなど)から少なくとも1つ(すなわち、1つ又は複数)の物理モデルを介して挙動をシミュレートすることができる任意の現実世界システム又は物理的実体である。現実世界のシステム又は物理的実体は、電子製品、電気製品、機械製品、電気機械製品、粒子のシステム、又は電磁製品とすることができる。物理モデルは、電子モデル、電気モデル、機械モデル、統計モデル、粒子モデル、油圧モデル、量子モデル、地質モデル、天文モデル、化学モデル、電磁モデル又は流体モデルであってもよい。物理モデルは、1つ又は複数の微分方程式及び/又は偏微分方程式及び/又は代数方程式などの1つ又は複数の方程式のシステムとすることができる。マルチ物理システムは一般に、それ自体が物理又はマルチ物理システムであり、例えば物理法則によって与えられる物理又は論理関係によって完全に接続されるサブシステムを有する。したがって、マルチ物理システムは機械的関係(例えば、力又は運動を伝達するための接続に対応する)、電気的関係(例えば、回路内の電気的接続に対応する)、油圧関係(例えば、磁束を伝達する伝導に対応する)、論理的関係(例えば、情報の流れに対応する)、流体関係(例えば、流体の流れに対応する)、化学的関係、及び/又は電磁関係などの物理的又は論理的関係によって互いに関連するサブシステムを有する現実世界システム又は任意の物理的実体を表すモデルである。このシステムは、マルチ物理システムの物理的又は論理的関係がいくつかの物理分野に属することができるので、「マルチ物理」と呼ばれる(これは必ずしも必要ではないが)。多重物理システムの一例は、航空機翼と、航空機翼に取り付けられた少なくとも1つの航空機エンジンとを備えるCFDシステムである。
【0035】
物理又は多重物理システムは(例えば、機械的な)部品又は部品のアセンブリ、又はより一般的には任意の剛体アセンブリ(例えば、可動機構)、剛体機構など、その仮想設計の完了後に現実世界で製造される産業製品に対応することができる。CAD及び/又はCAEソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び/又は沖合もしくは輸送を含む、様々な無制限の産業分野における製品の設計を可能にする。したがって、マルチ物理システムは陸上車両(例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモーター機器、トラック及びバス、列車を含む)の一部(又は全体)、航空車両(例えば、機体機器、航空宇宙機器、推進機器、防衛機器、航空機機器、宇宙機器を含む)の一部(又は全体)、海軍車両(例えば、海軍機器、商用船、オフショア機器、ヨット及びワークボート、船舶機器を含む)の一部(又は全体)、機械部品(例えば、産業用製造機械、重機、移動機器、設置機器、産業用機器、加工金属製品、タイヤ製造製品を含む)、電気機械又は電子部品(例えば、家庭用電化製品、セキュリティ及び/又は制御装置及び/又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む)、消費者であり得る産業製品を表す。商品(家具、家庭用品、庭用品、レジャー用品、ファッション用品、ハードグッズ小売業用品、ソフトグッズ小売業用品等)、包装(食品・飲料・たばこ、美容・パーソナルケア、家庭用品包装等)。
【0036】
シミュレーションは、設計が既に行われている、現実世界で製造される少なくとも1つの工業製品のシミュレーションであってもよい。シミュレーションは設計後の少なくとも1つの工業製品の少なくとも1つの挙動(例えば、時間の進展)をシミュレートすることができる。この方法に続いて、この方法によるシミュレーションに続いて、少なくとも1つの工業製品を現実世界で製造することができる。
【0037】
少なくとも1つの物理モデルによってモデル化された物理又は多物理システムをシミュレートすることは、一般に、少なくとも1つの物理モデルを計算すること、及び/又は結果を記憶すること、及び/又は結果を表示することによって、システムの時間的な物理的挙動(例えば、時間的な進化)の近似を計算することを含む。少なくとも1つの物理モデルの計算に先立って、少なくとも1つのグリッド(又はメッシュ)及び/又は少なくとも1つの時間ステップ及び/又は少なくとも1つのシミュレーションパラメータを提供することができる。前記提供は、ユーザのアクションに応じて実行されてもよい。コンピューティングは、一般に(常にではないが)、少なくとも1つのグリッド及び/又は少なくとも1つの時間ステップに従って、少なくとも1つの物理モデルの1つ又は複数の方程式を離散化することを含む。離散化は、任意の公知の数値的方法を用いて行うことができる。
【0038】
シミュレーションは、シミュレーション状態(以下、簡略化のために「状態」と呼ぶ)を含む。状態は与えられた時間における物理システムの物理状態の表現であり、その物理システムの時間における挙動がシミュレーションによってシミュレートされる。例えば、物理状態は、所与の時間における任意の物理量であってもよい。物理量(物理的な量ともいう)は現象、本体、物質の物理的性質であり、測定によって定量化することができる。物理量は長さ、質量、時間、温度、物質の量、輝度、吸収量、角加速度、角運動量、角速度(又は角速度)、面積密度、触媒活性、化学濃度、亀裂、電流等価、電荷密度、電気変位、電界強度、電気伝導度、電気ポテンシャル、電気抵抗、エネルギー密度、エネルギー密度、エネルギー、周波数、燃料効率、半減期、熱容量、熱流束密度、照度、インピーダンス、インダクタンス、照射強度であってもよいが、これらに限定されない。ジャーク、ジョウンス(又はスナップ)、線形粘度、光束(又は光度)、磁場強度、磁束密度、磁化率、密度(又は体積) モル濃度、モルエントロピー、モル濃度、慣性、モル濃度、透過率、透過率、平面角、出力、圧力、ポップ、(放射性)活性、(放射性)線量、(放射線)線量、放射線強度、反応率、屈折率、リラクタンス、固体角、速度、比熱容量、比熱容量、比体積、スペイン、歪み、歪み、表面張力、温度勾配、熱伝導率、トルク、速度、体積、体積流量、波長、波数、波長ベクトル、重量、仕事率、ヤング率。状態は、物理量のベクトルであってもよい。シミュレーションは初期時間及び最終時間と、初期時間と最終時間との間に含まれる少なくとも1つ(すなわち、1つ又は複数)の時間ステップとを含む。各時間ステップには、初期時間及び最終時間を含む1つの状態がある。
【0039】
フルシミュレーションの計算は、全てのシミュレーション結果が計算されることを意味する(個々のシミュレーション結果は、状態を表す情報を含むデータである)。このように、フルシミュレーションを計算することは、全ての状態を全ての時間において表す実質的に全ての情報が計算されることを意味する。フルシミュレーションは、任意の既知の数値的方法及び/又は異なる時間ステップでシミュレーション結果をエクスポートすることができる任意の既存のコンピュータプログラムを使用することによって計算することができる。
図3は、フルシミュレーションの一例を示す図である。フルシミュレーション30は、物理シミュレーションである。フルシミュレーション30は、n個の状態32、34、36を含む。
【0040】
この方法はさらに、計算されたフルシミュレーションの縮小モデルを計算するステップ(S20)を含む。
【0041】
計算されたフルシミュレーションの縮小モデルは、縮小次数モデリング技法を使用することによってシミュレーションから計算されたモデルである。縮小次数モデリング(ROM)は、数学モデルの次元数及び計算の複雑さを低減する技術である。ROM (以下、縮小モデル)は高忠実度シミュレーション(例えば、計算されたフルシミュレーション)から構築され、その後、より低い計算のためのシミュレーションを生成するために使用され得る。ROM法の一例として、Galerkin投写(例えば、Rowley, Clarence W., Tim Colonius, and Richard M. Murray. “Model reduction for compressible flows using POD
and Galerkin projection.” Physica D: Nonlinear Phenomena 189.1-2 (2004): 115-
129.及びBarone, Matthew F., et al. “Reduced order modeling of fluid/structure
interaction.” Sandia National Laboratories Report, SAND No 7189 (2009): 44-72.
)は、流体力学において特に有名である。ガレルキン投影法は流れシミュレーションの次元数を減少させるために適切な直交分解(POD)を使用し、次いで、この減少された空間上の動力学を見つける。これに基づいて構築される他の方法、例えば、縮小基準法及び平衡切捨てがある(例えば、Veroy, K., and A. T. Patera. “Certified real‐time s
olution of the parametrized steady incompressible Navier-Stokes equations: rigorous reduced‐basis a posteriori error bounds.” International Journal for Numer
ical Methods in Fluids 47.8‐9 (2005): 773-788.及びRowley, Clarence W. “Model
reduction for fluids, using balanced proper orthogonal decomposition.” Modelin
g And Computations In Dynamical Systems: In Commemoration of the 100th Anniversary of the Birth of John von Neumann. 2006. 301-317.). 一般的に言えば、ROMは、POD又は単一値分解(SVD)などの技法を使用して、計算されたフルシミュレーションの状態から基底を計算する。この基底は、シミュレーションの主要な構成要素を表す。SVDは、行列を特異ベクトル及び特異値に因数分解する方法を提供する。SVDは固有分解と同じ種類の情報のいくつかを発見することを可能にし、例えば、機械システムの主要な構成要素を表すことができる。また、"Model Order Reduction", Francisco Chinesta, Antonio Huerta, Gianluigi Rozza and Karen Willcox, Encyclopedia of Computational Mechanics, edited by Erwin Stein, Rene de Borst and Thomas J.R. Hughes, 2004も知られている。本方法による縮小モデルの計算は、上記の基準に記載されているものなどのROMの任意の技法を使用する。
【0042】
いずれの場合も、計算された縮小モデルは、要素を有する基底を含む。この基底は、縮小基底と呼ぶことができる。以下、これらの基底要素を基底要素と呼ぶ。計算されたフルシミュレーションの各状態は、基底要素の対応する線形結合によって表される。したがって、対応する線形結合は、それが表す状態の状態表現とも呼ばれる。対応する線形結合は、それが表す状態の縮小状態と呼ばれることもある。言い換えれば、計算されたフルシミュレーションの各状態について、本方法は、この状態の表現を計算する。計算された表現は基底要素が及ぶベクトル空間に属するベクトルであり、基底は前記ベクトル空間のベクトル基底である。基底要素は、計算されたフルシミュレーションから計算された因数分解の構成要素である。基底要素は、モードとも呼ばれる。例では、基底要素がシミュレーションによってシミュレートされる物理システムのエネルギーモードである。各状態表現は、それが表す状態を近似する。
【0043】
基底
【数1】
が、書き込まれてもよい。任意の状態state(t)は以下のように、これらの基底要素の線形結合である状態表現PState(t)によって、時間tにおいて表すことができる。
【数2】
ここで、wiは、状態表現PState(t)を計算するために用いられる各々の基底要素の寄与の重みである。基底要素が線形結合に寄与すると言うことは、その寄与質量が線形結合において非ゼロであると言うことである。基底Bは、経時的に一定に保たれ、質量のみが経時的に変化する。時間的に重みを更新することにより、シミュレーション結果は時間的に進行する。計算されたフルシミュレーションの縮小モデルを計算することは、シミュレーションの最初の時間と最後の時間との間に含まれる時間ステップで全ての時間tにおける基底Bの全ての要素及び全ての質量を計算することを含む。したがって、縮小モデルが計算されると、式(1)を使用することによって、任意の時間ステップtにおける計算されたフルシミュレーションの任意の状態state(t)を表す任意の縮小状態PState(t)が利用可能になる。
【0044】
図4は、縮小モデルの計算例を示す図である。計算は、全シミュレーションのすべての時間ステップにおいて、計算された全シミュレーションの状態40を入力として得る。計算は、計算されたフルシミュレーションの全ての状態40に基づく基底の計算42を含む。
図4の例では、計算された基底が計算されたフルシミュレーションのモード44の基底である。言い換えれば、基底要素は、この例では計算されたフルシミュレーションの因数分解の結果である。スナップショット50、52及び54の3つのスクリーンショットが
図5に示されている。
【0045】
この方法はフルシミュレーションの少なくとも1つ(すなわち、1つ又は複数)の状態について、対応する線形結合の一部を表示するステップ(S40)をさらに含む。したがって、表示は1つの状態に対するものとすることができる。これはまた、例えば時間の反復に従って、同時に又は連続的に表示することができるいくつかの状態のためのものであってもよい。状態を表す対応する線形結合の一部は、状態近似又は完全状態近似と呼ぶことができる。
【0046】
言い換えれば、本方法はフルシミュレーションの少なくとも1つの時間ステップtについて、時間tにおける状態state(t)の状態表現PState(t)を形成する線形結合の一部を表示する。線形結合の一部は、線形結合に寄与する基底要素のサブファミリーが及ぶベクトル空間上への前記線形結合の線形ベクトル投写を意味する。例えば、式(1)によって与えられる、時間ステップtにおける状態state(t)の状態表現PState(t)を得る。PState(t)を形成する線形結合の一部は以下の通りである:
【数3】
ここで、
【数4】
は
【数5】
の非空の部分集合であり、pは正の整数であり、eiは式(1)に関連して考察される基底要素であり、wiは式(1)に関連して考察される各基底要素の寄与の重みである。集合の部分集合はその数学的意味で理解されるべきであり、集合の一部又はすべての集合とすることができる。これらの表記では少なくとも1つの時間ステップtについて、該方法は状態表現PState(t)を形成する対応する線形結合の式(2)によって与えられる部分を表示するという上記の意味がある。本方法はいくつかのより多くの時間ステップ、例えば、同時に又は連続的に、そのような表示を行うことができる。なお、表示される各線形結合の部分に寄与する基底要素が多いほど、表示が正確になり、シミュレーション表示に必要なデータ量が大きくなる。言い換えれば、pが大きいほど、シミュレーションの表示はより正確でコストがかかる。
【0047】
例では、すべてのシミュレーション状態を表す線形結合のいくつかの部分が同時に表示される。これらの例では、完全なシミュレーションがそのいくつかの部分を含む組み合わせに基づいて再構成される。再構成とは、この組合せに基づいて、フルシミュレーションの概算(したがって、データコストがかからない)が作成されることを意味する。再構成されたフルシミュレーションは、ディスプレイにも表示(S40)され得る。
【0048】
例では、基底要素の任意の線形結合が対応するシミュレーション圧縮比及び対応する再構成誤差に関連付けられる。
【0049】
計算された縮小モデルは、シミュレーション表示に使用することができる1組の線形結合を提供する。これらの線形結合の各々は、対応するシミュレーション圧縮比に関連付けられ、したがって、シミュレーション表示に必要なデータ量に直接関連する。圧縮率の値は実際には転送されるデータ量に相当し、データ量が多いほど圧縮率の値は小さくなる。言い換えれば、1つの対応する線形結合の一部を表示することは、シミュレーション表示のために転送されるべきある程度のデータ量を決定することを意味する。
【0050】
また、これらの線形結合の各々は、それぞれの再構成誤差に関連するので、シミュレーション表示の精度に直接関連する。言い換えれば、1つの対応する線形結合の一部を表示することは、シミュレーション表示のある精度、ある品質を固定する/必要とすることを意味する。また、データ量と精度とが関連しているという意味であり、データ量が多いほど精度が良くなり、逆もまた同様である。
【0051】
基底要素の対応する線形結合の対応する再構成誤差は対応する線形結合、又は適切な場合には、対応する線形結合の一部によって形成される状態近似と、状態近似が表し、近似する対応する状態との間の数学的比較である。
【0052】
例では、誤差は以下のように計算される。時間ステップtと、この時間ステップにおける状態state(t)と、式(1)によって与えられるその状態表現PState(t)とを得る。次に、線形結合PState(t)に関連するそれぞれの再構成誤差は、
【数6】
によって与えられる。式中、
【数7】
は任意の適切な既知のノルムである。同様に、(2)式で与えられる線形組み合わせPState(t)の一部をとると、その部分に関連する誤差は
【数8】
となる。式(3)及び(4)のパラメータは式(1)及び(4)を参照して説明したものであり、線形結合における基底要素が多いほど、それぞれの再構成誤差が小さくなり、線形結合の表示結果がより正確になる。
【0053】
対応する線形結合の一部がいくつかの状態について表示される例では、本方法が対応する線形結合のすべての表示された部分に関連するすべての対応する再構成誤差のすべての二乗の合計の計算を含むことができる。計算された合計は、対応する線形結合の全ての表示された部分の共通の誤差を提供する。例えば状態表記PState(t1)、PState(t2)、…、PState(tm)、state(t1)、state(t2)、…、state(tm)が、ステップt1、t2、…、tmで表示されると仮定する。この場合、共通誤差は
【数9】
である。同様に、状態表現PState(t1)、PState(t2)、…、式(2)で与えられるPState(tm)の各部分(t=t1,t2,..,tm)を考えると、共通誤差は以下のとおりである。
【数10】
対応する圧縮比は状態state(t)を表示するために転送されるデータの量と、状態state(t)を近似し、表す状態表現PState(t)を形成する対応する線形結合を表示するために転送されるデータの量との間の比であり、例えば式(1)に従う。適切な場合、対応する圧縮比は状態state(t)を表示するために転送されるデータの量と、PState(t)を形成する対応する線形結合の一部を表示するために転送されるデータの量との間の比であり、例えば、式(2)に従う。線形結合における基底要素が多ければ多いほど、そのそれぞれの再構成誤差は小さくなり、線形結合を表示するために転送されるデータの量は大きくなる。逆に、線形結合における基底要素が少なければ少ないほど、そのそれぞれの再構成誤差は大きくなり、線形結合を表示するために転送されるデータの量は小さくなる。
【0054】
図6は、1つの状態の状態表現を形成する線形結合の異なる対応する部分に関連する異なる再構成誤差を示す。列60は、線形結合の異なる部分に寄与する基底要素の数である。列62には、各部分に関連する対応するシミュレーション誤差が示されている。列64には、線形結合のそれぞれ異なる部分が表示される。列68では、前記1つの状態が比較のために繰り返し表示される。
図6に示すように、部分に寄与する基底要素が多いほど、それぞれの再構成誤差は小さくなり、状態の近似はより正確になる。従って、
図6の例は、再構成時間ステップにおけるモードの数の影響を示す。
【0055】
例では、基底要素は順序付けられる。これらの例では、順序付けられた基底要素の第1の要素が表示される対応する線形結合の部分に寄与する。
【0056】
基底要素を順序付けし、少なくとも第1の要素が線形結合の一部に寄与することを要求することにより、シミュレーション表示の最小精度を保証することができる。
【0057】
基底要素の順序付けは上記のように、基底要素Bが
【数11】
と書けることを意味するが、さらにe1が第1の要素、e2が第2の要素、・・・enが最後の要素であることも意味する。換言すれば、基底要素はインデックス付けされ、インデックス付けは順序を与える。例では、順序がディスプレイの精度と関連付けられ、第1の要素が線形結合の一部分に寄与する唯一の基底要素である場合、線形結合の一部分は第2の基底要素のみが寄与する線形結合の一部分のそれぞれの再構成誤差よりも小さいそれぞれの再構成誤差を有し、第2の基底要素自体が第3の基底要素のみが寄与する線形結合の一部分のそれぞれの再構成誤差よりも小さいそれぞれの再構成誤差を有する、などである。例えば、ステップtにおける状態state(t)が(1)式で与えられるPState(t)で表される場合、
【数12】
であるすべての整数に対し、
【数13】
である。これは、時間ステップtとは無関係に成り立つ。言い換えれば、基底要素の順序は、シミュレーション表示のためのそれらの増分精度に従う。
【0058】
本方法は対応する線形結合の部分の表示(S40)の前に、表示されるべきシミュレーションの1つ又は複数の次の状態について、対応する線形結合の部分に寄与するいくつかの基底要素を選択するステップ(S30)をさらに含むことができる。
【0059】
基底要素の数を選択することは、1つ又は複数の次の状態の表示の精度及びコストの両方に影響を及ぼす。それは、次の状態に対するそれぞれの再構成誤差又はそれぞれのシミュレーション圧縮比を増加又は減少させることができる。すなわち、この選択により、表示の精度と表示のために転送するデータ量の両方を制御することができ、一定の表示精度を確保しつつ、シミュレーション表示に必要なネットワークの制御を行うことができる。
【0060】
基底要素の数を選択するステップ(S30)は、選択するステップ(S30)に関係する任意の線形結合の任意の部分が正確に選択された数である多数の寄与基底要素を特色とすることを意味する。1つ又は複数の次の状態という表現は、本方法によって表示(S40)が実行される少なくとも1つの状態を指す。選択(S30)は、少なくとも1つの状態の1つ、一部、又はすべての状態に対して実行することができるという意味である。例では選択(S30)が少なくとも1つの状態のすべての状態について1回実行され、このことは同じ個数の基底要素が少なくとも1つの状態のそれぞれの状態を表すそれぞれの線形結合のすべての部分に寄与することを意味する。これらの例では、それは寄与する全く同じ基底要素であってもよい。選択(S30)は自動的に、又はユーザのアクションに基づいて実行することができる。
【0061】
例では、基底要素は順序付けられ、第1の基底要素は常に、表示される任意の線形結合の任意の部分に寄与する。これらの例では、要素の数、例えばN個を選択することにより、N個の第1の基底要素が表示される任意の線形結合の任意の部分に寄与することができる。
【0062】
本方法は対応する線形結合の部分の表示(S40)の後に、表示されるべき1つ又は複数の次の状態について、対応する線形結合の部分に寄与する新しい数の基底要素の選択(S50)をさらに含むことができる。それによって、対応する線形結合の新しい部分が、1つ又は複数の状態のそれぞれについて作成される。本方法は、対応する線形結合の新しい部分の表示(S60)をさらに含むことができる。
【0063】
この方法は、累積的であることを意味するインクリメンタルな精度を可能にする。前回の表示(S40)の精度が物理的観点から満たされていない場合には、線形結合の部分に寄与する要素の数を増やして、満足のいく精度に達するようにしてもよい。同様に、この方法は、ネットワークのボトルネックを回避することを可能にする。以前の表示(S40)のために転送されるべきデータの量が、ネットワークのボトルネックを引き起こすか、又は遭遇すると仮定する。次に、線形結合の部分に寄与する要素の数を減らして、ネットワークの使用を容易にし、及び/又は帯域幅の使用を節約することができる。同様に、本方法はシミュレーションを実行するコンピュータシステム上のボトルネックを回避することを可能にし、例えば、シミュレーションは過剰なコンピューティング資源及び/又はメモリを使用し、及び/又はストレージ、バス等のコンピュータシステムの他の要素を圧倒する。線形結合の部分に寄与する要素の数は、コンピュータシステムの使用を減少させるように減少させることができる。
【0064】
なお、新たな番号の選択(S50)は、前回の選択(S30)として行ってもよい。
【0065】
例では、基底要素は順序付けられ、第1の基底要素は常に、表示される任意の線形結合の任意の部分に寄与する。これらの例では前の選択(S30)で選択された要素の数、例えばNはN個の第1の基底要素が表示される任意の線形結合の任意の部分に寄与するという結果をもたらすことができる。新しい数、例えばM個の要素を選択するステップ(S50)は既に寄与しているN個の第1の基底要素から1つ又は複数の基底要素を追加又は除去することを含み、その結果、表示されるべきシミュレーションの1つ又は複数の状態のそれぞれについて、対応する線形結合の新しい部分に今や寄与するのはM個の第1の基底要素である。
【0066】
ここでは、新たな基底要素数の選択(S50)と新たな部分の表示(S60)とを繰り返す(S70)。
【0067】
したがって、この方法は非常に柔軟である。実際、表示された部分に寄与する基底要素の数は、時間中、例えばシミュレーション時間中に修正することができる。従って、シミュレーション表示の精度及びネットワーク使用量を常に更新又は変更することができる。これにより、帯域幅及び/又は使用及び/又は可能なボトルネックをリアルタイムで考慮し、結果としてネットワーク/帯域幅の使用を容易にするように動作しながら(新たな選択を実行することによって(S50))、可能な限り正確なシミュレーション表示が可能になる。特に、本方法はネットワーク/帯域幅の使用の制約を自動的かつリアルタイムで尊重しつつ、例えば、全ての状態の時間シーケンスなどの一連のシミュレーション結果を可能な限り正確に自動的かつリアルタイムで表示するために、自動的に実行されるのに適している。言い換えれば、本方法は、表示精度を利用可能なネットワークに自動的かつリアルタイムで適合させることができる。
【0068】
反復の長さ/持続時間は、予め決定されてもよい。これは、例えば、シミュレーション長さに対応することができる。例では、反復の各増分がシミュレーションの1つの時間ステップに対応する。これらの例では、すべての状態がシミュレーション中の時間におけるそれらの位置の順序で連続的に表示される。シミュレーションの各時間ステップにおいて、この時間ステップの状態を表す線形結合の対応する部分が表示されるという意味である。その結果、状態の近似が、時間の順序で表示される。これは、完全なシミュレーションの近似が連続的に表示され、例えば、シミュレートされた物理システムの時間の進化を見ることを可能にするように、連続的に行われてもよい。
【0069】
各表示(S70)の前に選択(S50)が行われる。反復(S70)は、コンピュータによって自動的に実行されてもよい。例えば、コンピュータは、ネットワーク使用量の測定値をリアルタイムで提供され、次いで、シミュレーション表示のためのデータ量が次の表示が実行されるときにネットワークのボトルネックを引き起こさないように、各選択を実行する(S50)。反復(S70)はまた、コンピュータとのユーザ対話を含んでもよい。例では、ユーザが例えばコンピュータのGUIと対話することによって、反復(S70)の各選択(S50)を実行することができる。次の表示(S70)がユーザに適合しない場合、例えば、ある精度要件に達しない場合、ユーザは、次の選択(S50)を実行して、寄与基底要素の数を増加させることができる。例では、ユーザが各表示(S60)でネットワーク使用量の測定値を提供され、したがって、例えばボトルネックを回避するために、寄与する基底要素の数を増減するように次の選択(S50)を実行することができる。
【0070】
基底要素の任意の線形結合が対応するシミュレーション圧縮比及び対応する再構成誤差に関連付けられる例では、各選択(S50)が表示されるべき1つ又は複数の次の状態に関する対応する線形結合の部分の対応するシミュレーション圧縮比が所与の値に達するように実行され得る。あるいは、各選択(S50)が表示されるべき1つ以上の次の状態に対する対応する線形結合の部分の対応する再構成誤差が所与の値に達するように実行されてもよい。
【0071】
シミュレーション圧縮率又は再構成誤差に到達する値を設定することによって、本方法は、表示精度と転送速度(したがって、ネットワーク使用量)との間のバランスを保証する。
シミュレーション圧縮比(又は再構成誤差)の所与の値は所与の転送速度(又は所与の精度)を保証するように決定される(例えば、ユーザによって予め決定されるか、又は選択される)圧縮比(又は再構成誤差)の値である。
【0072】
シミュレーション圧縮比(又は再構成誤差)の所与の値に到達するために、各選択(S50)は、以下の反復を含む。
-表示されるべき対応する線形結合の1つ又は複数の次の部分の対応するシミュレーション圧縮比(又は再構成誤差)は、寄与基底要素の現在の数に基づいて決定される。
-表示されるべき対応する線形結合の1つ又は複数の次の部分の対応するシミュレーション圧縮比(又は再構成誤差)は、所与の値と比較される。
-表示されるべき対応する線形結合の1つ又は複数の次の部分の対応するシミュレーション圧縮比(又は再構成誤差)が所与の値が実質的に等しくない場合、新しい基底要素の数が選択され(S50)、以下下同様に、表示されるべき1つ又は複数の次の部分の対応するシミュレーション圧縮比(又は再構成誤差)が所与の値に実質的に等しくなるまで繰り返される。
【0073】
例では上記の反復が1つの増分のみを含み、このことは選択された新しい数が表示されるべき対応する線形結合の1つ以上の次の部分の対応するシミュレーション圧縮比(又は再構成誤差)と所与の値との間の実質的な等しさを直接的にもたらすことを意味する。したがって、これらの例では、ワンショット計算で所与の値に達する。所与の値は選択(S50)ごとに同じであってもよいし、方法の実行中に、例えば、ある選択(S50)において、又はそれらの各々において変更されてもよいことを理解されたい。
【0074】
シミュレーション圧縮比の所与の値は、シミュレーションを表示するためにネットワークを介して送信されるデータ量がしきい値未満になるように決定されてもよい。
【0075】
データ量がしきい値未満に留まることを保証することは、優先順位がネットワーク使用に与えられることを意味する。要するに、この方法は、転送可能なデータ量がしきい値によって制限されるという制約を尊重する最大表示精度を提供する。
【0076】
ネットワークは、ネットワークを介して現在転送されているデータの量に対応するネットワーク負荷を有する。ネットワーク負荷は、典型的にはビット/秒で測定される。ネットワーク負荷は少なくとも、シミュレーションを表示するために送信されるシミュレーションのデータを含み、さらに、他のタイプのトラフィックのデータを含むことができる。シミュレーションを表示するためにネットワークを介して送信されるデータ量(例えば、データ量)がしきい値未満に留まることを要求することは対応するネットワーク負荷が所与のネットワーク負荷を超えないことを要求することであり、すべての場合において、シミュレーションを表示するためにネットワークを介して送信されるデータ量に対応するネットワーク負荷はネットワークが負担することができる最大ネットワーク負荷を超えるべきではない。しきい値は、ユーザによって固定されてもよい。しきい値はネットワーク上の測定に基づいてコンピュータによって自動的に決定されてもよく、最大ネットワーク荷重及び現在のネットワーク荷重(例えば、現在のネットワーク使用量が測定される)が測定され、その差はシミュレーションのデータのための利用可能なネットワーク荷重を提供し、しきい値であってもよい。上述したように、圧縮率は、データ量に相当する。したがって、データ量がしきい値未満に留まるという要件は、圧縮比がしきい値に対応するある値を超えて留まることを必要とすることである。シミュレーションを表示する際にネットワークを介して送信されるデータ量がしきい値を超えず、選択(S50)の際に所与の値に達するようにシミュレーション圧縮比の所与の値を決定することは、対応する線形結合の表示された部分のシミュレーション圧縮比の所与の値が、シミュレーションを表示するためのネットワーク負荷が最大ネットワーク負荷に達しないような値であることを意味する。
【0077】
再構成誤差の所与の値は、表示されるシミュレーションの精度が要件に適合するように決定されてもよい。
【0078】
表示精度が要求に適合することを確認することは、表示制度に優先度が与えられることを意味する。つまり、この方法は、表示精度を最大にすることを目的とする。
【0079】
表示精度が要求に適合すると言うことは、表示される部分の誤差(適切な場合には共通誤差)が最大時間ステップ値未満にとどまるということを意味する。実際、その部分の再構成誤差値が大きいほど、部分表示の精度は低くなる。最大誤差値は例えば、ユーザによって予め決定されてもよい。再構成誤差の所与の値は、最大誤差値を設定した結果として、最大誤差値よりも低くなるように決定することができる。したがって、精度の要件は、最大誤差値の関数として設定される。したがって、再構成誤差の所与の値を決定し、所与の値に到達するように選択を実行すること(S50)は、表示されたすべての部分の誤差(適切な場合、共通誤差)が最大誤差値未満に留まることを意味する。
【0080】
例では、所与の値がネットワークを介して送信されるデータの量を最小限に抑えながら、最大精度でシミュレーションを表示するために決定される。
【0081】
所与の値のこのような決定は、精度と転送速度との間のバランスを最適化する。
【0082】
データ量を最小にしつつディスプレイ精度が最大になるように所与の値を決定することは、ネットワークができるだけ広範囲に使用されることを意味する。言い換えれば、ネットワークを介して送信されるデータの量は、ネットワーク負荷が最大ネットワーク負荷に実質的に等しくなるような量である。したがって、最大限の可能な表示精度に達するために送られるデータ量が最小限に抑えられる。基底要素に関しては表示された部分の寄与基底要素の数はできるだけ多いが、ネットワーク負荷が最大ネットワーク負荷に実質的に等しくなるように、圧縮率の到達した所与の値があるという制約を満たすという意味である。
【0083】
例では、しきい値がユーザアクション時に選択されてもよい。
【0084】
例では、要件がユーザアクションに応じて選択されてもよい。
【0085】
したがって、これらの例では、ユーザが表示精度及び/又は帯域幅/ネットワーク使用の制御を有する。
【0086】
選択は方法の初期段階で実行されてもよく、この場合、しきい値又は要件はすべての選択に共通である(S50)。それはまた、方法の実行中の任意の時間に、例えば、必要に応じて、選択(S50)及び表示(S60)の反復の任意の増分で実行することができる。選択はさらに、コンピュータのGUIとのユーザ対話の際に実行されてもよい。
【0087】
ここで、本方法の異なる例を、
図7-10を参照して説明する。
【0088】
図7a及び
図7bは、所与の値に到達するために実行される1つの選択(S50)の例を示す図である。
【0089】
図7aの一例では、シミュレーション圧縮比の所与の値がシミュレーション表示のために転送されるデータ量に対応するネットワーク負荷が最大ネットワーク負荷に等しくなるように決定される。最大ネットワーク負荷はコンピュータによって自動的に、又はユーザアクションに応じて選択することができる。最大ネットワーク負荷は、対応する転送データ量がしきい値未満になるようなものである。表示されるべき対応する線形結合の部分に寄与する現在の基底要素の数の検出70が実行される。検出の結果、各線形結合の部分の各シミュレーション圧縮比が算出され、所定値よりも大きいと判定される。それに応答して、1つ又は複数の寄与基底要素が、部分に寄与するために追加される。新たな対応するネットワーク負荷の計算72が実行される。1つの選択(S50)の間、検出70及び後続の計算72は表示されるべき対応する線形結合の部分の対応するシミュレーション圧縮比が所与の値に達するまで、又は同等に、ネットワーク負荷が最大ネットワーク負荷に達するまで繰り返されてもよい。
【0090】
図7bの第2の例では、再構成誤差の所与の値は、最大誤差値よりも低くなるように決定される。最大誤差値はコンピュータによって自動的に、又はユーザのアクションに応じて選択することができる。所与の値が最大誤差値よりも低いことを要求することは、精度要件に適合することである。表示されるべき対応する線形結合の部分に寄与する現在の基底要素の数の検出74が実行される。対応する線形結合の部分の対応する再構成誤差が計算され、それが所与の値よりも大きいと判定される。それに応答して、1つ又は複数の寄与基底要素が、部分に寄与するために追加される。対応する線形結合の新しい部分の新しい対応する再構成誤差の計算76が実行される。1つの選択(S50)の間、検出74及び後続の計算76は表示されるべき対応する線形結合の部分の対応する再構成誤差が所与の値に達し、したがって最大誤差値よりも小さくなるまで繰り返され得る。シミュレーションディスプレイが精度の要求に適合するという意味である。
【0091】
図8は与えられた値が最良のユーザ体験に従って決定される例を示し、これはシミュレーションがネットワークを介して送信されるデータの量を最小化しながら、最大の精度で表示されることである。具体的には最大精度は80%に等しく、最小限のデータ量はネットワーク使用量が30%に等しくなるようなものである。設定ウィンドウ80がユーザに表示され、ユーザは最良の体験設定86を選択する。ネットワーク使用の視覚的表示82が表示される。視覚的表示82は、ネットワーク使用のステータスバー820と、最良の体験ネットワーク使用が30%であるという視覚的情報822とを含む。精度の視覚的表示84が表示される。視覚的表示84は、精度のステータスバー840と、最良の体験ネットワーク使用が80%であるという視覚的情報842とを含む。この最良の設定は、システムによって自動的に提案されてもよく、精度と転送速度との間の最適なバランスを保証する。
【0092】
図9は、別のユーザが設定を選択した場合の設定ウィンドウ80の別の表示を示す。ユーザは、カスタム精度設定96を選択している。この設定により、ユーザは、精度の要件を選択することができる。精度の視覚的表示90が表示される。これは、精度のステータスバー902と、ステータスバー902上のカーソル904とを含む。要件を選択するために、ユーザは例えば、タッチ又は触覚デバイスを使用してGUIと対話することによって、所望の精度要件に達するまで、ステータスバー902に沿ってカーソル904を移動させる。ユーザがカーソル904を動かすと、再構成誤差の所与の値が自動的に決定され、実際には、既に説明したように、再構成誤差とシミュレーション表示の精度との直接的な関係がある。同時に、この方法は、ユーザによって選択された精度に必要とされるネットワーク使用量の視覚情報92を表示する。視覚表示92は、ネットワーク使用量のステータスバー920と、ユーザの精度要件の選択に対応するネットワーク使用量が5%であるという視覚情報922とを含む。例えば、雑音の多い及び/又は視覚的なポップアップウィンドウのような情報が表示されて、ユーザの精度要件の選択が、ボトルネックを引き起こす可能性がある重要すぎるネットワーク使用をトリガすることをユーザに知らせることができる。これらの例では、情報が精度要件を下げるための提案を含むことができ、おそらく、ネットワーク使用の測定から決定された適切な精度レベルを示す。
【0093】
図10は、別のユーザが設定を選択した場合の設定ウィンドウ80の別の表示を示す。ユーザは、カスタム帯域幅設定106を選択している。この設定により、ユーザは、帯域幅/ネットワーク使用量を選択することができる。
図10の例では、使用を選択することはしきい値を選択することと同等である。ネットワーク使用の視覚的表示100が表示される。これは、ネットワーク使用のステータスバー102と、ステータスバー102上のカーソル104とを含む。使用を選択するために、ユーザは例えば、タッチ又は触覚デバイスを使用してGUIと対話することによって、所望のネットワーク使用に達するまで、ステータスバー102に沿ってカーソル104を移動させる。ユーザがカーソル104を動かすと、シミュレーション圧縮比の所与の値が自動的に決定され、実際には、既に説明したように、再構成誤差とシミュレーション表示の精度との直接的な関係がある。同時に、この方法は、ユーザによって選択された帯域幅使用に必要な表示精度の視覚情報110を表示する。精度の視覚的表示110は、ネットワーク使用のステータスバー112と、ユーザのネットワーク使用の選択に対応する精度が80%であるという視覚的情報114とを含む。システムはユーザの帯域幅使用の要件に適合させるために、精度を自動的に調整することを理解されたい。
【0094】
上記のすべての例において、設定ウィンドウ80の表示及び後続のユーザの選択は方法の初期段階で一度実行することができ、この場合、所与の値は、すべての方法ステップ中に固定されたままであることを理解されたい。また、各表示(S60)の前又は何らかの表示(S60)の前に、設定ウィンドウ80の表示及びその後のユーザの選択を行ってもよい。例では設定ウィンドウが方法の全実行中に表示されてもよく、ユーザは実質的にリアルタイムで1つの設定から別の設定に切り替えてもよい。設定ウィンドウ80の各表示は自動的に、場合によっては、ユーザ要求、例えば、GUIとのユーザ対話に応答して実行することができる。さらに、ウィンドウ80は任意のシミュレーション表示(すなわち、1つ又は複数の表示(S60)に対する)が例えば、シミュレーション表示の隣、上、又は下に設定ウィンドウ80を表示することによって、画面上で完全に見えるように表示されてもよい。設定ウィンドウ80は、ウィジェットであってもよい(又はウィジェットの一部であってもよい)。
【0095】
次に、この方法の別の例を、
図11を参照して説明する。
【0096】
この方法は、オフラインステージ2000及びオンラインステージ2100を含むことができる。オフラインステージ2000は、フルシミュレーション2020を計算すること(S10)を含む。その結果、全ての状態2040が計算される。計算された完全なシミュレーションは、いくつかの用途のために記憶されてもよい。オンライン状態2000は縮小基底2080及び質量の計算2060を含む縮小モデルを計算すること(S20)をさらに含み、計算は、計算されたフルシミュレーション2020の状態2040を入力としてとる。この方法は、オンラインステージ2100をさらに含む。オンラインステージ2100は状態2040、重み、及び縮小基底2080に基づいて、少なくとも1つの縮小状態を形成するステップ2120を含む。オンラインステージ2100はさらに、いくつかの寄与基底要素の選択(S30)を含み、これは、縮小基底2080の対応する適切なサブセットの転送2180をトリガする。オンラインステージ2100は部分集合と少なくとも1つの縮小状態2120とを組み合わせるステップ2140をさらに含み、その結果、少なくとも1つの縮小状態2120に対応する少なくとも1つの完全状態近似2160が表示される(S30)。
【0097】
実施例では、フルシミュレーションの計算(S10)及び計算されたフルシミュレーションの縮小モデルの計算(S20)が第1のコンピュータ上で実行される。これらの例では、他のステップが第2のコンピュータ上で実行される。これらの例では、第1及び第2のコンピュータがネットワークを介して接続されている。第1のコンピュータは完全なシミュレーションを計算するために使用される日付を記憶する記憶装置(例えば、データベース)を含むことができるサーバとすることができる。第2のコンピュータはコンピュータクライアント、例えば、計算されたデスクトップ、ラップトップ、タブレット、スマートフォンなどであってもよい。
【0098】
これらの例では、第1及び第2のコンピュータが
図2によるコンピュータであってもよい。第1及び第2のコンピュータの各最小限の要件は、方法の1つ又は複数のステップを実行するための命令を記憶するメモリに通信可能に結合された中央処理装置(CPU)1010であることを理解されたい。第2のコンピュータは、シミュレーションをユーザに表示するのに適していてもよい。第2は、図の設定ウィンドウ80をユーザに表示するのに適している。7a、7b、8、9及び10。例では、
図11によるオフラインステージ2000及びオンラインステージ2100がそれぞれ、第1のコンピュータ上及び第2のコンピュータ上で実行され得る。