説明

解析結果情報圧縮プログラム、解析結果情報展開プログラム、解析結果情報圧縮プログラムが格納された記憶媒体、解析結果情報展開プログラムが格納された記憶媒体、解析結果情報圧縮装置、解析結果情報展開装置、解析結果情報圧縮方法、および解析結果情報展開方法

【課題】一部の解析結果情報から全体を再計算することが出来ない解析方法において、解析結果情報を完全に保存するためには従来の汎用圧縮方法を適用しても得られる効果が小さかった。本発明では、解析結果に対して予め定めた変換処理を行なって解析結果を効率的に圧縮するプログラムを提供する。
【解決手段】数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込み(S300)、変換情報を生成する(S302)。次いで、変換情報に基づいて数値解析の結果情報を変換し(S306)、変換した数値解析の結果情報を圧縮する(S308)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電磁界解析や熱流体解析などの数値解析により得られる解析結果情報を圧縮および展開するプログラムに関する。
【背景技術】
【0002】
電磁界解析や熱流体解析などを実行する数値解析装置を利用して、電子機器製品の設計の検討、不具合検証などを行なう際は、さまざまな解析条件で解析し、結果を比較する。このため、多量の解析結果を記憶装置に保存する必要がある。このような場合、解析結果を圧縮して保存し、必要なときに展開する解析結果情報圧縮プログラム、解析結果展開プログラムが用いられている。
【0003】
特許文献1に示される圧縮法では、全ての解析結果情報から特徴点を抽出し、その部分の情報を完全に保存する。そのほかの部分については、限られたビット数を割り当てて量子化データを生成する。さらに過去の解析結果のうち同じ量子化データであるものがある場合には、ファイルに保存しないでファイルへの参照を記録することで情報を圧縮している。また、展開時には、不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという、もとの解析方法の性質を利用している。
【特許文献1】特開2003−46391号公報明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1が示す方法は、もとの解析方法に不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという性質がない場合には、完全な情報を高速に復元することは出来ない。このため、そのような場合の解析結果情報圧縮・展開方法として用いることは不可能であった。また、解析結果情報に従来から使われているランレングス法、LZ法などの圧縮方法を適用しても、解析結果分布に不連続な点が多く存在するため、十分な圧縮効果を得ることが出来なかった。
【0005】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、解析結果に対して予め定めた変換処理を行なって解析結果を圧縮するプログラム、またその圧縮した解析結果を展開するプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の1つの局面に従うと、数値解析の結果情報を圧縮する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、演算部が、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として記憶部から読み込むステップと、演算部が、変数依存情報から変換情報を生成するステップと、演算部が、変換情報に基づいて複数の結果情報を変換するステップと、演算部が、変換した結果情報を圧縮するステップと、演算部が、圧縮した結果情報を記憶部に格納するステップとを備える。
【0007】
好ましくは、変換パラメータを生成するステップは、変数依存情報が示す値ごとに識別番号を割り振るステップと、変数依存情報が示す値と識別番号との関連付けを記憶部に変換情報として書き込むステップとを含み、結果情報を変換するステップは、識別番号ごとに、結果情報のうち圧縮対象の値の分布における圧縮対象の代表値を求めるステップと、識別番号と、識別番号ごとに求めた代表値とをそれぞれ関連付け、記憶部に書き込むステップと、代表値と各圧縮対象の値との差分を算出するステップと、識別番号と算出した差分とを関連付けるステップとを含む。
【0008】
好ましくは、変換した結果情報を圧縮するステップは、結果情報の冗長性を利用して圧縮する。
【0009】
好ましくは、変換した結果情報を圧縮するステップは、LZ法によって圧縮する。
好ましくは、圧縮対象の値は、結果情報の指数部である。
【0010】
本発明の他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、演算部が、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを記憶部から読み込むステップと、演算部が、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するステップとを備える。
【0011】
好ましくは、圧縮するときに利用した関連付けは、数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、識別番号と、識別番号ごとに求めた結果情報のうちの圧縮対象の値の代表値とが関連付けられている第1の関連付けとを含み、展開するステップは、圧縮された数値解析の結果情報を、識別番号と、代表値と圧縮対象の値との差分とが関連付けられた第2の関連付けに展開するステップと、第2の関連付けを、第1の関連付けに基づいて、識別番号と圧縮対象の値との関連付けに展開するステップと、識別番号と関連付けられた圧縮対象の値を、逆変換情報に基づいて、結果情報に逆変換するステップとを含む。
【0012】
好ましくは、第2の関連付けに展開するステップは、LZ法によって展開する。
本発明のさらに他の局面に従うと、上記解析結果情報圧縮プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供する。
【0013】
本発明のさらに他の局面に従うと、上記解析結果情報展開プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供する。
【0014】
本発明のさらに他の局面に従うと、数値解析の結果情報を圧縮する処理を実行する解析結果情報圧縮装置であって、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むための手段と、変数依存情報から変換情報を生成するための手段と、変換情報に基づいて複数の結果情報を変換するための手段と、変換した結果情報を圧縮するための手段と、圧縮した結果情報を記憶するための手段とを備える。
【0015】
本発明のさらに他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を実行する解析結果情報展開装置であって、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを読み込むための手段と、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するための手段とを備える。
【0016】
本発明のさらに他の局面に従うと、数値解析の結果情報を圧縮する処理を実行するための解析結果情報展開方法であって、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むステップと、変数依存情報から変換情報を生成するステップと、変換情報に基づいて複数の結果情報を変換するステップと、変換した結果情報を圧縮するステップと、圧縮した結果情報を記憶するステップとを備える。
【0017】
本発明のさらに他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を実行するための解析結果情報圧縮方法であって、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを読み込むステップと、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するステップとを備える。
【発明の効果】
【0018】
本発明によれば、解析結果に対して予め定められた変換処理を行なうことで、解析結果の分布に連続性を持たせることができる。これにより、より高い圧縮効果を得ることができる。また、元の解析方法に不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという性質がない場合においても、完全な解析結果情報を圧縮して保存することが可能になる。これにより、2次記憶装置の記憶容量をより有効に活用することができる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについては詳細な説明は繰り返さない。
【0020】
以下の説明で明らかとなるように、本発明に係る解析結果情報圧縮・展開プログラムでは、解析結果に対して予め定めた変換処理を行なうことで、解析結果の分布に連続性を持たせて圧縮し、またその圧縮した解析結果を展開することができる。
【0021】
(1.本発明のシステム構成)
図1は、本発明に係るプログラムを実行するコンピュータ100の一例を示す概念図である。
【0022】
図1において、解析結果情報圧縮プログラム、および解析結果情報展開プログラムを実行させるためのコンピュータ100は、CD−ROM(Compact Disc Read-Only Memory)等の光ディスク上の情報を読み込むための光ディスクドライブ108およびフレキシブルディスク(Flexible Disk、以下FD)116に情報を読み書きするためのFDドライブ106を備えたコンピュータ本体102と、コンピュータ本体102に接続された表示装置としてのディスプレイ104と、同じくコンピュータ本体102に接続された入力装置としてのキーボード110およびマウス112とを備える。
【0023】
図2は、このコンピュータ100の構成をブロック図形式で示す図である。
図2に示されるように、このコンピュータ100を構成するコンピュータ本体102は、光ディスクドライブ108およびFDドライブ106に加えて、それぞれバス126に接続されたCPU(Central Processing Unit)120と、ROM(Read Only Memory)およびRAM(Random Access Memory)を含むメモリ122と、直接アクセスメモリ装置、たとえば、ハードディスク124と、外部とデータの授受を行なうための通信インターフェイス128とを含んでいる。光ディスクドライブ108にはCD−ROM118が装着される。FDドライブ106にはFD116が装着される。
【0024】
また、ハードディスク124内には、解析対象の物理的性質などを表わす物性情報等が格納された解析対象情報200と、数値解析を実行するプログラム202と、数値解析の結果を圧縮するための解析結果圧縮プログラム204と、圧縮された解析結果を展開するための解析結果展開プログラム206などが格納される。また、解析結果情報を記憶するための記憶領域である解析結果情報208と、解析結果を圧縮した情報などを記憶するための圧縮情報210も含まれる。ここで、たとえば、解析対象情報や解析結果情報については、通信インターフェイス128を介して、外部のデータベースから供給されてもよい。なお、数値解析を実行するプログラム202は、電磁界解析や熱流体解析などの数値解析を行なう。
【0025】
演算処理装置として機能するCPU120は、メモリ122をワーキングメモリとして、上述したプログラムに対応した処理を実行する。ここで、数値解析を実行させるプログラム202を、通信インターフェイス128を介して、外部のCPUに実行させ、その解析結果情報のみを読み込むようにしてもよい。また、解析結果圧縮プログラム204と解析結果展開プログラム206とを別々のCPUに実行させてもよい。
【0026】
なお、CD−ROM118は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、他の媒体、たとえば、DVD−ROM(Digital Versatile Disc)やメモリーカードなどでもよく、その場合は、コンピュータ本体102には、これらの媒体を読み取ることが可能なドライブ装置が設けられる。
【0027】
本発明の解析結果情報圧縮プログラムや解析結果情報展開プログラム(以下、総称して、「解析結果圧縮・展開プログラム」と呼ぶ)は、上述の通り、CPU120により実行されるソフトウェアである。一般的に、こうしたソフトウェアは、CD−ROM118、FD116等の記憶媒体に格納されて流通し、光ディスクドライブ108またはFDドライブ106等により記憶媒体から読み取られてハードディスク124に一旦格納される。または、コンピュータ100がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク124にコピーされる。そうしてさらにハードディスク124からメモリ122中のRAMに読み出されてCPU120により実行される。なお、ネットワーク接続されている場合には、ハードディスク124に格納することなくRAMに直接ロードして実行するようにしてもよい。
【0028】
図1および図2に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、FD116、CD−ROM118、ハードディスク124等の記憶媒体に記憶されたソフトウェアである。
【0029】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼び出して処理を進める方式が一般的である。そうした場合、当該ソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて解析結果圧縮・展開処理が可能になる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記憶媒体(およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号)が実施の形態を構成すると考えることができる。
【0030】
(2.解析結果圧縮・展開方法)
以下、本発明に係る解析結果圧縮・展開方法について説明する。
【0031】
図3は、解析結果を圧縮するための処理の流れについて示したフローチャートである。
図3を参照して、解析結果を圧縮する処理について説明する。
【0032】
まず、ステップS300では、初期化処理として、解析対象である変数が依存する値を「変数依存情報」として入力する。具体的には、解析領域に含まれる構造物の、少なくとも一つの構造パラメータがとる、複数の所定の値をいう。変数が依存する値とは、たとえば、ある変数aを計算するときであれば、変数aを計算するのに用いる計算式に表われる数のことを示す。
【0033】
ステップS302では、変数依存情報の示す値ごとに、識別番号を割り振り、「変換情報」として設定する。この変換情報により、変数依存情報から識別番号がわかる。つまり、変数依存情報と識別番号とが関連付けられている。
【0034】
ステップS304では、数値解析の解析結果情報を読み込む。次いで、ステップS306では、変換情報に基づき、解析結果情報を変換する。ここでは、まず、識別番号ごとに解析結果情報のうちで圧縮対象となる値の分布を求める。その分布から圧縮対象の値の代表値を求める。代表値とは、分布により求めた、圧縮対象の値の中央値や平均値などである。好ましくは、代表値は整数である。その代表値により、ステップS304で読み込んだ解析結果情報を変換する。たとえば、代表値と圧縮対象の値の差をとり、その差と解析結果とを置き換える。
【0035】
ステップS308では、情報圧縮を行なう。ここでは、冗長性を利用した圧縮方法により、ステップS306で変換した解析結果情報を圧縮する。冗長性を利用した圧縮方法には、たとえば、LZ法やランレングス法などがある。ステップS310では、生成した圧縮済み解析結果情報を出力する。
【0036】
ステップS312では、終了判定を行なう。解析結果情報の入力回数が規定された入力回数に達するなど予め定められた終了条件を満たすかどうかを判定する。終了条件が満たされない場合(ステップS312にて、No)には、再び解析結果を入力する(ステップS304)。終了条件が満たされた場合(ステップS312にて、Yes)には、圧縮処理を終了する。
【0037】
以上の処理に従えば、解析結果を圧縮することができる。
図4は、圧縮された解析結果を展開する処理の流れについて示したフローチャートである。
【0038】
図4を参照して、図3で示された処理によって圧縮された解析結果を展開する処理について説明する。
【0039】
ステップS400では、図3で示した解析結果圧縮処理で読み込んだ変数依存情報や変換情報を入力する。
【0040】
ステップS402では、変換情報をもとに、「逆変換情報」を設定する。この逆変換情報により、識別番号から変数依存情報がわかる。つまり、逆変換情報とは、識別番号と変数依存情報とが関連付けられている。
【0041】
ステップS404では、圧縮済み解析結果情報を入力する。ここで、圧縮処理を行なった時に利用した、識別番号と、その識別番号ごとに求めた代表値との関連付けも入力する。
【0042】
ステップS406では、圧縮済み解析結果情報を展開する。これにより、変換された解析結果情報と識別番号とが関連付けられた情報が得られる。そして、ステップS404で入力された、識別番号と代表値との関連付けにより、変換された解析結果情報と識別番号との関連付けを、識別番号ともとの解析結果情報との関連付けに展開する。
【0043】
ステップS408では、ステップS406で得た関連付けから、逆変換情報を利用して解析結果情報に変換する。次いで、ステップS410では、ステップS408で生成した解析結果情報を出力する。
【0044】
ステップS412では、終了判定を行なう。圧縮済み解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定する。終了条件が満たされない場合(ステップS412にて、No)には、再び解析結果を入力する(ステップS404)。終了条件が満たされた場合(ステップS412にて、Yes)には、圧縮処理を終了する。
【0045】
以上の処理に従えば、図3で示した処理によって圧縮された解析結果を展開することができる。
【0046】
(3.コンピュータ100への実装)
以上の本発明である解析結果情報圧縮・展開方法は、以下の手続きによってコンピュータソフトウェアとして実装できる。
【0047】
以下、その手続きについてまとめる。
図5は、図3で示した圧縮処理の流れを具体的に説明するためのフローチャートである。
【0048】
図5を参照して、CPU120が解析結果圧縮プログラム204に従って行なう圧縮処理について説明する。
【0049】
ステップS500では、CPU120は、ハードディスク124内の解析対象情報200から、解析対象である変数が依存する値を変数依存情報として読み込む。具体的には、解析領域に含まれる構造物の、少なくとも一つの構造パラメータがとる、複数の所定の値をいう。この際、キーボード110を介して変数依存情報を入力してもよい。
【0050】
ステップS502では、CPU120は、変換情報を生成する。ここでは、ステップS500で読み込んだ変数依存情報が示す値ごとに、識別番号を割り当てる。この変換情報により、変数依存情報が示す値から識別番号がわかる。つまり、変換情報では、変数依存情報が示す値と識別番号とが関連付けられている。
【0051】
ステップS504では、CPU120は、変換情報をハードディスク124内の圧縮情報210に書き込む。
【0052】
ステップS506では、CPU120は、解析結果情報208から解析結果を読み込む。なお、ここでの解析結果情報は、通信インターフェイス128を介して、外部から読み込んでもよい。
【0053】
ステップS510では、CPU120は、識別番号ごとに、解析結果情報のうちで圧縮対象となる値の中央値を求める。具体的には、以下のようにする。解析領域の各位置には、変換情報で用いた構造パラメータの値が与えられている。つまり、各位置と、変換情報に基づいた識別番号は対応しているため、この識別番号ごとに、各位置での圧縮対象となる値の分布を求めることができる。この分布により、識別番号ごとに代表値を算出する。ここでは、代表値として、中央値を算出する。
【0054】
ステップS512では、CPU120は、識別番号と中央値とのそれぞれを関連付けたテーブルをハードディスク124内の圧縮情報210に書き込む。
【0055】
ステップS514では、CPU120は、中央値と圧縮対象となる値との差を、補正値とする。この補正した値と識別番号とを関連付けて出力する。
【0056】
ステップS516では、CPU120は、情報の圧縮処理を行なう。具体的には、ステップS514で補正した値と識別番号との関連付けをLZ法などにより圧縮する。LZ法は、情報がもつパターンの冗長性を利用した圧縮方法である。パターンを構成する符号の種類が偏ることにより、効率的な圧縮を行なうことが出来る。ステップS514で、補正した値は、ゼロに近い値に偏る。この偏りのため、効率的な圧縮が行なわれる。
【0057】
ステップS518では、CPU120は、圧縮した情報をハードディスク124内の圧縮情報210に書き込む。
【0058】
ステップS520では、CPU120は終了判定を行なう。CPU120が、解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、CPU120が、終了条件が満たされないと判断した場合(ステップS520にて、No)には、再び解析結果を入力する(ステップS506)。終了条件が満たされたと判断した場合(ステップS520にて、Yes)には、圧縮処理を終了する。
【0059】
以上のような処理を行なえば、コンピュータ100は、解析結果情報を圧縮することができる。
【0060】
図6は、図4で示した展開処理の流れを具体的に説明するためのフローチャートである。
【0061】
図6を参照して、CPU120が解析結果展開プログラム206に従って行なう展開処理について説明する。
【0062】
ステップS600では、CPU120は、圧縮処理の際にハードディスク124内に書き込まれた圧縮情報210から、ステップS500で読み込んだ変数依存情報や変換情報などの情報を読み込む。
【0063】
ステップS602では、CPU120は、ステップS600で読み込んだ情報を基に、逆変換情報を生成する。この逆変換情報により、識別番号から変数依存情報の示す値がわかる。
【0064】
ステップS604では、CPU120は、ハードディスク124内の圧縮情報210から、圧縮済みの解析結果情報を読み込む。なお、この際、解析結果情報を圧縮するときに圧縮情報210に書き込まれた関連付けも読み込む。
【0065】
ステップS608では、CPU120は、LZ法などにより圧縮済み解析結果情報を展開する。これにより、ステップS514で変換した、変換済み解析結果情報が得られる。
【0066】
ステップS610では、CPU120は、ステップS604で読み込んだ、識別番号と中央値との関連付けに基づいて、ステップS608で得た情報を展開する。これにより、もとの解析結果情報が得られる。
【0067】
ステップS612では、CPU120は、ステップS610で得られた解析結果情報を出力する。
【0068】
ステップS614では、CPU120は終了判定を行なう。CPU120が、解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、CPU120が、終了条件が満たされないと判断した場合(ステップS614にて、No)には、再び解析結果を入力する(ステップS604)。終了条件が満たされたと判断した場合(ステップS614にて、Yes)には、圧縮処理を終了する。
【0069】
以上のような処理を行なえば、コンピュータ100は、解析結果圧縮プログラム204によって圧縮された解析結果情報を展開することができる。
【0070】
(4.解析結果情報を圧縮・展開した例)
以下に、本発明の解析結果情報圧縮・展開プログラムを利用した例を示す。
【0071】
(4.1 解析結果情報を圧縮した例)
図7は、解析実行中に解析結果の圧縮を行なう処理の流れを示すフローチャートである。
【0072】
図7を参照して、解析を実行する場面において、本発明に係る解析結果情報圧縮プログラムによって解析結果を逐次圧縮しながら、2次記憶媒体への記録を行なう処理について説明する。ここでは、その例として、回路基板を対象にFDTD(Finite Differential Time Domain)法を用いた時間領域の電磁界解析を行ない、その解析結果を圧縮する。
【0073】
FDTD法は、マクスウェルの電磁界方程式を差分化することによって数値計算する方法である。まず、解析領域を格子で分割し、格子の各辺の中心に電界、各面の中心に磁界を配置する、いわゆるYee格子という構造を取る。そして、マクスウェルの方程式を差分化すると、電界・磁界は、空間的に半セル、時間的に半タイムステップずらした位置に配置される。ここで、求めたい未知電界、未知磁界と隣接する1タイムステップ前の既知電界、既知磁界の間に働く関係式を電磁気学に基づくマクスウェル方程式から導くと次の式(1)および(2)のようになる。
【0074】
【数1】

