(57)【特許請求の範囲】
【請求項１】
数値解析の結果情報を圧縮する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、
前記演算部が、前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として前記記憶部から読み込むステップと、
前記演算部が、前記変数依存情報から変換情報を生成するステップと、
前記演算部が、前記変換情報に基づいて複数の前記結果情報を変換するステップと、
前記演算部が、前記変換した結果情報を圧縮するステップと、
前記演算部が、前記圧縮した結果情報を前記記憶部に格納するステップとを備える、解析結果情報圧縮プログラム。
【請求項２】
前記変換パラメータを生成するステップは、
前記変数依存情報が示す値ごとに識別番号を割り振るステップと、
前記変数依存情報が示す値と前記識別番号との関連付けを前記記憶部に前記変換情報として書き込むステップとを含み、
前記結果情報を変換するステップは、
前記識別番号ごとに、前記結果情報のうち圧縮対象の値の分布における前記圧縮対象の代表値を求めるステップと、
前記識別番号と、前記識別番号ごとに求めた前記代表値とをそれぞれ関連付け、前記記憶部に書き込むステップと、
前記代表値と各前記圧縮対象の値との差分を算出するステップと、
前記識別番号と前記算出した差分とを関連付けるステップとを含む、請求項１記載の解析結果情報圧縮プログラム。
【請求項３】
前記変換した結果情報を圧縮するステップは、前記結果情報の冗長性を利用して圧縮する、請求項２記載の解析結果情報圧縮プログラム。
【請求項４】
前記変換した結果情報を圧縮するステップは、ＬＺ法によって圧縮する、請求項３記載の解析結果情報圧縮プログラム。
【請求項５】
前記圧縮対象の値は、前記結果情報の指数部である、請求項４記載の解析結果情報圧縮プログラム。
【請求項６】
圧縮された数値解析の結果情報を展開する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、
前記演算部が、前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを前記記憶部から読み込むステップと、
前記演算部が、前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するステップとを備え、
前記圧縮するときに利用した関連付けは、
前記数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、前記変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、
前記識別番号と、前記識別番号ごとに求めた前記結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、
前記展開するステップは、
前記圧縮された数値解析の結果情報を、前記識別番号と、前記代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するステップと、
前記第２の関連付けを、前記第１の関連付けに基づいて、前記識別番号と前記圧縮対象の値との関連付けに展開するステップと、
前記識別番号と関連付けられた前記圧縮対象の値を、前記逆変換情報に基づいて、結果情報に逆変換するステップとを含む、解析結果情報展開プログラム。
【請求項７】
前記第２の関連付けに展開するステップは、ＬＺ法によって展開する、請求項６記載の解析結果情報展開プログラム。
【請求項８】
請求項１記載の解析結果情報圧縮プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項９】
請求項６記載の解析結果情報展開プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項１０】
数値解析の結果情報を圧縮する処理を実行する解析結果情報圧縮装置であって、
前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むための手段と、
前記変数依存情報から変換情報を生成するための手段と、
前記変換情報に基づいて複数の前記結果情報を変換するための手段と、
前記変換した結果情報を圧縮するための手段と、
前記圧縮した結果情報を記憶するための手段とを備える、解析結果情報圧縮装置。
【請求項１１】
圧縮された数値解析の結果情報を展開する処理を実行する解析結果情報展開装置であって、
前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを読み込むための手段と、
前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するための手段とを備え、
前記圧縮するときに利用した関連付けは、
前記数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、前記変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、
前記識別番号と、前記識別番号ごとに求めた前記結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、
前記展開するための手段は、
前記圧縮された数値解析の結果情報を、前記識別番号と、前記代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するための手段と、
前記第２の関連付けを、前記第１の関連付けに基づいて、前記識別番号と前記圧縮対象の値との関連付けに展開するための手段と、
前記識別番号と関連付けられた前記圧縮対象の値を、前記逆変換情報に基づいて、結果情報に逆変換するための手段とを含む、解析結果情報展開装置。
【請求項１２】
数値解析の結果情報を圧縮する処理を実行するための解析結果情報展開方法であって、
前記数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むステップと、
前記変数依存情報から変換情報を生成するステップと、
前記変換情報に基づいて複数の前記結果情報を変換するステップと、
前記変換した結果情報を圧縮するステップと、
前記圧縮した結果情報を記憶するステップとを備える、解析結果情報圧縮方法。
【請求項１３】
圧縮された数値解析の結果情報を展開する処理を実行するための解析結果情報圧縮方法であって、
前記圧縮された数値解析の結果情報と前記結果情報を圧縮するときに利用した関連付けとを読み込むステップと、
前記圧縮するときに利用した関連付けを用いて前記圧縮された数値解析の結果情報を展開するステップとを備え、
前記圧縮するときに利用した関連付けは、
前記数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、前記変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、
前記識別番号と、前記識別番号ごとに求めた前記結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、
前記展開するステップは、
前記圧縮された数値解析の結果情報を、前記識別番号と、前記代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するステップと、
前記第２の関連付けを、前記第１の関連付けに基づいて、前記識別番号と前記圧縮対象の値との関連付けに展開するステップと、
前記識別番号と関連付けられた前記圧縮対象の値を、前記逆変換情報に基づいて、結果情報に逆変換するステップとを含む、解析結果情報展開方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電磁界解析や熱流体解析などの数値解析により得られる解析結果情報を圧縮および展開するプログラムに関する。
【背景技術】
【０００２】
電磁界解析や熱流体解析などを実行する数値解析装置を利用して、電子機器製品の設計の検討、不具合検証などを行なう際は、さまざまな解析条件で解析し、結果を比較する。このため、多量の解析結果を記憶装置に保存する必要がある。このような場合、解析結果を圧縮して保存し、必要なときに展開する解析結果情報圧縮プログラム、解析結果展開プログラムが用いられている。
【０００３】
特許文献１に示される圧縮法では、全ての解析結果情報から特徴点を抽出し、その部分の情報を完全に保存する。そのほかの部分については、限られたビット数を割り当てて量子化データを生成する。さらに過去の解析結果のうち同じ量子化データであるものがある場合には、ファイルに保存しないでファイルへの参照を記録することで情報を圧縮している。また、展開時には、不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという、もとの解析方法の性質を利用している。
【特許文献１】特開２００３−４６３９１号公報明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１が示す方法は、もとの解析方法に不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという性質がない場合には、完全な情報を高速に復元することは出来ない。このため、そのような場合の解析結果情報圧縮・展開方法として用いることは不可能であった。また、解析結果情報に従来から使われているランレングス法、ＬＺ法などの圧縮方法を適用しても、解析結果分布に不連続な点が多く存在するため、十分な圧縮効果を得ることが出来なかった。
【０００５】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、解析結果に対して予め定めた変換処理を行なって解析結果を圧縮するプログラム、またその圧縮した解析結果を展開するプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の１つの局面に従うと、数値解析の結果情報を圧縮する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、演算部が、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として記憶部から読み込むステップと、演算部が、変数依存情報から変換情報を生成するステップと、演算部が、変換情報に基づいて複数の結果情報を変換するステップと、演算部が、変換した結果情報を圧縮するステップと、演算部が、圧縮した結果情報を記憶部に格納するステップとを備える。
【０００７】
好ましくは、変換パラメータを生成するステップは、変数依存情報が示す値ごとに識別番号を割り振るステップと、変数依存情報が示す値と識別番号との関連付けを記憶部に変換情報として書き込むステップとを含み、結果情報を変換するステップは、識別番号ごとに、結果情報のうち圧縮対象の値の分布における圧縮対象の代表値を求めるステップと、識別番号と、識別番号ごとに求めた代表値とをそれぞれ関連付け、記憶部に書き込むステップと、代表値と各圧縮対象の値との差分を算出するステップと、識別番号と算出した差分とを関連付けるステップとを含む。
【０００８】
好ましくは、変換した結果情報を圧縮するステップは、結果情報の冗長性を利用して圧縮する。
【０００９】
好ましくは、変換した結果情報を圧縮するステップは、ＬＺ法によって圧縮する。
好ましくは、圧縮対象の値は、結果情報の指数部である。
【００１０】
本発明の他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を、演算部、および記憶部を有するコンピュータに実行させるためのプログラムであって、演算部が、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを記憶部から読み込むステップと、演算部が、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するステップとを備える。
【００１１】
好ましくは、圧縮するときに利用した関連付けは、数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、識別番号と、識別番号ごとに求めた結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、展開するステップは、圧縮された数値解析の結果情報を、識別番号と、代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するステップと、第２の関連付けを、第１の関連付けに基づいて、識別番号と圧縮対象の値との関連付けに展開するステップと、識別番号と関連付けられた圧縮対象の値を、逆変換情報に基づいて、結果情報に逆変換するステップとを含む。
【００１２】
好ましくは、第２の関連付けに展開するステップは、ＬＺ法によって展開する。
本発明のさらに他の局面に従うと、上記解析結果情報圧縮プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供する。
【００１３】
本発明のさらに他の局面に従うと、上記解析結果情報展開プログラムを格納したコンピュータ読み取り可能な記憶媒体を提供する。
【００１４】
本発明のさらに他の局面に従うと、数値解析の結果情報を圧縮する処理を実行する解析結果情報圧縮装置であって、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むための手段と、変数依存情報から変換情報を生成するための手段と、変換情報に基づいて複数の結果情報を変換するための手段と、変換した結果情報を圧縮するための手段と、圧縮した結果情報を記憶するための手段とを備える。
【００１５】
本発明のさらに他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を実行する解析結果情報展開装置であって、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを読み込むための手段と、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するための手段とを備える。圧縮するときに利用した関連付けは、数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、識別番号と、識別番号ごとに求めた結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、展開するための手段は、圧縮された数値解析の結果情報を、識別番号と、代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するための手段と、第２の関連付けを、第１の関連付けに基づいて、識別番号と圧縮対象の値との関連付けに展開するための手段と、識別番号と関連付けられた圧縮対象の値を、逆変換情報に基づいて、結果情報に逆変換するための手段とを含む。
【００１６】
本発明のさらに他の局面に従うと、数値解析の結果情報を圧縮する処理を実行するための解析結果情報展開方法であって、数値解析で用いる、複数の所定の構造パラメータの値を変数依存情報として読み込むステップと、変数依存情報から変換情報を生成するステップと、変換情報に基づいて複数の結果情報を変換するステップと、変換した結果情報を圧縮するステップと、圧縮した結果情報を記憶するステップとを備える。
【００１７】
本発明のさらに他の局面に従うと、圧縮された数値解析の結果情報を展開する処理を実行するための解析結果情報圧縮方法であって、圧縮された数値解析の結果情報と結果情報を圧縮するときに利用した関連付けとを読み込むステップと、圧縮するときに利用した関連付けを用いて圧縮された数値解析の結果情報を展開するステップとを備える。圧縮するときに利用した関連付けは、数値解析で用いる、複数の所定の構造パラメータの値である変数依存情報と、変数依存情報ごとに割り振られた識別番号とが関連付けられている逆変換情報と、識別番号と、識別番号ごとに求めた結果情報のうちの圧縮対象の値の代表値とが関連付けられている第１の関連付けとを含み、展開するステップは、圧縮された数値解析の結果情報を、識別番号と、代表値と圧縮対象の値との差分とが関連付けられた第２の関連付けに展開するステップと、第２の関連付けを、第１の関連付けに基づいて、識別番号と圧縮対象の値との関連付けに展開するステップと、識別番号と関連付けられた圧縮対象の値を、逆変換情報に基づいて、結果情報に逆変換するステップとを含む。
【発明の効果】
【００１８】
本発明によれば、解析結果に対して予め定められた変換処理を行なうことで、解析結果の分布に連続性を持たせることができる。これにより、より高い圧縮効果を得ることができる。また、元の解析方法に不完全な解析結果を初期値として再解析をすると、高速にもとの解析結果が復元されるという性質がない場合においても、完全な解析結果情報を圧縮して保存することが可能になる。これにより、２次記憶装置の記憶容量をより有効に活用することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについては詳細な説明は繰り返さない。
【００２０】
以下の説明で明らかとなるように、本発明に係る解析結果情報圧縮・展開プログラムでは、解析結果に対して予め定めた変換処理を行なうことで、解析結果の分布に連続性を持たせて圧縮し、またその圧縮した解析結果を展開することができる。
【００２１】
（１．本発明のシステム構成）
図１は、本発明に係るプログラムを実行するコンピュータ１００の一例を示す概念図である。
【００２２】
図１において、解析結果情報圧縮プログラム、および解析結果情報展開プログラムを実行させるためのコンピュータ１００は、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の光ディスク上の情報を読み込むための光ディスクドライブ１０８およびフレキシブルディスク（Flexible Disk、以下ＦＤ）１１６に情報を読み書きするためのＦＤドライブ１０６を備えたコンピュータ本体１０２と、コンピュータ本体１０２に接続された表示装置としてのディスプレイ１０４と、同じくコンピュータ本体１０２に接続された入力装置としてのキーボード１１０およびマウス１１２とを備える。
【００２３】
図２は、このコンピュータ１００の構成をブロック図形式で示す図である。
図２に示されるように、このコンピュータ１００を構成するコンピュータ本体１０２は、光ディスクドライブ１０８およびＦＤドライブ１０６に加えて、それぞれバス１２６に接続されたＣＰＵ（Central Processing Unit）１２０と、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）を含むメモリ１２２と、直接アクセスメモリ装置、たとえば、ハードディスク１２４と、外部とデータの授受を行なうための通信インターフェイス１２８とを含んでいる。光ディスクドライブ１０８にはＣＤ−ＲＯＭ１１８が装着される。ＦＤドライブ１０６にはＦＤ１１６が装着される。
【００２４】
また、ハードディスク１２４内には、解析対象の物理的性質などを表わす物性情報等が格納された解析対象情報２００と、数値解析を実行するプログラム２０２と、数値解析の結果を圧縮するための解析結果圧縮プログラム２０４と、圧縮された解析結果を展開するための解析結果展開プログラム２０６などが格納される。また、解析結果情報を記憶するための記憶領域である解析結果情報２０８と、解析結果を圧縮した情報などを記憶するための圧縮情報２１０も含まれる。ここで、たとえば、解析対象情報や解析結果情報については、通信インターフェイス１２８を介して、外部のデータベースから供給されてもよい。なお、数値解析を実行するプログラム２０２は、電磁界解析や熱流体解析などの数値解析を行なう。
【００２５】
演算処理装置として機能するＣＰＵ１２０は、メモリ１２２をワーキングメモリとして、上述したプログラムに対応した処理を実行する。ここで、数値解析を実行させるプログラム２０２を、通信インターフェイス１２８を介して、外部のＣＰＵに実行させ、その解析結果情報のみを読み込むようにしてもよい。また、解析結果圧縮プログラム２０４と解析結果展開プログラム２０６とを別々のＣＰＵに実行させてもよい。
【００２６】
なお、ＣＤ−ＲＯＭ１１８は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、他の媒体、たとえば、ＤＶＤ−ＲＯＭ（Digital Versatile Disc）やメモリーカードなどでもよく、その場合は、コンピュータ本体１０２には、これらの媒体を読み取ることが可能なドライブ装置が設けられる。
【００２７】
本発明の解析結果情報圧縮プログラムや解析結果情報展開プログラム（以下、総称して、「解析結果圧縮・展開プログラム」と呼ぶ）は、上述の通り、ＣＰＵ１２０により実行されるソフトウェアである。一般的に、こうしたソフトウェアは、ＣＤ−ＲＯＭ１１８、ＦＤ１１６等の記憶媒体に格納されて流通し、光ディスクドライブ１０８またはＦＤドライブ１０６等により記憶媒体から読み取られてハードディスク１２４に一旦格納される。または、コンピュータ１００がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク１２４にコピーされる。そうしてさらにハードディスク１２４からメモリ１２２中のＲＡＭに読み出されてＣＰＵ１２０により実行される。なお、ネットワーク接続されている場合には、ハードディスク１２４に格納することなくＲＡＭに直接ロードして実行するようにしてもよい。
【００２８】
図１および図２に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、ＦＤ１１６、ＣＤ−ＲＯＭ１１８、ハードディスク１２４等の記憶媒体に記憶されたソフトウェアである。
【００２９】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要なときに呼び出して処理を進める方式が一般的である。そうした場合、当該ソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて解析結果圧縮・展開処理が可能になる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記憶媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【００３０】
（２．解析結果圧縮・展開方法）
以下、本発明に係る解析結果圧縮・展開方法について説明する。
【００３１】
図３は、解析結果を圧縮するための処理の流れについて示したフローチャートである。
図３を参照して、解析結果を圧縮する処理について説明する。
【００３２】
まず、ステップＳ３００では、初期化処理として、解析対象である変数が依存する値を「変数依存情報」として入力する。具体的には、解析領域に含まれる構造物の、少なくとも一つの構造パラメータがとる、複数の所定の値をいう。変数が依存する値とは、たとえば、ある変数ａを計算するときであれば、変数ａを計算するのに用いる計算式に表われる数のことを示す。
【００３３】
ステップＳ３０２では、変数依存情報の示す値ごとに、識別番号を割り振り、「変換情報」として設定する。この変換情報により、変数依存情報から識別番号がわかる。つまり、変数依存情報と識別番号とが関連付けられている。
【００３４】
ステップＳ３０４では、数値解析の解析結果情報を読み込む。次いで、ステップＳ３０６では、変換情報に基づき、解析結果情報を変換する。ここでは、まず、識別番号ごとに解析結果情報のうちで圧縮対象となる値の分布を求める。その分布から圧縮対象の値の代表値を求める。代表値とは、分布により求めた、圧縮対象の値の中央値や平均値などである。好ましくは、代表値は整数である。その代表値により、ステップＳ３０４で読み込んだ解析結果情報を変換する。たとえば、代表値と圧縮対象の値の差をとり、その差と解析結果とを置き換える。
【００３５】
ステップＳ３０８では、情報圧縮を行なう。ここでは、冗長性を利用した圧縮方法により、ステップＳ３０６で変換した解析結果情報を圧縮する。冗長性を利用した圧縮方法には、たとえば、ＬＺ法やランレングス法などがある。ステップＳ３１０では、生成した圧縮済み解析結果情報を出力する。
【００３６】
ステップＳ３１２では、終了判定を行なう。解析結果情報の入力回数が規定された入力回数に達するなど予め定められた終了条件を満たすかどうかを判定する。終了条件が満たされない場合（ステップＳ３１２にて、Ｎｏ）には、再び解析結果を入力する（ステップＳ３０４）。終了条件が満たされた場合（ステップＳ３１２にて、Ｙｅｓ）には、圧縮処理を終了する。
【００３７】
以上の処理に従えば、解析結果を圧縮することができる。
図４は、圧縮された解析結果を展開する処理の流れについて示したフローチャートである。
【００３８】
図４を参照して、図３で示された処理によって圧縮された解析結果を展開する処理について説明する。
【００３９】
ステップＳ４００では、図３で示した解析結果圧縮処理で読み込んだ変数依存情報や変換情報を入力する。
【００４０】
ステップＳ４０２では、変換情報をもとに、「逆変換情報」を設定する。この逆変換情報により、識別番号から変数依存情報がわかる。つまり、逆変換情報とは、識別番号と変数依存情報とが関連付けられている。
【００４１】
ステップＳ４０４では、圧縮済み解析結果情報を入力する。ここで、圧縮処理を行なった時に利用した、識別番号と、その識別番号ごとに求めた代表値との関連付けも入力する。
【００４２】
ステップＳ４０６では、圧縮済み解析結果情報を展開する。これにより、変換された解析結果情報と識別番号とが関連付けられた情報が得られる。そして、ステップＳ４０４で入力された、識別番号と代表値との関連付けにより、変換された解析結果情報と識別番号との関連付けを、識別番号ともとの解析結果情報との関連付けに展開する。
【００４３】
ステップＳ４０８では、ステップＳ４０６で得た関連付けから、逆変換情報を利用して解析結果情報に変換する。次いで、ステップＳ４１０では、ステップＳ４０８で生成した解析結果情報を出力する。
【００４４】
ステップＳ４１２では、終了判定を行なう。圧縮済み解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定する。終了条件が満たされない場合（ステップＳ４１２にて、Ｎｏ）には、再び解析結果を入力する（ステップＳ４０４）。終了条件が満たされた場合（ステップＳ４１２にて、Ｙｅｓ）には、圧縮処理を終了する。
【００４５】
以上の処理に従えば、図３で示した処理によって圧縮された解析結果を展開することができる。
【００４６】
（３．コンピュータ１００への実装）
以上の本発明である解析結果情報圧縮・展開方法は、以下の手続きによってコンピュータソフトウェアとして実装できる。
【００４７】
以下、その手続きについてまとめる。
図５は、図３で示した圧縮処理の流れを具体的に説明するためのフローチャートである。
【００４８】
図５を参照して、ＣＰＵ１２０が解析結果圧縮プログラム２０４に従って行なう圧縮処理について説明する。
【００４９】
ステップＳ５００では、ＣＰＵ１２０は、ハードディスク１２４内の解析対象情報２００から、解析対象である変数が依存する値を変数依存情報として読み込む。具体的には、解析領域に含まれる構造物の、少なくとも一つの構造パラメータがとる、複数の所定の値をいう。この際、キーボード１１０を介して変数依存情報を入力してもよい。
【００５０】
ステップＳ５０２では、ＣＰＵ１２０は、変換情報を生成する。ここでは、ステップＳ５００で読み込んだ変数依存情報が示す値ごとに、識別番号を割り当てる。この変換情報により、変数依存情報が示す値から識別番号がわかる。つまり、変換情報では、変数依存情報が示す値と識別番号とが関連付けられている。
【００５１】
ステップＳ５０４では、ＣＰＵ１２０は、変換情報をハードディスク１２４内の圧縮情報２１０に書き込む。
【００５２】
ステップＳ５０６では、ＣＰＵ１２０は、解析結果情報２０８から解析結果を読み込む。なお、ここでの解析結果情報は、通信インターフェイス１２８を介して、外部から読み込んでもよい。
【００５３】
ステップＳ５１０では、ＣＰＵ１２０は、識別番号ごとに、解析結果情報のうちで圧縮対象となる値の中央値を求める。具体的には、以下のようにする。解析領域の各位置には、変換情報で用いた構造パラメータの値が与えられている。つまり、各位置と、変換情報に基づいた識別番号は対応しているため、この識別番号ごとに、各位置での圧縮対象となる値の分布を求めることができる。この分布により、識別番号ごとに代表値を算出する。ここでは、代表値として、中央値を算出する。
【００５４】
ステップＳ５１２では、ＣＰＵ１２０は、識別番号と中央値とのそれぞれを関連付けたテーブルをハードディスク１２４内の圧縮情報２１０に書き込む。
【００５５】
ステップＳ５１４では、ＣＰＵ１２０は、中央値と圧縮対象となる値との差を、補正値とする。この補正した値と識別番号とを関連付けて出力する。
【００５６】
ステップＳ５１６では、ＣＰＵ１２０は、情報の圧縮処理を行なう。具体的には、ステップＳ５１４で補正した値と識別番号との関連付けをＬＺ法などにより圧縮する。ＬＺ法は、情報がもつパターンの冗長性を利用した圧縮方法である。パターンを構成する符号の種類が偏ることにより、効率的な圧縮を行なうことが出来る。ステップＳ５１４で、補正した値は、ゼロに近い値に偏る。この偏りのため、効率的な圧縮が行なわれる。
【００５７】
ステップＳ５１８では、ＣＰＵ１２０は、圧縮した情報をハードディスク１２４内の圧縮情報２１０に書き込む。
【００５８】
ステップＳ５２０では、ＣＰＵ１２０は終了判定を行なう。ＣＰＵ１２０が、解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、ＣＰＵ１２０が、終了条件が満たされないと判断した場合（ステップＳ５２０にて、Ｎｏ）には、再び解析結果を入力する（ステップＳ５０６）。終了条件が満たされたと判断した場合（ステップＳ５２０にて、Ｙｅｓ）には、圧縮処理を終了する。
【００５９】
以上のような処理を行なえば、コンピュータ１００は、解析結果情報を圧縮することができる。
【００６０】
図６は、図４で示した展開処理の流れを具体的に説明するためのフローチャートである。
【００６１】
図６を参照して、ＣＰＵ１２０が解析結果展開プログラム２０６に従って行なう展開処理について説明する。
【００６２】
ステップＳ６００では、ＣＰＵ１２０は、圧縮処理の際にハードディスク１２４内に書き込まれた圧縮情報２１０から、ステップＳ５００で読み込んだ変数依存情報や変換情報などの情報を読み込む。
【００６３】
ステップＳ６０２では、ＣＰＵ１２０は、ステップＳ６００で読み込んだ情報を基に、逆変換情報を生成する。この逆変換情報により、識別番号から変数依存情報の示す値がわかる。
【００６４】
ステップＳ６０４では、ＣＰＵ１２０は、ハードディスク１２４内の圧縮情報２１０から、圧縮済みの解析結果情報を読み込む。なお、この際、解析結果情報を圧縮するときに圧縮情報２１０に書き込まれた関連付けも読み込む。
【００６５】
ステップＳ６０８では、ＣＰＵ１２０は、ＬＺ法などにより圧縮済み解析結果情報を展開する。これにより、ステップＳ５１４で変換した、変換済み解析結果情報が得られる。
【００６６】
ステップＳ６１０では、ＣＰＵ１２０は、ステップＳ６０４で読み込んだ、識別番号と中央値との関連付けに基づいて、ステップＳ６０８で得た情報を展開する。これにより、もとの解析結果情報が得られる。
【００６７】
ステップＳ６１２では、ＣＰＵ１２０は、ステップＳ６１０で得られた解析結果情報を出力する。
【００６８】
ステップＳ６１４では、ＣＰＵ１２０は終了判定を行なう。ＣＰＵ１２０が、解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、ＣＰＵ１２０が、終了条件が満たされないと判断した場合（ステップＳ６１４にて、Ｎｏ）には、再び解析結果を入力する（ステップＳ６０４）。終了条件が満たされたと判断した場合（ステップＳ６１４にて、Ｙｅｓ）には、圧縮処理を終了する。
【００６９】
以上のような処理を行なえば、コンピュータ１００は、解析結果圧縮プログラム２０４によって圧縮された解析結果情報を展開することができる。
【００７０】
（４．解析結果情報を圧縮・展開した例）
以下に、本発明の解析結果情報圧縮・展開プログラムを利用した例を示す。
【００７１】
（４．１  解析結果情報を圧縮した例）
図７は、解析実行中に解析結果の圧縮を行なう処理の流れを示すフローチャートである。
【００７２】
図７を参照して、解析を実行する場面において、本発明に係る解析結果情報圧縮プログラムによって解析結果を逐次圧縮しながら、２次記憶媒体への記録を行なう処理について説明する。ここでは、その例として、回路基板を対象にＦＤＴＤ（Finite Differential Time Domain）法を用いた時間領域の電磁界解析を行ない、その解析結果を圧縮する。
【００７３】
ＦＤＴＤ法は、マクスウェルの電磁界方程式を差分化することによって数値計算する方法である。まず、解析領域を格子で分割し、格子の各辺の中心に電界、各面の中心に磁界を配置する、いわゆるＹｅｅ格子という構造を取る。そして、マクスウェルの方程式を差分化すると、電界・磁界は、空間的に半セル、時間的に半タイムステップずらした位置に配置される。ここで、求めたい未知電界、未知磁界と隣接する１タイムステップ前の既知電界、既知磁界の間に働く関係式を電磁気学に基づくマクスウェル方程式から導くと次の式（１）および（２）のようになる。
【００７４】
【数１】
0004493614.tif 000002
【００７５】
なお、式中で太字は、当該変数がベクトルであることを示す。
式（１）はｎタイムステップの電界Ｅ（ベクトル）、式（２）は（ｎ＋１／２）タイムステップの磁界Ｈ（ベクトル）についての関係式である。ただし、Δt，μ，ε，σは、それぞれ、タイムステップ、透磁率、誘電率、導電率とする。
【００７６】
これらをもとに未知電界、未知磁界をあるタイムステップΔtを単位に更新していくことで、解析領域全体の電磁界挙動を時間領域で求めることができる。このため、１つの条件で解析を行なう場合でも、複数の時間における電磁界分布が解析結果として得られる。
【００７７】
本発明の解析結果圧縮プログラムでは、ある時間における電磁界分布を単位として圧縮する。したがって、ＦＤＴＤによる解析実行中にも、解析結果を出力するタイミングが来るたびに、圧縮処理を行なう。なお、解析結果を出力するタイミングとは、解析プログラムに与えられる解析結果出力指定によって決定される。指定条件としては、たとえば、解析時刻が０から１ナノ秒までで、０．１ナノ秒ごとに出力するなどである。
【００７８】
以下に、ＦＤＴＤを実行する場面において、解析結果を逐次圧縮しながら、２次記憶媒体への記録を行なう処理について説明する。なお、ここでは、ｚ方向の電界変数Ｅ（以下、変数Ｅｚと呼ぶ）のｘｙ平面上の２次元的な分布を圧縮する。具体的には、変数Ｅｚの単精度浮動小数点の指数部についてＬＺ法により圧縮する。また、変数依存情報として、電界変数の存在する位置での導電率を用い、圧縮対象の分布の代表値として、中央値を用いる。
【００７９】
まず、ステップＳ７００では、ＦＤＴＤの初期化を行なう。ここでは、解析条件などを読み込む。解析条件とは、解析対象をセル分割するために必要な格子セルの寸法、解析時間、解析領域内の電界、磁界の初期値、電圧の初期値、解析領域内に配置されている誘電体、導体の座標値、物性値などである。
【００８０】
図８は、ＦＤＴＤに与えられたセル媒質の分布を表わす図である。
図８を参照して、ＦＤＴＤに与えられるセル媒質の分布を説明する。図８に示すように、ＦＤＴＤを実行するために、解析領域はセル分割される。セル８０は、誘電体を含み、セル８２は、導体セルを含む。
【００８１】
図７に戻って、ステップＳ７０２では、変数依存情報を設定する。ここでは、上述したように、電界変数の存在する位置での導電率を設定する。
【００８２】
図９は、図８のセル媒質分布をもとに、変数Ｅｚの存在する位置での導電率を補間法により求めた、変数Ｅｚの依存する導電率の分布を示す図である。
【００８３】
図９を参照して、変数依存情報について説明する。図９では、誘電体内部９０、導体内部９２、誘電体・導体の境界部分９４,９６を示している。また、隣接するセルには順に番号が割り当てられている。セル１，２，１０は誘電体内部、セル３から５，７から９は誘電体・導体境界部分、セル６は導体内部を示している。変数Ｅｚを計算するためには、図９に示すような、誘電体内部９０、導体内部９２、誘電体・導体の境界部分９４，９６の導電率が必要となってくる。ステップＳ７０２では、これらの導電率が変数Ｅｚの変数依存情報として設定される。なお、誘電体内部９０の導電率はゼロ、導体内部９２の導電率は５．７ｅ７（Ｓ／ｍ）、誘電体・導体の境界部分９４の導電率は１．４２５ｅ７（Ｓ／ｍ）、誘電体・導体の境界部分９６の導電率は２．８５ｅ７（Ｓ／ｍ）である。
【００８４】
図７に戻って、ステップＳ７０４では、ステップＳ７０２で設定した変数依存情報に従って、変換情報を生成する。さらに、変換情報を２次記憶媒体に書き込む。
【００８５】
【表１】
0004493614.tif 000003
【００８６】
表１は、ステップＳ７０２で変数依存情報として与えられた導電率と、導電率の値ごとに割り振られる識別番号（以下、ＩＤと呼ぶ）とを関連付けた表である。導電率と、導電率の値ごとに割り振ったＩＤとの関連付けを変換情報とする。
【００８７】
図７に戻って、ステップＳ７０６では、ＦＤＴＤを実行する。
ステップＳ７０８では、解析結果を出力するタイミングであるかどうかを判断する。解析結果を出力するタイミングは、上述したように、入力された条件によって指定できる。解析結果を出力するタイミングでなければ（ステップＳ７０８にて、Ｎｏ）、ステップＳ７１６へ進む。出力するタイミングであれば（ステップＳ７０８にて、Ｙｅｓ）、解析結果情報を変換する（ステップＳ７１０）。
【００８８】
ステップＳ７１０では、解析結果を圧縮する。解析結果として、次のような表が与えられる。
【００８９】
【表２】
0004493614.tif 000004
【００９０】
表２は、図９で示されるセル１から１０での変数Ｅｚの値を解析結果として表わした表である。この表では、各セルの導電率と、その導電率に対応するＩＤ、および、解析結果情報を単精度浮動小数点表現で表わしたときの指数部の値とが関連付けられている。ただし、指数部の値は１６進数表現となっている。
【００９１】
図１０は、浮動小数点数フォーマットを示す図である。
図１０を参照して、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）規格の浮動小数点数フォーマットの説明をする。図１０において、０から２２までの２３ビットは、小数表現の仮数部ｆを示す。２３から３０までの８ビットは、指数部ｅを示す。３１は、符号部ｓを示す。これらにより、ＩＥＥＥ規格に基づく単精度（３２ビット）で表現される値は、（−１）ｓ２ｅ−１２７（１．ｆ）である。本例では、解析結果を上記で説明した単精度浮動小数点表現で表わしたときの指数部ｅについて圧縮する。
【００９２】
図７のステップＳ７１０に戻る。ここでは、まず、ＩＤごとに、圧縮対象となる指数部の値の分布、具体的には、最大値Ｍａｘ（ＩＤ）および最小値Ｍｉｎ（ＩＤ）を求める。これら値から、以下の式（３）により、ＩＤごとの指数値の代表値を求める。ここでは、この代表値を中央値Ｍｉｄ（ＩＤ）としている。ただし、値を整数にするため、余りは切り捨てる。
【００９３】
Ｍｉｄ（ＩＤ）＝（Ｍａｘ（ＩＤ）＋Ｍｉｎ（ＩＤ））／２…（３）
ＩＤと、以上より求めた中央値Ｍｉｄ（ＩＤ）とを関連付けて出力する。さらに、この関連付けを２次記憶媒体に書き込む。
【００９４】
【表３】
0004493614.tif 000005
【００９５】
表３は、ＩＤ０から２について、中央値Ｍｉｄ（ＩＤ）を求めた例を示す表である。式（３）に従って、最小値Ｍｉｎ（ＩＤ）、最大値Ｍａｘ（ＩＤ）から中央値Ｍｉｄ（ＩＤ）が求められていることが分かる。
【００９６】
次に、圧縮対象となる指数部の値について、以下の式（４）に従って変換する。
（変換した指数部の値）＝（指数部の値）−Ｍｉｄ（ＩＤ）…（４）
そして、セル、ＩＤ、および変換した指数部の値を関連付ける。
【００９７】
【表４】
0004493614.tif 000006
【００９８】
表４は、表２で示したセル１から１０について、式（４）に従って、計算した結果を示した表である。表４で示されるように、圧縮対象の指数部の値がゼロに近い値に偏る。
【００９９】
ステップＳ７１２では、表４で示されるような、セル、ＩＤ、および変換した指数部の値の関連付けに対して、ＬＺ法により圧縮する。
【０１００】
ステップＳ７１４では、圧縮した解析結果情報を２次記憶媒体に書き込む。
ステップＳ７１６では、終了判定を行なう。解析結果情報の入力回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、終了条件が満たされなければ（ステップＳ７１６にて、Ｎｏ）、解析時刻を更新する（ステップＳ７１８）。終了条件が満たされれば（ステップＳ７１６にて、Ｙｅｓ）。
【０１０１】
以上のようにすれば、ＦＤＴＤを実行する場面において、本発明に係る解析結果圧縮プログラムは、解析結果を逐次圧縮しながら、２次記憶媒体への記録を行なうことができる。
【０１０２】
【表５】
0004493614.tif 000007
【０１０３】
表５は、実際の解析結果情報に対して、本発明の解析結果情報圧縮プログラムを適用して圧縮した際の入出力データサイズを示した表である。
【０１０４】
圧縮前のデータサイズ３３１５０に対して、圧縮後の平均データサイズは８１０６．３９４となっている。これにより、表５に示すような平均圧縮率で圧縮されたことが分かる。
【０１０５】
（４．２  圧縮された解析結果情報を展開した例）
図１１は、解析結果の分析を行なう際に、圧縮された解析結果情報を逐次展開して表示する処理の流れを示すフローチャートである。
【０１０６】
図１１を参照して、解析結果の分析を行なう際に、本発明に係る解析結果展開プログラムが、２次記憶に圧縮して保存された解析結果情報を逐次読み出して展開し、それを表示装置に表示させる処理について説明する。なお、解析結果情報は、上記の（４．１）で説明したようにして、圧縮され２次記憶に保存されているものとする。また、ここでは、表示装置に表示するために展開する処理について説明するが、本発明の解析結果情報から、後処理的な分析計算をするために展開するなどにも利用できる。
【０１０７】
ステップＳ１１００では、表示装置の初期化を行なう。
ステップＳ１１０２では、変数依存情報の設定を行なう。ここでは、図７のステップＳ７０２で設定された変数依存情報を読み込む。
【０１０８】
ステップＳ１１０４では、逆変換情報を生成する。ここでは、図７のステップＳ７０４で生成した変換情報に基づいて、生成する。逆変換情報により、ＩＤから、変数依存情報が分かる。
【０１０９】
ステップＳ１１０６では、表示条件を設定する。表示条件とは、たとえば、解析時刻などである。
【０１１０】
ステップＳ１１０８では、図７のステップＳ７１４で２次記憶媒体に書き込まれた圧縮済み解析結果を読み込む。この際、ステップＳ７１２で求めた、ＩＤとＩＤごとに求めた中央値との関連付けも読み込む。
【０１１１】
ステップＳ１１１０では、ステップＳ１１０８で読み込んだ情報を、ＬＺ法で展開する。これにより、セル、ＩＤ、および変換した指数部の値が関連付けられた情報が得られる。
【０１１２】
ステップＳ１１１２では、ＩＤとＩＤごとに求めた中央値との関連付けにより、ステップＳ１１１０で得た情報から、もとの指数部の値を求める。これにより、もとの解析結果情報を出力する。
【０１１３】
ステップＳ１１１４では、表示装置にステップＳ１１１２で得たもとの解析結果情報とともに、表示条件で設定された情報などを表示する。
【０１１４】
ステップＳ１１１６では、終了判定を行なう。解析結果情報の表示回数が規定された回数に達するなど予め定められた終了条件を満たすかどうかを判定し、終了条件が満たされなければ（ステップＳ１１１６にて、Ｎｏ）、表示条件を更新する（ステップＳ１１１８）。終了条件が満たされれば（ステップＳ１１１６にて、Ｙｅｓ）、処理を終了する。
【０１１５】
以上のようにすれば、解析結果の分析を行なう際に、本発明に係る解析結果展開プログラムは、２次記憶に圧縮して保存された解析結果情報を逐次読み出して展開し、それを表示装置に表示させることができる。
【０１１６】
上記で説明したように、本発明に係る解析結果情報圧縮・展開プログラムでは、数値解析の解析結果を圧縮して保存することができる。また、その圧縮した解析結果を展開することができる。これにより、同容量の記憶領域で比較した場合、圧縮していない解析条件を記憶するときよりも、より多くの解析条件での結果を保存することができる。また、より多くの解析条件での結果を展開することができる。従って、電磁界解析や熱流体解析などの数値解析を利用して、電磁気既製品の設計の検討、不具合検証などを行なう場合、同容量の記憶領域で比較したときに、より多くの解析条件を保存して検討・検証に用いることができる。
【０１１７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１８】
【図１】本発明に係るプログラムを実行するコンピュータ１００の一例を示す概念図である。
【図２】このコンピュータ１００の構成をブロック図形式で示す図である。
【図３】解析結果を圧縮するための処理の流れについて示したフローチャートである。
【図４】圧縮された解析結果を展開する処理の流れについて示したフローチャートである。
【図５】図３で示した圧縮処理の流れを具体的に説明するためのフローチャートである。
【図６】図４で示した展開処理の流れを具体的に説明するためのフローチャートである。
【図７】解析実行中に解析結果の圧縮を行なう処理の流れを示すフローチャートである。
【図８】ＦＤＴＤに与えられたセル媒質の分布を表わす図である。
【図９】図８のセル媒質分布をもとに、変数Ｅｚの存在する位置での導電率を補間法により求めた、変数Ｅｚの依存する導電率の分布を示す図である。
【図１０】浮動小数点数フォーマットを示す図である。
【図１１】解析結果の分析を行なう際に、圧縮された解析結果情報を逐次展開して表示する処理の流れを示すフローチャートである。
【符号の説明】
【０１１９】
８０，８２  セル、９０  誘電体内部、９２  導体内部、９４，９６  誘電体・導体境界部分、１００  コンピュータ、１０２  コンピュータ本体、１０４  ディスプレイ、１０６  ＦＤドライブ、１０８  光ディスクドライブ、１１０  キーボード、１１２  マウス、１１６  ＦＤ、１１８  ＣＤ−ＲＯＭ、１２０  ＣＰＵ、１２２  メモリ、１２４  ハードディスク、１２６  バス、１２８  通信インターフェイス、２００  解析対象情報、２０２  解析を実行するプログラム、２０４  解析結果圧縮プログラム、２０６  解析結果展開プログラム、２０８  解析結果情報、２１０  圧縮情報。
【図１】
0004493614.tif 000008
【図２】
0004493614.tif 000009
【図３】
0004493614.tif 000010
【図４】
0004493614.tif 000011
【図５】
0004493614.tif 000012
【図６】
0004493614.tif 000013
【図７】
0004493614.tif 000014
【図８】
0004493614.tif 000015
【図９】
0004493614.tif 000016
【図１０】
0004493614.tif 000017
【図１１】
0004493614.tif 000018