(57)【特許請求の範囲】
【請求項１】
コンピュータが、
シミュレーション空間における解析領域に配置され基板を含む要素の形状に基づいて前記解析領域を格子状に分割した複数のセルを示す第１セル情報を生成し、
生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、
特定した前記形状に含まれる、前記基板に含まれるホールの幅に基づく閾値以上の長さを有する線分を輪郭に含まない凸部、または前記閾値以上の長さを有する線分を輪郭に含まない凹部を特定し、
特定した前記形状から、特定した前記凸部または前記凹部が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
処理を実行することを特徴とする解析方法。
【請求項２】
コンピュータが、
シミュレーション空間における解析領域に配置され基板を含む要素の形状に基づいて前記解析領域を格子状に分割した複数のセルを示す第１セル情報を生成し、
生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、
特定した前記形状に含まれる、前記基板に含まれるホールの幅に基づく閾値以上の長さを有する線分を輪郭に含まない凸部、または前記閾値以上の長さを有する線分を輪郭に含まない凹部を特定し、
特定した前記形状から、特定した前記凸部または前記凹部が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
処理を実行することを特徴とする解析プログラム。
【請求項３】
シミュレーション空間における解析領域に配置され基板を含む要素の形状に基づいて前記解析領域を格子状に分割した複数のセルを示す第１セル情報を生成し、生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、特定した前記形状に含まれる、前記基板に含まれるホールの幅に基づく閾値以上の長さを有する線分を輪郭に含まない凸部、または前記閾値以上の長さを有する線分を輪郭に含まない凹部を特定し、特定した前記形状から、特定した前記凸部または前記凹部が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
制御部を有することを特徴とする解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析方法、解析プログラム、および解析装置に関する。
【背景技術】
【０００２】
従来、電磁界解析において、解析領域を複数のセルに分割し、セルごとに電磁界の過渡的な挙動を計算する技術が公知である（例えば、以下特許文献１参照。）。
【０００３】
また、従来、境界要素法の計算で用いる表面メッシュモデルを生成する表面メッシュモデル生成装置において、凹凸を緩和させるスムージング処理を行うスムージング手段を備えることが公知である（例えば、以下特許文献２参照。）。スムージング処理では、表面メッシュの凹凸部をノイズとし、ある周波数成分のノイズをフィルタにより除去する。
【０００４】
また、従来、電磁流体解析において、電気伝導性流体の変形前自由表面内の点Ｐ１を射影した変形後自由表面内の点Ｐ２を求め、変形前自由表面内の点Ｐ１における電磁力に基づいて変形後自由表面内の点Ｐ２における電磁力を求める技術が公知である（例えば、以下特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−６１８１号公報
【特許文献２】特開２０１２−１３３４３４号公報
【特許文献３】特開２００４−９３４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来技術では、配線やパッドなどの要素の形状に応じてセル分割が行われる。このため、配線やパッドなどの要素の形状に凹部や凸部が含まれると、凹部や凸部において細かいセル分割が行われ、セルの数が増加するという問題点がある。
【０００７】
１つの側面では、本発明は、セルの数の低減を図ることができる解析方法、解析プログラム、および解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、シミュレーション空間における解析領域に配置される要素の形状に基づいて前記解析領域を複数に分割した複数のセルを示す第１セル情報を生成し、生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、特定した前記形状に含まれる所定の形状の部分を特定し、特定した前記形状から、特定した前記部分が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する解析方法、解析プログラム、および解析装置が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、セルの数の低減を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明に係る解析装置による動作例を示す説明図である。
【図２】図２は、微細な格子が発生する例を示す説明図である。
【図３】図３は、解析装置のハードウェア構成例を示すブロック図である。
【図４】図４は、解析装置の機能的構成例を示すブロック図である。
【図５】図５は、セル情報例を示す説明図である。
【図６】図６は、格子点番号と座標との対応テーブル例を示す説明図である。
【図７】図７は、向きが水平な凸部の削除例（その１）を示す説明図である。
【図８】図８は、つぎの探索方向の決定方法例を示す説明図である。
【図９】図９は、向きが水平な凸部の削除例（その２）を示す説明図である。
【図１０】図１０は、凸部の削除例についてセルの減少例を示す説明図である。
【図１１】図１１は、向きが垂直な凹部の削除例を示す説明図である。
【図１２】図１２は、凹部の削除例についてセルの減少例を示す説明図である。
【図１３】図１３は、解析装置による解析処理手順例を示すフローチャートである。
【図１４】図１４は、図１３で示した凹凸削除処理（ステップＳ１３０４）の詳細な説明を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる解析方法、解析プログラム、および解析装置の実施の形態を詳細に説明する。
【００１２】
図１は、本発明に係る解析装置による動作例を示す説明図である。解析装置１００は、解析領域１０１を分割した複数のセルの各々について物理量を算出し、物理量に基づき解析領域１０１の解析結果を取得するコンピュータである。また、解析装置１００は、解析を行う前に、解析の計算に要する計算時間を推定するコンピュータである。
【００１３】
例えば、電磁界解析の一種であるＦＤＴＤ（Ｆｉｎｉｔｅ−Ｄｉｆｆｅｒｅｎｃｅ  Ｔｉｍｅ−Ｄｏｍａｉｎ  ｍｅｔｈｏｄ）法によるシミュレーションでは、解析領域１０１を格子状に分割したセルの各々について電界と磁界とが算出されることによって、解析領域１０１内の電磁界分布が解析される。
【００１４】
具体的には、セルは、シミュレーション空間上に格子状に配置された格子点によって解析領域１０１を分割した領域である。シミュレーション空間とは、解析対象の物理的な要素１０２の内部とその要素１０２の外部の空間とを含む解析領域１０１をコンピュータ上に表すために設定された空間である。例えば、シミュレーション空間には、例えば、Ｘ軸とＹ軸とＺ軸とを含む３次元直交座標系が定義される。本実施の形態では、Ｘ軸とＹ軸に着目し、Ｚ軸については説明を省略する。セルｃは、矩形状であり、例えば四角形や立方体である。セルｃには、例えば、要素１０２を含むか否かを示す情報が設定可能である。また、解析のために、セルｃには、媒体の媒質と、媒質に応じた電気定数と、が設定可能である。電気定数としては、例えば、誘電率、透磁率、および、導電率などが挙げられる。要素１０２としては、例えば、配線、パッド、基板などの物体を形成する部品などが挙げられる。
【００１５】
従来、配線やパッドなどの要素１０２の形状に応じてセル分割を行うため、凹部や凸部が存在する。凹部や凸部が発生する例については、図２に示す。凹部や凸部において細かいセル分割が行われるためにセルの数が増加するという問題点がある。
【００１６】
本実施の形態では、解析領域を分割した複数のセルのうち、該解析領域に配置される要素を含む複数のセルにより形成される形状から微少な凸部または凹部が削除された形状に基づき解析領域を複数のセルに分割する。また、微少な凹部や凸部は、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の設計段階では生じるが、実際の基板では生じない場合が多く、また解析精度に与える影響も少ない場合がある。微少な凹部や凸部とは、利用者によって設定された閾値よりも小さい凹部や凸部である。閾値については、例えば、要素１０２の種類や要素１０２に含まれるホールなどによって設定される。例えば、要素１０２が基板であれば、閾値は、基板に含まれるホールの幅に基づく値である。より具体的に、閾値は、基板に含まれるホールの幅よりも小さい値に設定される。
【００１７】
これにより、セルの数の低減を図ることができる。電磁界解析のようにセルｃごとに物理量を算出する解析の場合、セルｃの数が多いほど解析にかかる時間が長くなるため、セルの数を低減させることにより解析にかかる時間の低減を図ることができる。
【００１８】
まず、解析装置１００は、シミュレーション空間における解析領域１０１に配置される要素１０２の形状に基づいて解析領域１０１を複数に分割した複数のセルを示す第１セル情報１０３を生成する。解析装置１００は、例えば、解析領域１０１を所定の格子点の間隔によって複数のセルｃに分割する。所定の格子点の間隔は、例えば、要素１０２のサイズなどによって決定されてもよい。例えば、要素１０２が配線を含む場合に、所定の格子点の間隔は、配線の最小幅であってもよい。
【００１９】
つぎに、解析装置１００は、第１セル情報１０３が示す複数のセルのうち、要素１０２を含む複数のセルにより形成される形状を特定する。要素１０２を含むセルとは、例えば、要素１０２を所定の割合以上含むセルである。所定の割合は、例えば、利用者によって設定されてもよいし、固定値であってもよい。所定の割合は、例えば、５０［％］などであってもよい。ここでは、第１セル情報１０３において、複数のセルの各々に要素１０２を含むか否かを設定可能とする。例えば、セルｃ１については、要素１０２を含むことを示す情報が設定される。例えば、セルｃ６については、要素１０２を含まないことを示す情報が設定される。例えば、セルｃ１７については、要素１０２を含むことを示す情報が設定される。
【００２０】
そして、解析装置１００は、特定した形状に含まれる所定の形状の部分を特定する。所定の形状の部分は、例えば、所定の凸部または凹部である。所定の凸部や所定の凹部とは、所定のサイズ以下の凸部や所定のサイズ以下の凹部である。例えば、要素１０２が基板である場合、所定の凸部や所定の凹部は、基板に含まれるホールよりも小さい幅の凸部や凹部である。基板に含まれるホールより大きい凸部や凹部は、実際の基板でも生じるものであるため、無視できない。一方、基板に含まれるホールよりも小さい凸部や凹部は、実際の基板では生じない場合が多く、また解析精度に与える影響も少ない場合がある。
【００２１】
解析装置１００は、例えば、要素１０２を含む複数のセルにより形成される形状における輪郭を形成する格子点を探索して所定の凸部または凹部を特定する。例えば、セルｃ１７が所定の凸部または凹部として特定される。
【００２２】
つぎに、解析装置１００は、要素１０２を含む複数のセルによって形成される形状から、特定した凸部または凹部が削除された形状に基づいて解析領域１０１を複数に分割した複数のセルを示す第２セル情報１０４を生成する。解析装置１００は、特定した凸部または凹部であるセルについて、要素１０２を含むか否かを示す情報の設定を変更する。
【００２３】
解析装置１００は、例えば、第１セル情報１０３において、特定した凸部であるセルについて、要素１０２を含むことを示す情報が設定されているため、要素１０２を含まないことを示す情報に変更する。また、解析装置１００は、例えば、第１セル情報１０３において、特定した凹部であるセルについて、要素１０２を含まないことを示す情報が設定されているため、要素１０２を含むことを示す情報に変更する。これにより、要素１０２を含む複数のセルによって形成される形状から、特定した凸部または凹部が削除された形状が特定される。図１の例では、解析装置１００は、セルｃ１７について要素を含むことを示す情報から要素を含まないことを示す情報に設定を変更する。
【００２４】
そして、解析装置１００は、例えば、削除された形状に基づいて解析領域１０１における格子点を調整することによって第２セル情報１０４を生成する。Ｘ軸方向の格子を一つ抜いてもよいため、第２セル情報１０４では、例えば、セルｃ５とセルｃ６とは１つのセルｃ５となる。
【００２５】
これにより、セルの数の低減を図ることができ、解析にかかる時間の低減を図ることができる。
【００２６】
図２は、微細な格子が発生する例を示す説明図である。簡単に電磁界解析における格子の生成方法について説明する。解析装置１００は、基準となる格子幅を決定する。そして、解析装置１００は、格子幅をもとに等間隔に格子を生成して、要素１０２をセルごとに分割する。例えば、セルには、要素１０２の有無や要素１０２の媒質などが設定される。図２の例では、「格子に沿って分割した場合」において、要素１０２があるセルは黒丸で示す。そして、解析装置１００は、格子を抜いてもセルによって表される要素１０２の形状に影響がない箇所の格子を抜く。これにより、セルの数を減らすことができる。
【００２７】
しかし、例えば、上側の基板の形状において、四角で囲った箇所は、基板の形状において要素１０２なしとなっているために、微細な格子が発生してしまう。例えば、下側の基板の形状においては、四角で囲った箇所は、基板の形状において要素１０２ありとなっているために、格子が発生してしまう。このように、微細な凹凸部によって格子が発生してしまい、セル数が増加してしまう。
【００２８】
そこで、本実施の形態では、図１で説明したように、解析領域を分割した複数のセルのうち、該解析領域に配置される要素を含む複数のセルにより形成される形状から微少な凸部または凹部が削除された形状に基づき解析領域を複数のセルに分割する。これにより、微少な凹部や凸部が削除されるため、格子を抜くことが可能となる。したがって、セル数の低減を図ることができ減らし、計算時間の短縮を図ることができる。
【００２９】
（解析装置１００のハードウェア構成例）
図３は、解析装置のハードウェア構成例を示すブロック図である。図３において、解析装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有している。解析装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有している。また、各部はバス３００によってそれぞれ接続されている。
【００３０】
ここで、ＣＰＵ３０１は、解析装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００３１】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に接続され、このネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３２】
キーボード３０７やマウス３０８は、例えば、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ３０９は、例えば、ＣＰＵ３０１の指示により、データを出力するインターフェースである。
【００３３】
また、図示を省略するが、解析装置１００には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、解析装置１００には、プリンタなどの出力装置が設けられていてもよい。また、図示を省略するが、解析装置１００には、例えば、ＳＳＤやフラッシュＲＯＭなどが設けられていてもよい。
【００３４】
（解析装置１００の機能的構成例）
図４は、解析装置の機能的構成例を示すブロック図である。解析装置１００は、第１生成部４０１と、第１特定部４０２と、第２特定部４０３と、第２生成部４０４と、記憶部４１１と、を有する。記憶部４１１は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置によって実現される。第１生成部４０１から第２生成部４０４までの制御部の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能な記憶部４１１に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶部４１１から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、記憶部４１１に記憶される。
【００３５】
第１生成部４０１は、シミュレーション空間における解析領域１０１に配置される要素１０２の形状に基づいて解析領域１０１を複数のセルに分割した第１セル情報１０３を生成する。解析領域１０１に配置される要素１０２は、例えば、ＣＡＤデータが示す解析対象の物体である。ＣＡＤデータは、解析対象の物体に含まれる部品などの要素１０２の各々を示すデータである。ＣＡＤデータについては、図示省略するが、例えば、要素１０２、層番号、要素１０２が配置される始点、要素１０２が配置される終点、線長、線幅などが含まれる。
【００３６】
解析領域１０１が格子点の間隔によって複数のセルｃに分割される。各セルｃには、セルｃを識別可能な識別情報が付される。また、各セルｃの位置を表すためにＸ軸方向の格子点とＹ軸方向の格子点との各々に、格子点を識別可能な識別情報として番号が付される。
【００３７】
図５は、セル情報例を示す説明図である。図５に示すセル情報５００は、第１セル情報１０３や第２セル情報１０４などの情報の一例である。セル情報５００は、複数のセルｃの各々について位置と媒質とを示す情報である。例えば、セル情報５００は、セル、左上（Ｘ）格子点番号、左上（Ｙ）格子点番号、右下（Ｘ）格子点番号、右下（Ｙ）格子点番号、要素の有無（媒質）のフィールドを有する。各フィールドに情報が設定されることによって、レコード（例えば、５０１−１〜５０１−４、など）として記憶される。ここでは、Ｚ軸方向についての格子点番号などは、省略する。
【００３８】
セルのフィールドには、セルｃを一意に特定可能な識別情報が設定される。左上（Ｘ）格子点番号のフィールドには、セルｃが有する４つの頂点の格子点番号のうち、左上のＸ軸方向の格子点番号が設定される。左上（Ｙ）格子点番号のフィールドには、セルｃが有する４点の頂点の格子点番号のうち、左上のＹ軸方向の格子点番号が設定される。右下（Ｘ）格子点番号のフィールドには、セルｃが有する４点の頂点の格子点番号のうち、右下のＸ軸方向の格子点番号が設定される。右下（Ｙ）格子点番号のフィールドには、セルｃが有する４点の頂点の格子点番号のうち、右下のＹ軸方向の格子点番号が設定される。
【００３９】
ここでは、左上（Ｘ）格子点番号と、左上（Ｙ）格子点番号と、右下（Ｘ）格子点番号と、右下（Ｙ）格子点番号と、によってセルｃの位置が表される。また、左上（Ｘ）格子点番号と、左上（Ｙ）格子点番号と、右下（Ｘ）格子点番号と、右下（Ｙ）格子点番号と、によってセルｃについての左下（Ｘ）格子点番号と、左下（Ｙ）格子点番号と、右上（Ｘ）格子点番号と、右上（Ｙ）格子点番号と、が特定可能である。
【００４０】
要素１０２の有無のフィールドには、解析対象の要素１０２を含むか否かを示す情報が設定される。また、要素１０２の有無のフィールドには、解析対象の要素１０２が所定の割合以上セルに含まれる場合、「有」とし、解析対象の要素１０２が所定の割合以上セルに含まれない場合、「無」とする。「有」が設定されるセルについては、例えば、前景のセルとも称し、「無」が設定されるセルについては、例えば、背景のセルとも称する。また、要素１０２の有無のフィールドには、要素１０２を含む解析領域１０１をモデリングした場合の媒質が設定されてもよい。例えば、媒質としては、空気や金属などが挙げられる。
【００４１】
レコード５０１−２を例に挙げると、セルｃ２の左上（Ｘ）格子点番号は１であり、セルｃ２の左上（Ｙ）格子点番号は０であり、セルｃ２の右下（Ｘ）格子点番号は２であり、セルｃ２の右下（Ｙ）格子点番号は１であり、要素１０２の有無は「有」である。要素１０２の有無のフィールドには、後述する第１特定部４０２の特定結果が設定される。
【００４２】
図６は、格子点番号と座標との対応テーブル例を示す説明図である。対応テーブル６００−Ｘは、Ｘ軸方向について、格子点番号（Ｘ）と座標との対応関係を示す。例えば、格子点番号（Ｘ）が１の場合、Ｘ軸の座標は０．１である。対応テーブル６００−Ｙは、Ｙ軸方向について、格子点番号（Ｙ）と座標との対応関係を示す。例えば、格子点番号（Ｙ）が１の場合、Ｙ軸の座標は０．１である。格子点番号（Ｙ）とＹ軸の座標とは、初期の格子点の間隔ｄによって定まる。
【００４３】
第１特定部４０２は、生成した第１セル情報１０３が示す複数のセルのうち、要素１０２に対応する複数のセルにより形成される形状を特定する。具体的に、第１特定部４０２は、例えば、複数のセルのうち、シミュレーション空間において解析領域１０１に配置された要素１０２を含むセルを前景のセルとして特定する。前景のセルは、例えば、要素１０２を少なくとも一部含むセルであってもよいし、要素１０２を所定割合以上含むセルであってもよい。所定割合は、利用者などによって設定されればよく、特に限定しない。具体的に、第１特定部４０２は、例えば、複数のセルのうち、シミュレーション空間に配置された要素１０２を含むセルを背景のセルに特定する。第１特定部４０２は、複数のセルのうち前景のセルと異なるセルを背景のセルとする。特定結果は、セルごとに上述したセルデータに含まれる要素１０２の有無に設定される。
【００４４】
つぎに、第２特定部４０３は、特定した形状に含まれる所定の形状の部分を特定する。
所定の形状の部分は、例えば、所定の凸部または凹部である。ここでは、特定された要素１０２の形状の向きが水平な凸部の例と、特定された要素１０２の形状の向きが垂直な凹部の例と、を示す。要素１０２の形状の向きについては、例えば、利用者によって指定されてもよいし、水平または垂直のいずれかの向きに揃えておくこととして予め定められていてもよい。所定の凸部または凹部とは、例えば、閾値よりも小さい凸部または凹部である。
【００４５】
図７は、向きが水平な凸部の削除例（その１）を示す説明図である。水平な凸部を含む要素１０２例を示す。格子数は、Ｘが７であり、Ｙが６である。セル数は３０である。探索開始点をセルｃ１の左下の格子点とする。ここでは、閾値を２とする。閾値については、例えば、部品や基板のホールなどのサイズに応じて利用者が決定する。
【００４６】
図７（１）に示すように、第１特定部４０２は、探索開始点を決定し、探索開始点を最初の起点にする。つぎに、第１特定部４０２は、探索方向を決定する。第１特定部４０２は、起点から探索方向に輪郭を形成する格子点を探索する。輪郭を形成するセルは、前景のセルであって、かつ背景に接するセルである。そのため、輪郭を形成する格子点とは、前景のセルの４つの頂点を形成する格子点であり、かつ背景のセルの４つの頂点を形成する格子点である。
【００４７】
探索中に、第１特定部４０２は、折れ曲がり点を検出する。折れ曲がり点とは、輪郭を形成する格子点であり、その格子点から探索方向にあるつぎの格子点によって形成されるセルがすべて背景のセルである格子点である。そして、第１特定部４０２は、折れ曲がり点を対象点として、起点から対象点までのＸ軸とＹ軸との少なくともいずれかの移動量が閾値以上である場合に、対象点を新たな起点にする。
【００４８】
そして、図７（２）に示すように、第１特定部４０２は、対象点をあらたな起点として、つぎの探索方向を決定する。起点は１の格子点である。
【００４９】
図８は、つぎの探索方向の決定方法例を示す説明図である。まず、探索するセルの移動方向と移動量の関係を表に示す。例えば、Ｙ軸のマイナス方向は方向０であり、Ｘ軸のプラス方向は方向１であり、Ｙ軸のプラス方向は方向２であり、Ｘ軸のマイナス方向は方向３である。
【００５０】
方向０に移動した場合、Ｘ軸方向の移動量は０であり、Ｙ軸方向の移動量は−１である。方向１に移動した場合、Ｘ軸方向の移動量は１であり、Ｙ軸方向の移動量は０である。方向２に移動した場合、Ｘ軸方向の移動量は０であり、Ｙ軸方向の移動量は１である。方向３に移動した場合、Ｘ軸方向の移動量は−１であり、Ｙ軸方向の移動量は０である。
【００５１】
直前の探索方向に対して、つぎの探索するセルの方向に関する優先順位を表に示す。表には、現在の起点からの探索回数と、直前の探索方向と、に対応する優先順位を示す。表によれば、逆行の探索方向が最後になるように、順につぎの探索方向となる。また、第２特定部４０３は、つぎの探索方向を例えば、以下の式（１）を用いて決定する。
【００５２】
つぎの探索方向＝（（探索回数＋直前の探索方向−１）＋４）％４・・・（１）
【００５３】
図７（２）の説明に戻って、第２特定部４０３は、例えば、直前の探索方向と、探索回数と、に基づきつぎの探索方向を決定する。例えば、探索回数は０であり、直前の探索方向が方向１であるため、第２特定部４０３は、つぎの探索方向を方向０に決定する。
【００５４】
第２特定部４０３は、方向０にはセルがないため、探索回数をカウントアップしてつぎの探索方向を決定する。例えば、探索回数は１であり、直前の探索方向が方向１であるため、第２特定部４０３は、つぎの探索方向を方向１にする。起点１から方向１にある格子点は、背景のセルを形成する格子点であるため、要素１０２を含むセルの形状における輪郭を形成する格子点でないため、第２特定部４０３は、探索回数をカウントアップしてつぎの探索方向を決定する。
【００５５】
例えば、探索回数は２であり、直前の探索方向が方向１であるため、第２特定部４０３は、つぎの探索方向を方向２にする。起点１から方向２にある格子点は、輪郭を形成する格子点である。そして、第２特定部４０３は、起点１から決定した探索方向に輪郭を形成する格子点を探索して折れ曲がり点を検出する。起点１から方向２にあるセルｃ３の右上の格子点は折れ曲がり点である。そして、第２特定部４０３は、折れ曲がり点を対象点２として起点からの移動量を特定する。対象点２の移動量は、「Ｘ方向：０、Ｙ方向：１」である。そのため、第２特定部４０３は、対象点２の移動量が閾値以上でないと判断する。そして、第２特定部４０３は、新たに対象点２から探索方向を決定して、要素１０２を含むセルの形状における輪郭を形成する格子点を探索する。
【００５６】
そして、第２特定部４０３は、探索中に、折れ曲がり点があれば、折れ曲がり点を対象点とする。このようにして、図７（２）に示すように、対象点３と対象点４とが探索される。起点１から対象点３までの移動量は、「Ｘ：１、Ｙ：１」であり、対象点４の移動量は、「Ｘ：１、Ｙ：２」である。
【００５７】
図９は、向きが水平な凸部の削除例（その２）を示す説明図である。図９（１）に示すように、第２特定部４０３は、対象点４において、Ｘ軸方向またはＹ軸方向の少なくともいずれかの移動量の絶対値が閾値である２以上であるため、対象点４を新たな起点１とする。
【００５８】
そして、図９（２）に示すように、第２特定部４０３は、起点１から探索方向を決定して要素１０２を含む複数のセルの形状における輪郭を形成する格子点を探索する。第２特定部４０３は、折れ曲がり点を対象点として検出する。そして、第２特定部４０３は、起点１から対象点までの移動量を特定し、移動量がＸ軸方向またはＹ軸方向の少なくともいずれかの移動量の絶対値が閾値以上であるか否かを判断する。ここでは、対象点２の移動量が「Ｘ：１、Ｙ：０」であり、対象点３の移動量が「Ｘ：１、Ｙ：１」であり、対象点４の移動量が「Ｘ：０、Ｙ：１」である。
【００５９】
また、第２特定部４０３は、移動量の絶対値が閾値以上でないと判断された場合に、凹凸の向きについての移動量が０に戻ったか否かを判断する。ここでは、凹凸の向きがＸ軸方向であるため、Ｘ軸方向においての移動量が起点から対象点４までの間に０に戻る。０に戻った場合、第２特定部４０３は、起点から対象点までの間を凹凸部として検出する。ここでは、１〜４までの格子点を頂点として含むセルはセルｃ１７であるため、第２特定部４０３は、セルｃ１７を凹凸部として特定する。
【００６０】
第２生成部４０４は、第１生成部４０１によって生成された第１セル情報１０３が示す要素１０２の形状から第２特定部４０３によって特定された凸部または凹部を削除した形状に基づいて解析領域１０１を複数に分割した複数のセルを示す第２セル情報１０４を生成する。具体的に、第２生成部４０４は、例えば、第１セル情報１０３において、特定された凸部または凹部についてのセルが前景であれば背景に変更し、背景であれば前景に変更する。具体的に、第２生成部４０４は、例えば、特定された凸部または凹部についてのセルが前景であれば背景に変更し、背景であれば前景に変更する。図９（３）に示すように、第２生成部４０４は、セルｃ１７を前景から背景に変更する。
【００６１】
そして、具体的に、第２生成部４０４は、解析対象の要素１０２の形状が変化しないように格子点を抜いた後の複数のセルを示す第２セル情報１０４を生成する。格子点を抜くとは、例えば、セルの有無が同一の連続する複数のセルを１つのセルにマージすることである。例えば、第２生成部４０４は、第１セル情報１０３に基づいて、要素１０２の外形を表すセルｃのＸ軸およびＹ軸の延長上にあるセルｃを境目として、セルの有無が同一の連続するセルｃを１つのセルにマージした第２セル情報１０４を生成する。
【００６２】
図１０は、凸部の削除例についてセルの減少例を示す説明図である。例えば、セルｃ１７が前景から背景になると、Ｘ軸方向の格子が１つ減る。これにより、例えば、セルｃ５とセルｃ６とがセルｃ５になり、セルｃ１１とセルｃ１２とがセルｃ１１になり、セルｃ１７とセルｃ１８とがセルｃ１７になり、セルｃ２３とセルｃ２４とがセルｃ２３になり、セルｃ２９とセルｃ３０とがセルｃ２９になる。
【００６３】
つぎに、凹凸の向きが垂直な凹部の削除例について説明する。凹凸の向きが垂直であるとは、ここではＹ軸方向であることを示す。各部の処理については、凸部の削除例と同じであるため、ここでは簡単に説明する。
【００６４】
第１生成部４０１は、上述したように、シミュレーション空間における解析領域１０１に配置される要素１０２の形状に基づいて解析領域１０１を複数に分割した複数のセルを示す第１セル情報１０３を生成する。そして、第１特定部４０２は、上述したように、生成された第１セル情報１０３が示す複数のセルのうち、要素１０２に対応する複数のセルにより形成される形状を特定する。
【００６５】
図１１は、向きが垂直な凹部の削除例を示す説明図である。ここでは、閾値が２である場合を例に挙げる。図１１（１）に示すように、第２特定部４０３は、探索開始点を起点にして起点から決定した探索方向に順に輪郭を形成する格子点を探索する。ここでは、第２特定部４０３は、起点からセルｃ６の右下の格子点までを探索する。
【００６６】
セルｃ６の右下の格子点が折れ曲がり点であるため、第２特定部４０３は、セルｃ６の右下の格子点を対象点とする。起点から対象点までのＸ軸方向の移動量の絶対値が閾値以上であるため、第２特定部４０３は、対象点を新たな起点として探索方向を決定する。探索方向の決定方法は、図８に示した例と同じであるため、詳細な説明を省略する。
【００６７】
図１１（１）に示すように、第２特定部４０３は、セルｃ６の右下の格子点である起点から、探索方向に順に輪郭を形成する格子点を探索する。第２特定部４０３は、起点から折れ曲がり点であるセルｃ２４の右上の格子点を対象点として検出する。つぎに、第２特定部４０３は、起点から対象点までのＹ軸方向の移動量の絶対値が閾値以上であると判断する。
【００６８】
そして、第２特定部４０３は、セルｃ２４の右上の格子点を新たな起点として探索方向を決定する。第２特定部４０３は、セルｃ２４の右上の格子点である起点から探索方向に順に輪郭を形成する格子点を探索する。第２特定部４０３は、起点から折れ曲がり点であるセルｃ２２の右上の格子点を対象点として検出する。第２特定部４０３は、起点から対象点までのＸ軸方向の移動量の絶対値が閾値以上であるため、対象点であるセルｃ２２の右上の格子点を新たに起点とする。
【００６９】
ここでは、セルｃ２２の右上の格子点である起点を起点１とする。そして、第２特定部４０３は、セルｃ２２の右上の格子点である起点１から探索方向に順に輪郭を形成する格子点を探索する。第２特定部４０３は、起点１から折れ曲がり点であるセルｃ２２の右下の格子点を対象点２として検出する。そして、第２特定部４０３は、起点１から対象点２までのＸ軸方向およびＹ軸方向の移動量の絶対値がいずれも閾値以上でないため、対象点２からあらたに探索方向を決定して輪郭を形成する格子点を探索する。そして、第２特定部４０３は、あらたな折れ曲がり点であるセルｃ２２の左下の格子点を対象点３として検出する。第２特定部４０３は、起点１から対象点３までのＸ軸方向およびＹ軸方向の移動量の絶対値がいずれも閾値以上でないため、対象点３からあらたに探索方向を決定して輪郭を形成する格子点を探索する。
【００７０】
第２特定部４０３は、あらたな折れ曲がり点であるセルｃ２２の左上の格子点を対象点４として検出する。第２特定部４０３は、起点１から対象点４までのＸ軸方向およびＹ軸方向の移動量の絶対値がいずれも閾値以上でないと判断する。そして、第２特定部４０３は、起点１から対象点４までの間に凹凸の向きであるＹ軸方向において、対象点２からあらたに探索方向を決定し、決定した探索方向に輪郭を形成する格子点を探索する。
【００７１】
第２特定部４０３は、起点１から対象点４までの間に、凹凸の向きであるＹ軸方向において移動量が０に戻ったため、起点１から対象点４までを凹凸部として検出する。
【００７２】
第２生成部４０４は、第１生成部４０１によって生成された第１セル情報１０３が示す要素１０２の形状から、第２特定部４０３によって特定された凹凸部を削除した形状に基づいて解析領域１０１を複数に分割した複数のセルを示す第２セル情報１０４を生成する。具体的に、第２生成部４０４は、例えば、第１セル情報１０３において、特定された凸部または凹部についてのセルが前景であれば背景に変更し、背景であれば前景に変更する。図１１（２）に示すように、第２生成部４０４は、セルｃ２２を背景から前景に変更する。これにより、第１生成部４０１によって生成された第１セル情報１０３が示す要素１０２の形状から第２特定部４０３によって特定された凹凸部を削除した形状が特定される。
【００７３】
図１２は、凹部の削除例についてセルの減少例を示す説明図である。第２生成部４０４は、例えば、解析対象の要素１０２の形状が変化しないように格子点を抜いた後の複数のセルを示す第２セル情報１０４を生成する。
【００７４】
図１２の例では、セルｃ７からセルｃ１２と、セルｃ１３からセルｃ１８と、の間にあった格子が無くなる。そのため、セルｃ７とセルｃ１３とが一つのセルｃ７になり、セルｃ８とセルｃ１４とが一つのセルｃ８になり、セルｃ９とセルｃ１５とが一つのセルｃ９になる。そして、セルｃ１０とセルｃ１６とが一つのセルｃ１０になり、セルｃ１１とセルｃ１７とが一つのセルｃ１１になり、セルｃ１２とセルｃ１８とが一つのセルｃ１２になる。
【００７５】
（解析装置１００による解析処理手順例）
図１３は、解析装置による解析処理手順例を示すフローチャートである。解析装置１００は、解析領域１０１を複数のセルに分割して第１セル情報１０３を生成する（ステップＳ１３０１）。つぎに、解析装置１００は、複数のセルの各々について、要素１０２の有無に基づき前景と背景とを特定する（ステップＳ１３０２）。そして、解析装置１００は、処理対象の要素１０２を決定する（ステップＳ１３０３）。
【００７６】
つぎに、解析装置１００は、凹凸削除処理を行う（ステップＳ１３０４）。そして、解析装置１００は、未処理の要素１０２があるか否かを判断する（ステップＳ１３０５）。未処理の要素１０２があると判断された場合（ステップＳ１３０５：Ｙｅｓ）、解析装置１００は、ステップＳ１３０３へ戻る。
【００７７】
未処理の要素１０２がないと判断された場合（ステップＳ１３０５：Ｎｏ）、解析装置１００は、変更後の第１セル情報１０３に基づいて、格子を調整して第２セル情報１０４を生成し（ステップＳ１３０６）、一連の処理を終了する。
【００７８】
図１４は、図１３で示した凹凸削除処理（ステップＳ１３０４）の詳細な説明を示すフローチャートである。まず、解析装置１００は、処理対象の要素１０２についての凹凸の向きの入力を受け付ける（ステップＳ１４０１）。つぎに、解析装置１００は、要素１０２の輪郭を形成する前景のセルに含まれる格子点から探索開始点を決定する（ステップＳ１４０２）。要素１０２の輪郭とは、要素１０２を含む複数のセルの形状における輪郭である。そして、解析装置１００は、探索方向を決定する（ステップＳ１４０３）。
【００７９】
つぎに、解析装置１００は、起点または直前の折れ曲がり点から探索方向に輪郭を形成する格子点を追跡してつぎの折れ曲がり点を対象点に検出する（ステップＳ１４０４）。そして、解析装置１００は、起点から対象点までの移動量の絶対値が閾値以上であるか否かを判断する（ステップＳ１４０５）。ステップＳ１４０５では、具体的に、解析装置１００は、起点から対象点までのＸ軸方向の移動量の絶対値と起点から対象点までのＸ軸方向の移動量の絶対値とのうちの少なくともいずれかの値が閾値以上であるか否かを判断する。
【００８０】
閾値以上であると判断された場合（ステップＳ１４０５：Ｙｅｓ）、解析装置１００は、対象点を起点に決定する（ステップＳ１４０７）。そして、解析装置１００は、つぎの探索方向を決定し（ステップＳ１４０８）、ステップＳ１４０４へ戻る。
【００８１】
一方、閾値以上でないと判断された場合（ステップＳ１４０５：Ｎｏ）、解析装置１００は、入力を受け付けた凹凸の向きについての移動量が０に戻ったか否かを判断する（ステップＳ１４０６）。移動量が０に戻っていないと判断された場合（ステップＳ１４０６：Ｎｏ）、解析装置１００は、ステップＳ１４０８へ移行する。
【００８２】
移動量が０に戻ったと判断された場合（ステップＳ１４０６：Ｙｅｓ）、解析装置１００は、起点から対象点までを含むセルについての前景と背景を変更する（ステップＳ１４０９）。ステップＳ１４０９において起点から対象点までが、凹部または凸部である。解析装置１００は、探索開始点まで探索したか否かを判断する（ステップＳ１４１０）。
【００８３】
探索開始点まで探索していないと判断された場合（ステップＳ１４１０：Ｎｏ）、解析装置１００は、ステップＳ１４０７へ戻る。探索開始点まで探索したと判断された場合（ステップＳ１４１０：Ｙｅｓ）、解析装置１００は、一連の処理を終了する。
【００８４】
以上説明したように、解析装置は、解析領域を分割した複数のセルのうち、該領域に配置される要素を含む複数のセルにより形成される形状から凸部または凹部が削除された形状に基づき該領域を複数のセルに分割する。これにより、セルの数の低減を図ることができる。電磁界解析のようにセルごとに物理量を算出する解析の場合、セルの数が多いほど解析にかかる時間が長くなるため、セルの数を低減させることにより解析にかかる時間の低減を図ることができる。
【００８５】
また、所定の凸部または凹部は、閾値よりも小さいサイズである。これにより、微少な凸部または凹部を削除することができる。
【００８６】
また、要素が基板を有する場合に、所定の凸部または凹部は基板に含まれるホールの幅よりも小さい。基板に含まれるホールより大きい凸部や凹部は、実際の基板でも生じるものであるため、無視できない。一方、基板に含まれるホールよりも小さい凸部や凹部は、実際の基板では生じない場合が多く、また解析精度に与える影響も少ない場合がある。そのため、基板における微少な凸部または凹部を削除することができ、セルの数の減少を図ることができる。
【００８７】
また、要素を含む複数のセルは、要素を所定の割合以上含む複数のセルである。これにより、複数のセルによって要素の形状をより精度よく再現することができる。
【００８８】
なお、本実施の形態で説明した解析方法は、予め用意された解析プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本解析プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、解析プログラムは、インターネット等のネットワーク３１０を介して配布してもよい。
【００８９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９０】
（付記１）コンピュータが、
シミュレーション空間における解析領域に配置される要素の形状に基づいて前記解析領域を複数に分割した複数のセルを示す第１セル情報を生成し、
生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、
特定した前記形状に含まれる所定の形状の部分を特定し、
特定した前記形状から、特定した前記部分が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
処理を実行することを特徴とする解析方法。
【００９１】
（付記２）前記所定の形状の部分は、所定の凸部または凹部であることを特徴とする付記１に記載の解析方法。
【００９２】
（付記３）前記所定の凸部または凹部は、閾値よりも小さいことを特徴とする付記２に記載の解析方法。
【００９３】
（付記４）前記要素が基板を有する場合に、前記閾値は、前記基板に含まれるホールの幅に基づく値であることを特徴とする付記３に記載の解析方法。
【００９４】
（付記５）前記要素を含む前記複数のセルは、生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を所定割合以上含むセルであることを特徴とする付記１〜４のいずれか一つに記載の解析方法。
【００９５】
（付記６）コンピュータが、
シミュレーション空間における解析領域に配置される要素の形状に基づいて前記解析領域を複数に分割した複数のセルを示す第１セル情報を生成し、
生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、
特定した前記形状に含まれる所定の形状の部分を特定し、
特定した前記形状から、特定した前記部分が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
処理を実行することを特徴とする解析プログラム。
【００９６】
（付記７）シミュレーション空間における解析領域に配置される要素の形状に基づいて前記解析領域を複数に分割した複数のセルを示す第１セル情報を生成し、生成した前記第１セル情報が示す前記複数のセルのうち、前記要素を含む複数のセルにより形成される形状を特定し、特定した前記形状に含まれる所定の形状の部分を特定し、特定した前記形状から、特定した前記部分が削除された形状に基づいて前記解析領域を複数に分割した複数のセルを示す第２セル情報を生成する、
制御部を有することを特徴とする解析装置。
【符号の説明】
【００９７】
１００  解析装置
１０１  解析領域
１０２  要素
１０３  第１セル情報
１０４  第２セル情報
４０１  第１生成部
４０２  第１特定部
４０３  第２特定部
４０４  第２生成部
４１１  記憶部
５００  セル情報
ｃ１〜ｃ３６  セル
【図１】
0006554874.tif 000002
【図２】
0006554874.tif 000003
【図３】
0006554874.tif 000004
【図４】
0006554874.tif 000005
【図５】
0006554874.tif 000006
【図６】
0006554874.tif 000007
【図７】
0006554874.tif 000008
【図８】
0006554874.tif 000009
【図９】
0006554874.tif 000010
【図１０】
0006554874.tif 000011
【図１１】
0006554874.tif 000012
【図１２】
0006554874.tif 000013
【図１３】
0006554874.tif 000014
【図１４】
0006554874.tif 000015