【0075】
なお、式中で太字は、当該変数がベクトルであることを示す。
式(1)はnタイムステップの電界E(ベクトル)、式(2)は(n+1/2)タイムステップの磁界H(ベクトル)についての関係式である。ただし、Δt,μ,ε,σは、それぞれ、タイムステップ、透磁率、誘電率、導電率とする。
【0076】
これらをもとに未知電界、未知磁界をあるタイムステップΔtを単位に更新していくことで、解析領域全体の電磁界挙動を時間領域で求めることができる。このため、1つの条件で解析を行なう場合でも、複数の時間における電磁界分布が解析結果として得られる。
【0077】
本発明の解析結果圧縮プログラムでは、ある時間における電磁界分布を単位として圧縮する。したがって、FDTDによる解析実行中にも、解析結果を出力するタイミングが来るたびに、圧縮処理を行なう。なお、解析結果を出力するタイミングとは、解析プログラムに与えられる解析結果出力指定によって決定される。指定条件としては、たとえば、解析時刻が0から1ナノ秒までで、0.1ナノ秒ごとに出力するなどである。
【0078】
以下に、FDTDを実行する場面において、解析結果を逐次圧縮しながら、2次記憶媒体への記録を行なう処理について説明する。なお、ここでは、z方向の電界変数E(以下、変数Eと呼ぶ)のxy平面上の2次元的な分布を圧縮する。具体的には、変数Eの単精度浮動小数点の指数部についてLZ法により圧縮する。また、変数依存情報として、電界変数の存在する位置での導電率を用い、圧縮対象の分布の代表値として、中央値を用いる。
【0079】
まず、ステップS700では、FDTDの初期化を行なう。ここでは、解析条件などを読み込む。解析条件とは、解析対象をセル分割するために必要な格子セルの寸法、解析時間、解析領域内の電界、磁界の初期値、電圧の初期値、解析領域内に配置されている誘電体、導体の座標値、物性値などである。
【0080】
図8は、FDTDに与えられたセル媒質の分布を表わす図である。
図8を参照して、FDTDに与えられるセル媒質の分布を説明する。図8に示すように、FDTDを実行するために、解析領域はセル分割される。セル80は、誘電体を含み、セル82は、導体セルを含む。
【0081】
図7に戻って、ステップS702では、変数依存情報を設定する。ここでは、上述したように、電界変数の存在する位置での導電率を設定する。
【0082】
図9は、図8のセル媒質分布をもとに、変数Eの存在する位置での導電率を補間法により求めた、変数Eの依存する導電率の分布を示す図である。
【0083】
図9を参照して、変数依存情報について説明する。図9では、誘電体内部90、導体内部92、誘電体・導体の境界部分94,96を示している。また、隣接するセルには順に番号が割り当てられている。セル1,2,10は誘電体内部、セル3から5,7から9は誘電体・導体境界部分、セル6は導体内部を示している。変数Eを計算するためには、図9に示すような、誘電体内部90、導体内部92、誘電体・導体の境界部分94,96の導電率が必要となってくる。ステップS702では、これらの導電率が変数Eの変数依存情報として設定される。なお、誘電体内部90の導電率はゼロ、導体内部92の導電率は5.7e7(S/m)、誘電体・導体の境界部分94の導電率は1.425e7(S/m)、誘電体・導体の境界部分96の導電率は2.85e7(S/m)である。
【0084】
図7に戻って、ステップS704では、ステップS702で設定した変数依存情報に従って、変換情報を生成する。さらに、変換情報を2次記憶媒体に書き込む。
【0085】
【表1】

