(57)【特許請求の範囲】
【請求項１】
回路網の状態をコンピュータでシミュレートする回路網のシミュレーション方法であって、
前記コンピュータは、入力ユニットを介して前記回路網の接続情報が入力されると、その回路網接続情報を記憶装置に書込み、この書込んだ情報をもとに複数の回路素子の電気的機能を表わす素子セルと各回路素子を繋ぐ配線を表わす接続パイプとによって前記回路網と等価的なモデルを構築し、前記回路網の電流を前記接続パイプで単位時間当たりに移動する粒子数として定義するとともに前記回路網の電圧を規定容積の前記接続パイプ内に存在する粒子数として定義し、前記素子セルに接続している接続パイプの状態を参照して前記各回路素子の電気的機能を表現するルールを予め素子セル毎に設定し、前記各回路素子の素子セルについて、設定したルールに従って前記素子セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新し、これを繰返すことにより前記回路網の状態をシミュレートすることを特徴とする回路網のシミュレーション方法。
【請求項２】
回路網の状態をコンピュータでシミュレートする回路網のシミュレーション方法であって、
前記コンピュータは、入力ユニットを介して前記回路網の接続情報が入力されると、その回路網接続情報を記憶装置に書込み、この書込んだ情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって前記回路網と等価的なモデルを構築し、前記回路網の電流を前記接続パイプで単位時間当たりに移動する粒子数として定義するとともに前記回路網の電圧を前記接続パイプを規定容積の前記接続パイプ内に存在する粒子数として定義し、前記素子セルに接続している接続パイプの状態を参照して前記各回路素子の電気的機能を表現するルールを予め素子セル毎に設定し、前記交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、前記交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定し、前記各回路素子の素子セル及び各交点セルについて、設定したルールに従って前記素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新し、これを繰返すことにより前記回路網の状態をシミュレートすることを特徴とする回路網のシミュレーション方法。
【請求項３】
前記コンピュータは、電流源である回路素子について、この回路素子を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプから単位時間当たりに電流値に相当する粒子数を取出し、他方の接続パイプに同数の粒子を与えるものとして設定したことを特徴とする請求項１又は２記載の回路網のシミュレーション方法。
【請求項４】
前記コンピュータは、電圧源である回路素子について、この回路素子を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプの粒子数と他方の接続パイプの粒子数の差が前記電圧源の電圧に相当する粒子数に等しくなるように設定したことを特徴とする請求項１乃至３のいずれか１記載の回路網のシミュレーション方法。
【請求項５】
前記コンピュータは、時間に対して非線形を有する回路素子について、この回路素子をある時刻におけるその素子の挙動をこれに等価な抵抗素子などの線形性を表現する素子セルと電流源を表現する素子セルとの組合わせ、又は、ある時刻におけるその素子の挙動をこれに等価な抵抗素子などの線形性を表現する素子セルと電圧源を表現する素子セルの組合わせで表現し、電流源を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプから単位時間当たりに電流値に相当する粒子数を取出し、他方の接続パイプに同数の粒子を与えるものとして設定し、電圧源を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプの粒子数と他方の接続パイプの粒子数の差が前記電圧源の電圧に相当する粒子数に等しくなるように設定したことを特徴とする請求項１乃至４のいずれか１記載の回路網のシミュレーション方法。
【請求項６】
前記コンピュータは、インピーダンス特性が不連続に変化する回路素子について、この回路素子を表現する素子セルに設定するルールを選択肢として複数用意し、その素子セルに接続している接続パイプの状態を参照してルールを選択することを特徴とする請求項１乃至５のいずれか１記載の回路網のシミュレーション方法。
【請求項７】
前記コンピュータは、初期の時刻における各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動を、これと等価な機能を持った組合わせ素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現し、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の過渡変化を表現することを特徴とする請求項５又は６記載の回路網のシミュレーション方法。
【請求項８】
回路網の状態をシミュレートする回路網のシミュレーション装置であって、
前記回路網の接続情報が入力される入力手段と、
この入力手段を介して入力された前記回路網の接続情報を記憶する記憶手段と、
この記憶手段に記憶された情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと前記各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって前記回路網と等価的なモデルを構築する手段と、前記回路網の電流を前記接続パイプで単位時間当たりに移動する粒子数として定義するとともに前記回路網の電圧を規定容積の前記接続パイプ内に存在する粒子数として定義する手段と、前記素子セルに接続している接続パイプの状態を参照して前記各回路素子の電気的機能を表現するルールを予め素子セル毎に設定する手段と、前記交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、前記交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定する手段と、前記各回路素子の素子セル及び各交点セルについて、設定したルールに従って前記素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新する手段と、初期の時刻又は周期の初頭において前記各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動をこれと等価な機能を持った各素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現する手段と、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の所定時刻の状態、又は、所定時刻間の過渡変化、又は、所定周期位相での状態、又は、周期内での動作状態をシミュレートする手段とを備えたことを特徴とする回路網のシミュレーション装置。
【請求項９】
コンピュータを、入力ユニットを介して回路網の接続情報が入力されると、その情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと前記各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって前記回路網と等価的なモデルを構築する手段と、前記回路網の電流を前記接続パイプで単位時間当たりに移動する粒子数として定義するとともに前記回路網の電圧を規定容積の前記接続パイプ内に存在する粒子数として定義する手段と、前記素子セルに接続している接続パイプの状態を参照して前記各回路素子の電気的機能を表現するルールを予め素子セル毎に設定する手段と、前記交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、前記交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定する手段と、前記各回路素子の素子セル及び各交点セルについて、設定したルールに従って前記素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新する手段と、初期の時刻又は周期の初頭において前記各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動をこれと等価な機能を持った各素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現する手段と、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の所定時刻の状態、又は、所定時刻間の過渡変化、又は、所定周期位相での状態、又は、周期内での動作状態をシミュレートする手段として機能させるためのシミュレーションプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気回路網を設計する場合等において、回路網の動作状況を事前に把握するためのシミュレーション方法及びシミュレーション装置並びにシミュレーションプログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来の電気回路網の解き方は、例えば、図１５に示すように、電流源Ｉ１に抵抗素子Ｒ１、Ｒ２を直列に接続した回路において、各素子が接続するノードnode１〜ｎｏｄｅ３の電圧を求める場合、この回路の電流、電圧式をマトリクスで示すと、(1)式に示すようになる。なお、Ｇは抵抗Ｒの逆数でコンダクタンスを意味している。
【０００３】
【数１】
0003886281.tif 000002
【０００４】
このマトリクスを簡単にＩ＝ＧＶと表現するものとして、Ｉ、Ｇのマトリクスが与えられたときにＶマトリクスを結果として算出するという数学的問題に置き換えることができる。ここで、上記マトリクスに対して、ＧをＬＵ分解してＩ＝ＬＵＶと変形する。なお、ＬＵマトリクスとは、(2)式に示す要素を持つ下三角行列、上三角行列からなるものとする。
【０００５】
【数２】
0003886281.tif 000003
【０００６】
もし、Ｉ＝ＬＺを満たすようなＺマトリクスが存在すると、ＬＺ＝ＬＵＶが成り立つので、この両辺からＬを消去してＺ＝ＵＶが得られる。そして、もし、Ｚが既知であればＶを求めることができる。
【０００７】
ＬＵ分解したときのＬ、Ｕマトリクスの一般項は(3)式で表現でき、また、Ｚマトリクスは(4)式で表現でき、また、最終解のＶマトリクスは(5)式で表現できる。これらを順に解いていけば、正しい解を得ることができる。
【０００８】
【数３】
0003886281.tif 000004
【０００９】
【発明が解決しようとする課題】
図１６は、従来技術の流れ図を示し、基本的には前述した内容をそのままアルゴリズム化したものである。ここで注意しなければならないのは、Ｕマトリクスを算出するときにＬの対角要素で割り算をしていることである。Ｌの対角要素とは、Ｌ１１、Ｌ２２、Ｌ３３、…であり、ここにどのような値（但し、ゼロも含む）が来るかは回路を記述したＧマトリクスに依存する。
【００１０】
もし、回路が抵抗素子だけで抵抗値が変化しないならば、Ｇマトリクスの値も確定しているので、Ｌの対角要素がゼロにならないようにすることは可能である。図１６では、もし、対角要素がゼロになった場合には、条件分岐してＧマトリクスの要素の順序を変えるようにしている。
【００１１】
ところで、もし、Ｒの値が変化するような素子であったとして、そのインピーダンス値が回路の状況によって変化するものであったとすると、事前にＬマトリクスの対角要素がゼロにならないという保障がなくなってしまう。このため、実際のアルゴリズムでは、対角要素がゼロにならないことを常に監視する必要がある。
【００１２】
また、対角要素がゼロでなくても限りなくゼロに近い値がセットされたとすると、有限ビット数で表現される数値計算では割り算による誤差が発生し、以降の計算結果に多大な計算誤差を発生させる危険性がある。特に、素子の両端電圧や電流の微分項が分母になる場合、例えば、ある時刻における電圧から微小時間前の電圧を減算した値が分母となるような計算項目があったとすると、素子の両端にかかる電圧は事前に分かるものではなくてシミュレーションを実行してはじめて分かるものである。従って、この分母がどのような値になるかは全く未知ということになり、微分係数がゼロの場合、すなわち、微小時間前の電圧値と現在の電圧値がゼロ又は限りなくゼロに近い値になってしまった場合には、数値誤差によって計算結果が精度の落ちたものになってしまい、これ以降の計算を続けても事実上意味を為さない結果になってしまう。従って、ゼロでなくても有効桁数を常に監視するアルゴリズムが必要となる。
【００１３】
これらの問題は、マトリクスを解くという方法である以上、避けることはできない。従って、基本的な解法の思想は簡素であっても、これらの問題を解決するためのアルゴリズムが必要となり、全体としては冗長な演算になってしまうという問題があった。
【００１４】
そこで、請求項１乃至７記載の発明は、回路動作をパイプ内の粒子の移動としてとらえることにより、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションすることができる回路網のシミュレーション方法を提供する。
また、請求項８記載の発明は、回路動作をパイプ内の粒子の移動としてとらえることにより、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションすることができる回路網のシミュレーション装置を提供する。
また、請求項９記載の発明は、コンピュータに、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションさせることができるシミュレーションプログラムを記録したコンピュータ読取り可能な記録媒体を提供する。
【００１５】
【課題を解決するための手段】
請求項１記載の発明は、回路網の状態をコンピュータでシミュレートする回路網のシミュレーション方法であって、コンピュータは、入力ユニットを介して回路網の接続情報が入力されると、その回路網接続情報を記憶装置に書込み、この書込んだ情報をもとに複数の回路素子の電気的機能を表わす素子セルと各回路素子を繋ぐ配線を表わす接続パイプとによって回路網と等価的なモデルを構築し、回路網の電流を接続パイプで単位時間当たりに移動する粒子数として定義するとともに回路網の電圧を規定容積の接続パイプ内に存在する粒子数として定義し、素子セルに接続している接続パイプの状態を参照して各回路素子の電気的機能を表現するルールを予め素子セル毎に設定し、各回路素子の素子セルについて、設定したルールに従って素子セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新し、これを繰返すことにより回路網の状態をシミュレートするシミュレーション方法にある。
【００１６】
請求項２記載の発明は、回路網の状態をコンピュータでシミュレートする回路網のシミュレーション方法であって、コンピュータは、入力ユニットを介して回路網の接続情報が入力されると、その回路網接続情報を記憶装置に書込み、この書込んだ情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって回路網と等価的なモデルを構築し、回路網の電流を接続パイプで単位時間当たりに移動する粒子数として定義するとともに回路網の電圧を接続パイプを規定容積の接続パイプ内に存在する粒子数として定義し、素子セルに接続している接続パイプの状態を参照して各回路素子の電気的機能を表現するルールを予め素子セル毎に設定し、交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定し、各回路素子の素子セル及び各交点セルについて、設定したルールに従って素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新し、これを繰返すことにより回路網の状態をシミュレートするシミュレーション方法にある。
【００１７】
請求項３記載の発明は、請求項１又は２記載の回路網のシミュレーション方法において、コンピュータが、電流源である回路素子について、この回路素子を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプから単位時間当たりに電流値に相当する粒子数を取出し、他方の接続パイプに同数の粒子を与えるものとして設定したことにある。
【００１８】
請求項４記載の発明は、請求項１乃至３のいずれか１記載の回路網のシミュレーション方法において、コンピュータが、電圧源である回路素子について、この回路素子を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプの粒子数と他方の接続パイプの粒子数の差が電圧源の電圧に相当する粒子数に等しくなるように設定したことにある。
【００１９】
請求項５記載の発明は、請求項１乃至４のいずれか１記載の回路網のシミュレーション方法において、コンピュータが、時間に対して非線形を有する回路素子について、この回路素子をある時刻におけるその素子の挙動をこれに等価な抵抗素子などの線形性を表現する素子セルと電流源を表現する素子セルとの組合わせ、又は、ある時刻におけるその素子の挙動をこれに等価な抵抗素子などの線形性を表現する素子セルと電圧源を表現する素子セルの組合わせで表現し、電流源を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプから単位時間当たりに電流値に相当する粒子数を取出し、他方の接続パイプに同数の粒子を与えるものとして設定し、電圧源を表現する素子セルに設定するルールを、その素子セルに接続した２つの接続パイプのうち、一方の接続パイプの粒子数と他方の接続パイプの粒子数の差が電圧源の電圧に相当する粒子数に等しくなるように設定したことにある。
【００２０】
請求項６記載の発明は、請求項１乃至５のいずれか１記載の回路網のシミュレーション方法において、コンピュータが、インピーダンス特性が不連続に変化する回路素子について、この回路素子を表現する素子セルに設定するルールを選択肢として複数用意し、その素子セルに接続している接続パイプの状態を参照してルールを選択することにある。
【００２１】
請求項７記載の発明は、請求項５又は６記載の回路網のシミュレーション方法において、コンピュータが、初期の時刻における各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動を、これと等価な機能を持った組合わせ素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現し、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の過渡変化を表現することにある。
【００２２】
請求項８記載の発明は、回路網の状態をシミュレートする回路網のシミュレーション装置であって、回路網の接続情報が入力される入力手段と、この入力手段を介して入力された回路網の接続情報を記憶する記憶手段と、この記憶手段に記憶された情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって回路網と等価的なモデルを構築する手段と、回路網の電流を接続パイプで単位時間当たりに移動する粒子数として定義するとともに回路網の電圧を規定容積の接続パイプ内に存在する粒子数として定義する手段と、素子セルに接続している接続パイプの状態を参照して各回路素子の電気的機能を表現するルールを予め素子セル毎に設定する手段と、交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定する手段と、各回路素子の素子セル及び各交点セルについて、設定したルールに従って素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新する手段と、初期の時刻又は周期の初頭において前記各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動をこれと等価な機能を持った各素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現する手段と、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の所定時刻の状態、又は、所定時刻間の過渡変化、又は、所定周期位相での状態、又は、周期内での動作状態をシミュレートする手段とを備えた回路網のシミュレーション装置にある。
【００２３】
請求項９記載の発明は、コンピュータを、入力ユニットを介して回路網の接続情報が入力されると、その情報をもとに複数の回路素子の電気的機能を表わす素子セルと配線上の電気的交点の機能を表わす交点セルと各回路素子及び配線上の電気的交点を繋ぐ配線を表わす接続パイプとによって回路網と等価的なモデルを構築する手段と、回路網の電流を接続パイプで単位時間当たりに移動する粒子数として定義するとともに回路網の電圧を規定容積の接続パイプ内に存在する粒子数として定義する手段と、素子セルに接続している接続パイプの状態を参照して各回路素子の電気的機能を表現するルールを予め素子セル毎に設定する手段と、交点セルに接続した接続パイプ内に存在する粒子数が均等になり、かつ、交点セルでの受け渡しの粒子数の総和がゼロになるように予めルールを交点セル毎に設定する手段と、各回路素子の素子セル及び各交点セルについて、設定したルールに従って素子セル及び交点セルに接続した接続パイプ間への粒子の受け渡しを行い、その接続パイプでの単位時間当たりに通過する粒子数とその接続パイプ内の粒子数を更新する手段と、初期の時刻又は周期の初頭において各素子セルの挙動をシミュレートし、微小時間進んだときの非線形素子の動作点における挙動をこれと等価な機能を持った各素子セルのパラメータを変更するか、又は、これと等価な素子セルの条件分岐を新しく実施することで表現する手段と、微小時間進んだときの各素子セルの挙動をシミュレートし、これを微小時間進める毎に繰返すとともに所定の時間まで繰返すことにより、回路網の所定時刻の状態、又は、所定時刻間の過渡変化、又は、所定周期位相での状態、又は、周期内での動作状態をシミュレートする手段として機能させるためのシミュレーションプログラムを記録したコンピュータ読取り可能な記録媒体にある。
【００２４】
【発明の実施の形態】
本発明の実施の形態を図面を参照して説明する。
図１は電流源１に抵抗Ｒを接続した閉ループ回路で、抵抗Ｒの両端にはそれぞれ電圧Ｖ1とＶ2が発生し、前記電流源１からは電流ｉが供給されている。これに相当する粒子モデルを示すと図２に示すようになる。
【００２５】
この粒子モデルでは、電流源１をポンプＰに置き換え、このポンプＰは単位時間当たり所定の粒子を下のパイプ２から拾って上のパイプ３に出すという機能を果たす。また、抵抗Ｒに相当する機能は上のパイプ３から下のパイプ２への粒子の通りにくさとして表現する。前記パイプ２，３の内容積を説明を簡単にするために単位体積とする。これにより、パイプ２，３中の粒子の数はそのまま粒子密度を表わすことになる。
【００２６】
この粒子密度を電圧に見立てて、単位時間当たりの粒子の移動数を電流と見立てれば、抵抗Ｒに相当する部分での粒子の通りにくさは物理量として表現することができる。具体的に示すと、例えば、電流源１が１アンペア、抵抗Ｒが１００Ωとすると、抵抗Ｒの両端に発生する電位差は１００Ｖとなる。これに相当するものとして、１アンペアを粒子１０００個で表現し、抵抗Ｒはそのまま通りにくさの度合い１００として表現する。
【００２７】
これにより、均衡した状態では、抵抗Ｒの両端には粒子数として１０００×１００＝１０００００個分の差が生じることになる。なお、粒子の個数は必ずしも正である必要はなく、ゼロあるいは負の数であってもかまわない。結果的に必要なのは、抵抗Ｒの両端の個数差だけとなる。
【００２８】
図３の(a)は電気回路における配線の結線を示し、一般的な電気回路では交点は単なる結線であり、素子としての認識はない。また、交点でのノードは全てａで共通であり、回路上は区別していない。
【００２９】
これに対し、粒子モデルでは、図３の(c)に示すように、交点を素子と同じ機能セルとして扱い、交点セルに接続するノードは全て異なる。すなわち、ａ，ｂ，ｃの３つの名称のノードが存在する。そして、この交点セルにおいては、接続する３つのパイプに対して、それぞれのパイプに内在する粒子数を平均化し、その時の粒子の移動数が総和としてゼロとなるように取り決める。
【００３０】
なお、交点において、電圧、電流を参照するのみであれば、図３の(b)に示すように、粒子が移動するパイプとこれを参照するパイプの組合わせとして表現することもできる。
【００３１】
図４はダイオードの機能を模した素子セルで、この素子セルは接続する２端子に極性を持ち、例えば、(a)に示すように、カソードを＋極性、アノードを−極性としたときには、カソード側のパイプの粒子数がアノード側のパイプの粒子数より多ければ粒子の移動は起こらず、逆に、(b)に示すように、カソードを−極性、アノード＋極性としたときには、アノード側の粒子数が多くなれば粒子はスムーズにアノード側からカソード側へ移動できるものとする。
【００３２】
このような機能を素子セルとして記述しておけば整流作用としてのダイオード特性を得ることができる。なお、もう少し厳密なダイオード特性が必要であれば、例えば、接合容量、接合電位、温度係数、降伏電圧などであるが、これらの要素を含む任意の関数としてセルを定義してもよい。また、１つの素子セルとして記述するのが冗長であれば、より根源的な線形素子の組合わせとしてダイオードの詳しい記述を行ってもよい。
【００３３】
次に、コンデンサ素子をモデル化する場合について述べると、コンデンサは一般的に(6)式で示すように、両端電圧Ｖを電流の積分式として表現できる。これを有限の微小時間で区切った領域の総和と考えれば、積分記号はΣ関数として表記でき、これを微小時間前の両端電圧Ｖｏｌｄと電流の１次項として表現できる。
【００３４】
【数４】
0003886281.tif 000005
【００３５】
これは電流と電圧の線形式であるから、Ｖｏｌｄという電圧源とｄｔ／Ｃという抵抗成分を持つことを意味し、これをより根源的な線形素子に分解して等価的に表現すれば、図５の(a)に示すコンデンサＣは、図５の(b)に示すように、抵抗素子ｄｔ／Ｃと電圧源Ｖｏｌｄの直列接続として表現できる。
【００３６】
このコンデンサ素子を含む計算は、ある時刻ｔにおける計算をしているわけで、時刻ｔより微小時間前の動作状態はすでに確定している。従って、時刻ｔにおける計算をする上でＶｏｌｄは固定値の電圧源と見なすことができる。抵抗成分についても微小時間区分ｄｔは既知であり、コンデンサ容量Ｃも既知であるから、これも固定値である。従って、時刻ｔにおけるコンデンサの挙動はこれらの根源的な素子で表現できる。
【００３７】
次に、インダクタ素子をモデル化する場合について述べると、インダクタは、(7)式で示すように、コンデンサと同様左辺をＶで記述してもよいが、その場合には右辺は電流の微分項となる。これでも計算は可能であるが、十分に収束していない場合の電流値は不正確であり、不正確な電流に対して微分を適用することは好ましくない場合がでて来る。
【００３８】
そこで、(8)式で示すように、左辺に電流を持って来て、右辺を電圧の積分の形にする。こうすると、時刻ｔにおける電流は、図６の(b)に示すように、微小時間前の電流値Ｌ／Ｄｔ×ｉｏｌｄと抵抗値Ｌ／ｄｔの抵抗に流れる電流の和であるから、これをより根源的な素子で表現すれば、図６の(a)に示すインダクタＬは、図６の(c)に示すように、抵抗素子Ｌ／ｄｔと電流源ｉｏｌｄの並列接続として表現できる。
【００３９】
【数５】
0003886281.tif 000006
【００４０】
図７はリーケージトランスＴの一般的な表記である。このトランスＴにおいては、ＬpとＬsという２つのインダクタが磁気結合しており、その結合の度合いは結合係数ｋで表現している。このトランスＴの１次側と２次側で成り立つ関係式は、(9)式、(10)式、(11)式に示す通りである。なお、Ｍｐｓは相互インダクタンスを示している。
【００４１】
【数６】
0003886281.tif 000007
【００４２】
上記(9)式、(10)式、(11)式をインダクタの場合と同じ発想で変形すると、(12)式及び(13)式が得られる。ｉｐｐａｓｔ、ｉｓｐａｓｔはそれぞれ微小時間前の１次側、２次側に流れる電流を示している。Ｖｐ、Ｖｓはそれぞれ時刻ｔにおける１次側、２次側の両端電位差を示している。
【００４３】
【数７】
0003886281.tif 000008
【００４４】
この式を根源的な素子セルで置き換えたものが図８のモデルである。すなわち、このモデルは、電流源セルＩpｐａｓｔ、Ｉsｐａｓｔ、抵抗セルＲＴＰ１、ＲＴＳ１、ＲＴＭ１、 ＲＴＭ１及び交点セルの組合わせで表現できる。
【００４５】
次に回路図をどのように認識するかについて説明する。
図９は１石式半波電圧共振インバータ回路であり、このインバータ回路は、直流電源Ｖ1にダイオードＤ1とコンデンサＣ1との並列回路を介してコンデンサＣ2を接続し、このコンデンサＣ2に、リーケージトランスＴの１次側Ｌ1とコンデンサＣ3との並列回路とスイッチＳ1との直列回路を接続している。そして、前記スイッチＳ1にダイオードＤ2を逆極性にして並列に接続して半波スイッチ回路を形成している。
【００４６】
前記トランスＴの２次側Ｌ2にコンデンサＣ4を介して負荷回路Ｒ1を接続し、その負荷回路Ｒ1に抵抗Ｒ2とコンデンサＣ5との直列回路を並列に接続している。
このインバータ回路は、直流電源Ｖ1を入力とし、コンデンサＣ3と１次側Ｌ1の並列共振回路をスイッチＳ1とダイオードＤ2からなる半波スイッチ回路で開閉することによって並列共振を持続させ、その共振エネルギーの一部をトランスＴのリーケージ成分によって２次側に伝達し、負荷回路Ｒ1を駆動する。
【００４７】
このインバータ回路を前述した素子セルで置き換えると、図１０に示すような等価セル図面になる。すなわち、コンデンサＣ2は抵抗素子ＲＣ２と電圧源ＶＣ２の直列接続となり、コンデンサＣ3は抵抗素子ＲＣ３と電圧源ＶＣ３の直列接続となり、コンデンサＣ4は抵抗素子ＲＣ４と電圧源ＶＣ４の直列接続となり、コンデンサＣ5は抵抗素子ＲＣ５と電圧源ＶＣ５の直列接続となる。また、リーケージトランスＴは、電流源セルＩＴＰ１、ＩＴＳ１、抵抗セルＲＴＰ１、ＲＴＳ１、ＲＴＭ１、 ＲＴＭ１及び交点セルＸ4、Ｘ5、Ｘ6、Ｘ7の組合わせで表現している。
【００４８】
図中Ｙ1、Ｙ2は３本のパイプが交わる交点セルで、Ｘ1、Ｘ2、…Ｘ8は４本のパイプが交わる交点セルを意味している。これらはパイプの交わる本数が異なるだけで内部での処理の方法は同一である。スイッチＳ1はダイオードと同じように導通か非導通かの機能として表現しており、制御端子に印加されている電圧（粒子数）で判断している。制御端子にはパルス電源Ｐ1が接続しており、その基準電位は参照セルによってノード１５の粒子数を参照し、この粒子数に所定のパルス電圧分の粒子数を加算したものをスイッチ制御用電圧としている。ノード名は図９では交点の周りで同一であったものが、図１０では全て別のノードとして付け直している。従って、図９ではノード０〜７であるのに対し、図１０ではノード０〜３９となっている。
【００４９】
このような等価セル構成を入力する情報として表１に示す配列を定義する。この表１においてＮＭＥ＄は素子セル又は交点セルに付けられた名称を格納する配列で、名称の最初の１文字がセルの属性を示している。また、配列のインデックスは「１」で始まり、セルの個数分だけある。ここではセルの総数が３２個なので、インデックスは「３２」まで存在する。
【００５０】
【表１】
0003886281.tif 000009
【００５１】
ＮＰ、ＮＭはセルが接続するノード番号を格納する配列である。また、素子が２端子ではなく、それ以上の端子数となる場合には、ＮＰ、ＮＭに続いてＮ３、Ｎ４、…Ｎｎという配列を使用する。ダイオードなどのように極性を有する素子の場合にはこの極性記述が重要となる。抵抗などのように極性を解くに有しない場合にはこの極性は特に意味を持たないが便宜上同じ書き方とする。ＤＴＡはセルの持つ固有情報を格納する配列であり、電圧源であればその電圧値を記入し、抵抗素子であればその抵抗値を記入し、交点セルなどのように特に固有情報を必要としない場合には記載しない。コンデンサ、インダクタ、リーケージトランスなどのように、より根源的な等価セルの組として表現されている場合にはそれぞれの等価セルがセルの固有情報を記載する。この場合の固有情報は前述した等価式から得ることができる。
【００５２】
最後に記されているｎｅｗ＿ｉは、セルの個数分だけループさせるための変数である。なお、パイプの中に存在する粒子数は、Ｖ(i)という配列に保存し、単位時間に通過する粒子数は、II(i)という配列に保存する。ここでのｉはセルの番号ではなく、パイプのノード番号である。従って、パイプの数だけＶ、II配列は存在することになる。インダクタやコンデンサなどを含む解析に際して、初期値が必要な場合には、このＶ、II配列の初期データとして前述した(6)〜(8)式による変換で得られる値をセットする。
【００５３】
次にセルにおける粒子の受け渡し処理のプログラムの実例を示す。例えば、Ｒで始まる抵抗セルの場合には、次のように記述する。
Case”R”
V_temp=V(NP(i),t_cell)-V(NM(i),t_cell)
i_temp=V_temp/DTA(i)
V(NP(i),t_cell)=V(NP(i),t_cell)-i_temp
V(NM(i),t_cell)=V(NM(i),t_cell)+i_temp
ここで、Ｖは前述の粒子数を記憶する配列である。今度はさらに時間に関する次元も取り入れてＶ(i,t)としたとき、ｉはパイプに付けられたノード番号を示しており、前述の配列ＮＭ＄(i)で定義したnew_iのループの順番に相当する番号ではない。ｔは計算する時の時刻に相当するステップ数を示している。もし、定常解を得るだけであれば、ｔの項は不要であり、過渡解析をするのであれば、ｔが微小時間毎に更新することになる。
【００５４】
従って、ここでいうＶ（ＮＰ(i)、t_cell）は、正極ノード配列ＮＰ(i)が示すパイプにおける時間ステップ数t_cellの時の粒子数を示している。同様に、Ｖ（ＮＭ(i)、t_cell）は、負極ノード配列ＮＭ(i)が示すパイプにおける粒子数であり、これらの差を取ったＶ_tempは抵抗セルの両端のパイプの粒子数差、すなわち、電位差を表わしている。抵抗セルの場合にはＤＴＡ配列には抵抗値が入力されているから、このとき流れるべき電流に相当する粒子流は、ｉ_temp=Ｖ_temp／ＤＴＡ(i)として表現できる。抵抗セルにおいては、正極端子から粒子が流入し、負極端子から同数の粒子が出て行くので、両端のパイプの粒子数からそれぞれｉ_tempに相当する数を増減させる。以上が抵抗としてのセルの機能である。
【００５５】
また、ダイオードセルは、単純に順方向へ電流を流し、逆方向へは全く流さないという整流作用だけを持たせたセルで、順方向へ流すときのＰＮ接合電位に相当する電圧を定義する。
0003886281.tif 000010
ここで、Ｖ_tempは前述したものと同じでダイオードセルにかかっている電位差を計算している。ＮＰ(i)をダイオードのアノード側、ＮＭ(i)をカソード側と定義してあれば、Ｖ_tempはアノード→カソードの方向で見た電位差になるから、これは順方向電圧に相当する。そして、順方向電圧が０．７ボルト以上になったら、粒子が移動するものとして、移動する粒子の数はＶ_temp/2とする。この粒子数は素子の両端で同じでなくてはならないから、アノード側からこの数を引き、カソード側へ足すように記述する。なお、順方向電圧が０．７ボルト以下の場合にはダイオードは遮断されるので、粒子の移動は全く伴わない。従って、粒子の移動を記述する必要がない。
【００５６】
また、交点セルは、例えば、３端子の場合には次のようになる。電気回路の場合には交点において、電圧が共通になるとともに出入りする電流の総和がゼロであることの両方を満たさなくてはならない。これは連立式を解く上で必須である。しかし、ここでは、交点セルで記述すべき機能は、接続するパイプ間で粒子数が共通になるということだけである。この交点セルを機能させれば、平衡した状態においては結果として出入りする粒子流（単位時間当たりの粒子数）の総和はゼロとなる。つまり、この粒子モデルでは、粒子数（電圧）が基本的な物理量であって、粒子流（電流）は従属的な物理量であることが判る。
Case”Y”
V_temp=(V(NP(i),t_cell)+V(NM(i),t_cell)+V(N3(i),t_cell))/3
V(NP(i),t_cell)=V_temp
V(NM(i),t_cell)=V_temp
V(N3(i),t_cell)=V_temp
電流源セルは、定常状態において一定の電流が流れている状況を再現すればよいので、単位時間当たりの粒子数を両端のパイプに出入りさせればよい。セルのスキャンループを単位時間当たり何回行うかということと電流値は比例関係にあるので、ＤＴＡ配列に入るべき値は電流値の係数倍となる。最も判りやすい方法は、ＤＴＡ配列に電流値そのものを入れて、スキャンループは単位時間当たり１回行うと定義することである。
Case”Ｉ”
V(NP(i),t_cell)=V(NP(i),t_cell)+DTA(i)
V(NM(i),t_cell)=V(NM(i),t_cell)=DTA(i)
次に、これらのセルを使った解析のアルゴリズムについて述べる。
図１１は、過渡解析の例を示す流れ図で、プログラムを実行すると、Ｓ１にて、配列宣言、すなわち、必要な配列や変数などのメモリ空間を確保し、次に、Ｓ２にて、解析したい回路の情報を入力する。ここで入力する回路情報は、一般的な電気回路のサーキットデータとする。
【００５７】
次に、Ｓ３にて、等価セル情報抽出を行い、Ｓ４にて、パイプ情報抽出を行う。すなわち、電気回路のサーキットデータの中には直接素子セルにはならないものも存在するので、一度等価セルの回路情報に展開する。このとき、交点も交点セルに置き換え、今まで交点の位置で共通だったノード番号も交点セルに置き換えることで、ノード番号は別のものになる。このノード番号はパイプの識別として利用する。
【００５８】
次に、Ｓ５にて、初期値設定を行う。すなわち、シミュレーションを実行する初期の電気的状態を設定する。例えば、コンデンサであれば初期電圧であり、インダクタであれば初期電流となる。初期電圧は、パイプに存在する初期の粒子数を決めることであり、Ｖ配列の初期値を決めることを意味する。初期電流は、インダクタから流出、流入する初期の単位時間当たりの粒子数をII配列として予め決めておくことを意味する。
【００５９】
次にループ構造について述べる。このループ構造中の「各セルで粒子の受け渡し」とは、前述した表１のセルについて、それぞれの属性とそれぞれが持つ固有情報に従って粒子の受け渡しを行うことを意味し、これを全セルについて行っている。
【００６０】
第１ループは、ある時刻における回路の定常状態をシミュレートするためのもので、第１ループは始めは粒子の状態が全体として均衡しておらず、何度か繰返すうちに各パイプにおける粒子数と粒子の移動量が収束して行く。所定の収束条件を満たしたとき、この時刻における状態が確定したと見なして第１ループを抜けるようになる。収束の判断材料は、Ｖ配列やII配列の全部又は重要な部分を見て第１ループの前回の値と今回の値との差が収束誤差であり、これと所定の収束条件との比較ということになる。
【００６１】
第１ループを抜けると、今度は時刻を微小時間だけ前進させて、再び第１ループに戻る。この繰り返しをさせるのが第２ループであり、時刻０から所望の時刻までこのループを繰返すことになる。微小時間進めたときに行うことは、例えば、インダクタやコンデンサであれば、図５及び図６に示すような等価変換を行っていれば、例えば、図６の(c)に示すようなインダクタ等価モデルの場合は、微小時間進めたときの新たなインピーダンスは、微小時間前の等価モデルに流れた単位時間当たりの粒子数の総和を各II配列と見て計算し、これを新たに電流源ｉｏｌｄの固有情報に設定する。また、コンデンサであれば、図５の(b)の等価モデルの電圧源の固有情報を同様にしてＶ配列の微小時間前の値から算出する。
【００６２】
このような過渡解析の場合には、第１ループでの収束が重要であり、第１ループでの収束判断を厳しくする必要がある。この判断を甘くすると、その結果が後の時間の動作へと次々に影響を及ぼすことになる。
【００６３】
図１２は周期解析の例を示す流れ図で、基本的な流れは上述した過渡解析と同様である。異なる点は過渡解析では第２ループが時刻による判断であったのに対し、この周期解析では周期の終了判断になっている点と、新たに第３ループが組み込まれた点である。
【００６４】
この周期解析では、第２ループが終了した時点でとりあえず１周期分のシミュレーションは完了するが、これは与えられた初期条件に対して１周期分の過渡解析を行ったという意味合いである。実際の回路でもそうであるが、初期条件からスタートして周期動作が安定するまでには何サイクルか動作を繰返さないと定常状態にはならない。これはシミュレーションでも同様であり、周期的動作の定常状態を得るには、第３ループで周期を何度か繰り返さなくてはならない。
【００６５】
これだけでは過渡解析を繰り返しているに過ぎないが、メリットとしては第１ループ内での収束判断を最初は甘くしても良いということである。つまり、周期の定常解を得る過程は必ずしも過渡的に正しい経緯を辿る必要はなく、むしろ第３ループを多く回して早めに時定数の大きい素子の動作を収束させた方がよい。
【００６６】
図１３は、上述したシミュレーションを実現するためのシミュレーション装置の構成を示すブロック図で、シミュレーションユニット１１、入力デバイス１２、出力デバイス１３からなり、入力デバイス１２としては、回路接続情報をキー操作により直接入力するキーボードや回路接続情報をファイル形式で保存しておき、前記シミュレーションユニット１１にこの保存した回路接続情報を読み込ませるフロッピディスクや光磁気ディスク等の記録媒体がある。また、出力デバイス１３としては、モニタ画面表示するディスプレイや印刷出力するプリンタ等がある。
【００６７】
前記シミュレーションユニット１１は、前記入力デバイス１２からの回路接続情報を内部処理に適した情報に変換して取込む入力ユニット１４、この入力ユニット１４からの情報を記憶装置１５の回路情報格納エリア１５１に書き込み、この書き込んだ情報をもとに等価的なセルのモデルを構築し、その情報をセル配列格納エリア１５２に保存し、また、これらのセルに接続するパイプ内の粒子数や粒子が単位時間に動いた数などを粒子状況格納エリア１５３に逐次記憶するとともにこの格納エリア１５３に初期値をセットするなどの演算処理を行う演算ユニット１６及びこの演算ユニット１６の演算結果を前記出力デバイス１３に適したフォーマットに変換する出力ユニット１７を備えている。
【００６８】
このような構成のシミュレーション装置を使用して回路動作のシミュレーションを行ったときのモニター画面による出力例を示すと、図１４に示すようになる。この出力例は、図９、図１０及び表１に示す回路構成のものを図１２に示す周期解析の流れ図に従ってシミュレートした結果を示している。画面の左側には入力した回路素子の定数をリスト出力し、画面の右側にはスイッチ周期における見たいノードの電圧、電流波形を表示している。そして、収束判定するための条件を右側上部の４つの窓に表示している。
【００６９】
このようなシミュレーション装置を使用することで、回路の動作状況が分かり易く、また、回路の設計を効率良く行うことができる。すなわち、回路動作を基本的にはパイプ内の粒子の移動としてとらえているので、演算の内容は足し算か引き算であり、割り算が存在しないので、アルゴリズムの本質としてオーバーフローを引き起こすことはない。これにより、どのような回路構成、回路素子の組合わせであっても、途中で計算を中断することなく、所定の時間範囲のシミュレーションを実行することができる。
【００７０】
なお、パイプに関しては足し算、引き算のみであるが、素子セルに関しては素子の機能によっては割り算が含まれる。例えば、抵抗素子を表わす素子セルの記述では、電流に相当する粒子の移動量を計算するときに抵抗値による割り算を行っている。もし抵抗値にゼロがセットされていれば同じようにオーバーフローとなるが、抵抗値がどのような値かは事前に知ることができ、また、適切な処理も簡単に施せる。すなわち、素子セルの記述さえ確実に行っておけばよく、シミュレーションの方法自体から切り離して考えることができる。
【００７１】
なお、フロッピディスクや光磁気ディスク等の記録媒体に、回路接続情報のみでなく、前記シミュレーションユニット１１が行うシミュレーション処理のプログラム自体も格納し、最初にシミュレーションユニット１１が記録媒体からシミュレーション処理のプログラムを読み込んでから回路接続情報を読み込んで回路動作のシミュレーションを実行するということもできる。
【００７２】
【発明の効果】
請求項１乃至７記載の発明によれば、回路動作をパイプ内の粒子の移動としてとらえることにより、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションすることができる回路網のシミュレーション方法を提供できる。
請求項８記載の発明によれば、回路動作をパイプ内の粒子の移動としてとらえることにより、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションすることができる回路網のシミュレーション装置を提供できる。
請求項９記載の発明によれば、コンピュータに、回路動作を比較的簡単なアルゴリズムで確実にシミュレーションさせることができるシミュレーションプログラムを記録したコンピュータ読取り可能な記録媒体を提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態における電気回路例を示す図。
【図２】図１の回路例をパイプを通る粒子モデルとして示す図。
【図３】電気回路の交点及び同実施の形態における接続パイプを参照するモデル、交点セルのモデルを示す図。
【図４】同実施の形態におけるダイオードセルのモデルを示す図。
【図５】コンデンサ及び同実施の形態におけるコンデンサの等価モデルを示す図。
【図６】インダクタ及び同実施の形態におけるインダクタの等価モデルを示す図。
【図７】リーケージトランスを示す図。
【図８】同実施の形態におけるリーケージトランスの等価モデルを示す図。
【図９】半波電圧共振インバータの回路構成図。
【図１０】同実施の形態における半波電圧共振インバータの等価モデルを示す図。
【図１１】同実施の形態における過渡解析処理を示す流れ図。
【図１２】同実施の形態における周期解析処理を示す流れ図。
【図１３】同実施の形態におけるシミュレーション装置の構成を示すブロック図。
【図１４】同シミュレーション装置での出力例を示す図。
【図１５】従来の電気回路網の解き方を説明するための回路図。
【図１６】同電気回路網の演算処理を示す流れ図。
【符号の説明】
１…電流源
２，３…パイプ
Ｒ…抵抗
【図１】
0003886281.tif 000011
【図２】
0003886281.tif 000012
【図３】
0003886281.tif 000013
【図４】
0003886281.tif 000014
【図５】
0003886281.tif 000015
【図６】
0003886281.tif 000016
【図７】
0003886281.tif 000017
【図８】
0003886281.tif 000018
【図９】
0003886281.tif 000019
【図１０】
0003886281.tif 000020
【図１１】
0003886281.tif 000021
【図１２】
0003886281.tif 000022
【図１３】
0003886281.tif 000023
【図１４】
0003886281.tif 000024
【図１５】
0003886281.tif 000025
【図１６】
0003886281.tif 000026