【0086】
表1は、ステップS702で変数依存情報として与えられた導電率と、導電率の値ごとに割り振られる識別番号(以下、IDと呼ぶ)とを関連付けた表である。導電率と、導電率の値ごとに割り振ったIDとの関連付けを変換情報とする。
【0087】
図7に戻って、ステップS706では、FDTDを実行する。
ステップS708では、解析結果を出力するタイミングであるかどうかを判断する。解析結果を出力するタイミングは、上述したように、入力された条件によって指定できる。解析結果を出力するタイミングでなければ(ステップS708にて、No)、ステップS716へ進む。出力するタイミングであれば(ステップS708にて、Yes)、解析結果情報を変換する(ステップS710)。
【0088】
ステップS710では、解析結果を圧縮する。解析結果として、次のような表が与えられる。
【0089】
【表2】

【0090】
表2は、図9で示されるセル1から10での変数Eの値を解析結果として表わした表である。この表では、各セルの導電率と、その導電率に対応するID、および、解析結果情報を単精度浮動小数点表現で表わしたときの指数部の値とが関連付けられている。ただし、指数部の値は16進数表現となっている。
【0091】
図10は、浮動小数点数フォーマットを示す図である。
図10を参照して、IEEE(Institute of Electrical and Electronics Engineers)規格の浮動小数点数フォーマットの説明をする。図10において、0から22までの23ビットは、小数表現の仮数部fを示す。23から30までの8ビットは、指数部eを示す。31は、符号部sを示す。これらにより、IEEE規格に基づく単精度(32ビット)で表現される値は、(−1)e−127(1.f)である。本例では、解析結果を上記で説明した単精度浮動小数点表現で表わしたときの指数部eについて圧縮する。
【0092】
図7のステップS710に戻る。ここでは、まず、IDごとに、圧縮対象となる指数部の値の分布、具体的には、最大値Max(ID)および最小値Min(ID)を求める。これら値から、以下の式(3)により、IDごとの指数値の代表値を求める。ここでは、この代表値を中央値Mid(ID)としている。ただし、値を整数にするため、余りは切り捨てる。
【0093】
Mid(ID)=(Max(ID)+Min(ID))/2…(3)
IDと、以上より求めた中央値Mid(ID)とを関連付けて出力する。さらに、この関連付けを2次記憶媒体に書き込む。
【0094】
【表3】

【0095】
表3は、ID0から2について、中央値Mid(ID)を求めた例を示す表である。式(3)に従って、最小値Min(ID)、最大値Max(ID)から中央値Mid(ID)が求められていることが分かる。
【0096】
次に、圧縮対象となる指数部の値について、以下の式(4)に従って変換する。
(変換した指数部の値)=(指数部の値)−Mid(ID)…(4)
そして、セル、ID、および変換した指数部の値を関連付ける。
【0097】
【表4】

【0098】
表4は、表2で示したセル1から10について、式(4)に従って、計算した結果を示した表である。表4で示されるように、圧縮対象の指数部の値がゼロに近い値に偏る。
【0099】
ステップS712では、表4で示されるような、セル、ID、および変換した指数部の値の関連付けに対して、LZ法により圧縮する。
【0100】
ステップS714では、圧縮した解析結果情報を2次記憶媒体に書き込む。
ステップS716では、終了判定を行なう。解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、終了条件が満たされなければ(ステップS716にて、No)、解析時刻を更新する(ステップS718)。終了条件が満たされれば(ステップS716にて、Yes)。
【0101】
以上のようにすれば、FDTDを実行する場面において、本発明に係る解析結果圧縮プログラムは、解析結果を逐次圧縮しながら、2次記憶媒体への記録を行なうことができる。
【0102】
【表5】

【0103】
表5は、実際の解析結果情報に対して、本発明の解析結果情報圧縮プログラムを適用して圧縮した際の入出力データサイズを示した表である。
【0104】
圧縮前のデータサイズ33150に対して、圧縮後の平均データサイズは8106.394となっている。これにより、表5に示すような平均圧縮率で圧縮されたことが分かる。
【0105】
(4.2 圧縮された解析結果情報を展開した例)
図11は、解析結果の分析を行なう際に、圧縮された解析結果情報を逐次展開して表示する処理の流れを示すフローチャートである。
【0106】
図11を参照して、解析結果の分析を行なう際に、本発明に係る解析結果展開プログラムが、2次記憶に圧縮して保存された解析結果情報を逐次読み出して展開し、それを表示装置に表示させる処理について説明する。なお、解析結果情報は、上記の(4.1)で説明したようにして、圧縮され2次記憶に保存されているものとする。また、ここでは、表示装置に表示するために展開する処理について説明するが、本発明の解析結果情報から、後処理的な分析計算をするために展開するなどにも利用できる。
【0107】
ステップS1100では、表示装置の初期化を行なう。
ステップS1102では、変数依存情報の設定を行なう。ここでは、図7のステップS702で設定された変数依存情報を読み込む。
【0108】
ステップS1104では、逆変換情報を生成する。ここでは、図7のステップS704で生成した変換情報に基づいて、生成する。逆変換情報により、IDから、変数依存情報が分かる。
【0109】
ステップS1106では、表示条件を設定する。表示条件とは、たとえば、解析時刻などである。
【0110】
ステップS1108では、図7のステップS714で2次記憶媒体に書き込まれた圧縮済み解析結果を読み込む。この際、ステップS712で求めた、IDとIDごとに求めた中央値との関連付けも読み込む。
【0111】
ステップS1110では、ステップS1108で読み込んだ情報を、LZ法で展開する。これにより、セル、ID、および変換した指数部の値が関連付けられた情報が得られる。
【0112】
ステップS1112では、IDとIDごとに求めた中央値との関連付けにより、ステップS1110で得た情報から、もとの指数部の値を求める。これにより、もとの解析結果情報を出力する。
【0113】
ステップS1114では、表示装置にステップS1112で得たもとの解析結果情報とともに、表示条件で設定された情報などを表示する。
【0114】
ステップS1116では、終了判定を行なう。解析結果情報の表示回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、終了条件が満たされなければ(ステップS1116にて、No)、表示条件を更新する(ステップS1118)。終了条件が満たされれば(ステップS1116にて、Yes)、処理を終了する。
【0115】
以上のようにすれば、解析結果の分析を行なう際に、本発明に係る解析結果展開プログラムは、2次記憶に圧縮して保存された解析結果情報を逐次読み出して展開し、それを表示装置に表示させることができる。
【0116】
上記で説明したように、本発明に係る解析結果情報圧縮・展開プログラムでは、数値解析の解析結果を圧縮して保存することができる。また、その圧縮した解析結果を展開することができる。これにより、同容量の記憶領域で比較した場合、圧縮していない解析条件を記憶するときよりも、より多くの解析条件での結果を保存することができる。また、より多くの解析条件での結果を展開することができる。従って、電磁界解析や熱流体解析などの数値解析を利用して、電磁気既製品の設計の検討、不具合検証などを行なう場合、同容量の記憶領域で比較したときに、より多くの解析条件を保存して検討・検証に用いることができる。
【0117】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0118】
【図1】本発明に係るプログラムを実行するコンピュータ100の一例を示す概念図である。
【図2】このコンピュータ100の構成をブロック図形式で示す図である。
【図3】解析結果を圧縮するための処理の流れについて示したフローチャートである。
【図4】圧縮された解析結果を展開する処理の流れについて示したフローチャートである。
【図5】図3で示した圧縮処理の流れを具体的に説明するためのフローチャートである。
【図6】図4で示した展開処理の流れを具体的に説明するためのフローチャートである。
【図7】解析実行中に解析結果の圧縮を行なう処理の流れを示すフローチャートである。
【図8】FDTDに与えられたセル媒質の分布を表わす図である。
【図9】図8のセル媒質分布をもとに、変数Eの存在する位置での導電率を補間法により求めた、変数Eの依存する導電率の分布を示す図である。
【図10】浮動小数点数フォーマットを示す図である。
【図11】解析結果の分析を行なう際に、圧縮された解析結果情報を逐次展開して表示する処理の流れを示すフローチャートである。
【符号の説明】
【0119】
80,82 セル、90 誘電体内部、92 導体内部、94,96 誘電体・導体境界部分、100 コンピュータ、102 コンピュータ本体、104 ディスプレイ、106 FDドライブ、108 光ディスクドライブ、110 キーボード、112 マウス、116 FD、118 CD−ROM、120 CPU、122 メモリ、124 ハードディスク、126 バス、128 通信インターフェイス、200 解析対象情報、202 解析を実行するプログラム、204 解析結果圧縮プログラム、206 解析結果展開プログラム、208 解析結果情報、210 圧縮情報。

【特許請求の範囲】
【請求項1】
数値解析の結果情報を圧縮する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、
前記演算部が、前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として前記記憶部から読み込むステップと、
前記演算部が、前記変数依存情報から変換情報を生成するステップと、
前記演算部が、前記変換情報に基づいて複数の前記結果情報を変換するステップと、
前記演算部が、前記変換した結果情報を圧縮するステップと、
前記演算部が、前記圧縮した結果情報を前記記憶部に格納するステップとを備える、解析結果情報圧縮プログラム。
【請求項2】
前記変換パラメータを生成するステップは、
前記変数依存情報が示す値ごとに識別番号を割り振るステップと、
前記変数依存情報が示す値と前記識別番号との関連付けを前記記憶部に前記変換情報として書き込むステップとを含み、
前記結果情報を変換するステップは、
前記識別番号ごとに、前記結果情報のうち圧縮対象の値の分布における前記圧縮対象の代表値を求めるステップと、
前記識別番号と、前記識別番号ごとに求めた前記代表値とをそれぞれ関連付け、前記記憶部に書き込むステップと、
前記代表値と各前記圧縮対象の値との差分を算出するステップと、
前記識別番号と前記算出した差分とを関連付けるステップとを含む、請求項1記載の解析結果情報圧縮プログラム。
【請求項3】
前記変換した結果情報を圧縮するステップは、前記結果情報の冗長性を利用して圧縮する、請求項2記載の解析結果情報圧縮プログラム。
【請求項4】
前記変換した結果情報を圧縮するステップは、LZ法によって圧縮する、請求項3記載の解析結果情報圧縮プログラム。
【請求項5】
前記圧縮対象の値は、前記結果情報の指数部である、請求項4記載の解析結果情報圧縮プログラム。
【請求項6】
圧縮された数値解析の結果情報を展開する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、
前記演算部が、前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを前記記憶部から読み込むステップと、
前記演算部が、前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するステップとを備える、解析結果情報展開プログラム。
【請求項7】
前記圧縮するときに利用した関連付けは、
前記数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、前記変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、
前記識別番号と、前記識別番号ごとに求めた前記結果情報のうちの圧縮対象の値の代表値とが関連付けられている第1の関連付けとを含み、
前記展開するステップは、
前記圧縮された数値解析の結果情報を、前記識別番号と、前記代表値と圧縮対象の値との差分とが関連付けられた第2の関連付けに展開するステップと、
前記第2の関連付けを、前記第1の関連付けに基づいて、前記識別番号と前記圧縮対象の値との関連付けに展開するステップと、
前記識別番号と関連付けられた前記圧縮対象の値を、前記逆変換情報に基づいて、結果情報に逆変換するステップとを含む、請求項6記載の解析結果情報展開プログラム。
【請求項8】
前記第2の関連付けに展開するステップは、LZ法によって展開する、請求項7記載の解析結果情報展開プログラム。
【請求項9】
請求項1記載の解析結果情報圧縮プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項10】
請求項6記載の解析結果情報展開プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項11】
数値解析の結果情報を圧縮する処理を実行する解析結果情報圧縮装置であって、
前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むための手段と、
前記変数依存情報から変換情報を生成するための手段と、
前記変換情報に基づいて複数の前記結果情報を変換するための手段と、
前記変換した結果情報を圧縮するための手段と、
前記圧縮した結果情報を記憶するための手段とを備える、解析結果情報圧縮装置。
【請求項12】
圧縮された数値解析の結果情報を展開する処理を実行する解析結果情報展開装置であって、
前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを読み込むための手段と、
前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するための手段とを備える、解析結果情報展開装置。
【請求項13】
数値解析の結果情報を圧縮する処理を実行するための解析結果情報展開方法であって、
前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むステップと、
前記変数依存情報から変換情報を生成するステップと、
前記変換情報に基づいて複数の前記結果情報を変換するステップと、
前記変換した結果情報を圧縮するステップと、
前記圧縮した結果情報を記憶するステップとを備える、解析結果情報圧縮方法。
【請求項14】
圧縮された数値解析の結果情報を展開する処理を実行するための解析結果情報圧縮方法であって、
前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを読み込むステップと、
前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するステップとを備える、解析結果情報展開方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate