Dsl (Digital Simulation Library) for .Net
The Processor type exposes the following members.
メソッド
名前 | 説明 | |||||
---|---|---|---|---|---|---|
AddVariables |
Processor オブジェクトに Variable(複数可)を登録します。
既に登録されている Variable は登録されません(二重登録のチェックが実行されます)。
|
|||||
DeterminateOrder()()()() |
Processor オブジェクトが保持する配列 Variables に登録された Variable の(非定常状態)計算順序を決定し、必要なら連立方程式を組み立てます。
|
|||||
DeterminateOrder(Boolean) |
配列 Variables に登録された Variable の計算順序を決定し、必要なら連立方程式を組み立てます。
|
|||||
Equals | (Inherited from Object.) | |||||
Finalize | (Inherited from Object.) | |||||
GetHashCode |
特定の型のハッシュ関数として機能します。 (Inherited from Object.) |
|||||
GetType |
現在のインスタンスの Type を取得します。 (Inherited from Object.) |
|||||
GetValueBeforeIntegration |
与えられた Variable の各時間ステップ毎の積分計算開始前における値を返します。
<I>型以外の変数は単にその時の値(Value)が返ります。<I>型変数の場合
積分計算開始前に内部で保存されている(1ステップ前の)値が帰ります。
|
|||||
IsLeafVariable |
代数計算時、指定した Variable が「右辺変数」を持たないとき true、値(Value)が別な変数から計算される場合は false になります。
<S>型や<T>型変数等(代数計算時に「定数」とみなされるもの)からのみ直接または間接的に計算される変数も true と
なります(これは DeterminateOrder() の結果に依存します)。
|
|||||
LogFlush |
ログファイル出力を確定(Flush)させる。
|
|||||
LogString |
ログファイルに文字列を書き込む
|
|||||
LogTime |
Processor オブジェクトが作成された時刻(BornTime)からの経過時間と現在時刻を文字列として返します。
|
|||||
LogWrite |
"LogTime()+st"の形式でログファイルに出力する。
|
|||||
LogWriteLine |
"LogTime()+st"の形式でログファイルに出力後、改行する。
|
|||||
MemberwiseClone |
現在の Object の簡易コピーを作成します。 (Inherited from Object.) |
|||||
OnAfterAlgebraicComputation |
代数計算実行直後に呼ばれる メソッドです。
Run()が代数計算実行直後に呼び出します。
本メソッドは virtual です。base は AfterAlgebraicComputation が設定されていればそちらを呼び出します。
設定されていなければ単にリターンします。
代数計算は各積分ステップ毎に計算されるので終了時間に達するまで繰り返し呼び出されます。
|
|||||
OnAfterBlockComputation |
代数計算中の連立方程式を解いた直後に呼ばれるメソッドです。
Run()が連立方程式計算実行直後に呼び出します。
本メソッドは virtual です。base は AfterBlockComputation が設定されていればそちらを呼び出します。
代数計算は各積分ステップ毎に計算されます。通常、代数計算には複数の連立方程式が含まれますので、それぞれの
連立方程式が計算された直後に本メソッドが呼ばれることになります(連立方程式が無ければ呼ばれません)。
|
|||||
OnAfterComputation |
計算実行後に呼ばれる メソッドです。
DeterminateOrder()と
Run()が実行直後に呼び出します。
どちらのメソッドから呼び出されたかは ExecutionStatus で区別できます。本メソッドは virtual です。
base は AfterComputation が設定されていればそちらを呼び出します。設定されていなければ
単にリターン。
|
|||||
OnAfterIntegration |
各積分ステップで常微分方程式を解いた直後に呼ばれるメソッドです。
Run()が常微分方程式を解いた直後に呼び出します。
本メソッドは virtual です。base は AfterIntegration が設定されていればそちらを呼び出します。
代数計算は各積分ステップ毎に計算されます。
|
|||||
OnAfterRestore |
Processor オブジェクトの情報を TextReader から読み込む Restore(Object, TextReader) と RestoreContents(Object, TextReader) メソッドの終了時に
呼び出されるメソッドです。最初は Restore() の終了時、次に RestoreContents() の終了時です。
終了処理が必要な場合は override します。
base クラスでは AfterRestore が設定されていればそれを呼び出します。
AfterRestore が設定されていなければ何もせず true をリターンします。
|
|||||
OnAfterSave |
Processor オブジェクトの情報を TextWriter に出力するSave(Object, TextWriter) と SaveContents(Object, TextWriter)メソッドの終了時に
呼び出されるメソッドです。呼び出しは2回です。最初は Save() の終了時、次に SaveContents() の終了時です。
終了処理が必要な場合は override します。
base クラスでは AfterSave が設定されていればそれを呼び出します。
AfterSave が設定されていなければ何もせずリターンします。
|
|||||
OnBeforeAlgebraicComputation |
代数計算実行直前に呼ばれるメソッドです。
Run()が代数計算実行直前に呼び出します。
本メソッドは virtual です。base は BeforeAlgebraicComputation が設定されていればそちらを呼び出します。
設定されていなければ単に true をリターンします。
代数計算は各積分ステップ毎に計算されるので終了時間に達するまで繰り返し呼び出されます。
|
|||||
OnBeforeBlockComputation |
代数計算中の連立方程式を解く直前に呼ばれるメソッドです。
Run()が代数計算中の連立方程式を解く直前に呼び出します。
本メソッドは virtual です。base は BeforeBlockComputation が設定されていればそちらを呼び出します。
設定されていなければ単に true をリターンします。
代数計算は各積分ステップ毎に計算されます。通そして、通常、代数計算には複数の連立方程式が含まれますので、それぞれの
連立方程式が計算される直前に本メソッドが呼ばれることになります(連立方程式が無ければ呼ばれません)。
|
|||||
OnBeforeComputation |
計算実行前に呼ばれるメソッドです。
DeterminateOrder()と
Run()が実行直前に呼び出します。
どちらのメソッドから呼び出されたかは ExecutionStatus で区別できます。本メソッドは virtual です。
base は BeforeComputation が設定されていればそちらを呼び出します。設定されていなければ
単に true を返します。
|
|||||
OnBeforeIntegration |
各積分ステップで常微分方程式を解く直前に呼ばれるメソッドです。
Run()が常微分方程式を解く直前に呼び出します。
本メソッドは virtual です。base は BeforeIntegration が設定されていればそちらを呼び出します。
代数計算は各積分ステップ毎に計算されます。
|
|||||
OnBeforeRestore |
Processor オブジェクトの情報を TextReader から読み込むRestore(Object, TextReader) と RestoreContents(Object, TextReader)メソッドの直前に
呼び出されるメソッドです。呼び出しは2回です。最初は Restore() の開始時、次に RestoreContents() の開始時です。
開始処理が必要な場合は override します。
base クラスでは BeforeRestore が設定されていればそれを呼び出します。
BeforeRestore が設定されていなければ何もせず true をリターンします。
|
|||||
OnBeforeSave |
Processor オブジェクトの情報を TextWriter に出力するSave(Object, TextWriter) と SaveContents(Object, TextWriter) メソッドの開始直前に
呼び出されるメソッドです。呼び出しは2回です。最初は Save() の呼び出し時、次に SaveContents() の呼び出し時です。
開始処理が必要な場合は override します。
base クラスでは BeforeSave が設定されていればそれを呼び出します。
BeforeSave が設定されていなければ何もせず true をリターンします。
|
|||||
OnIncrementTime |
積分計算実行前に呼ばれるメソッドで、次の積分開始時間を計算します。
Run()が積分計算実行後に呼び出します。
積分は各積分ステップ毎に計算されるので終了時間に達するまで繰り返し呼び出されます。
|
|||||
OnIsPrintTime |
代数計算実行前に呼ばれる delegate で、与えられた時刻が「印刷」時刻かどうかを判定します。
「印刷」時刻の場合、COMPUTED_PRINT_TIME のフラグを持つ Variable が計算対象に追加されます。
Run()が代数計算実行直前に呼び出します。
代数計算は各積分ステップ毎に計算されるので終了時間に達するまで繰り返し呼び出されます。
|
|||||
Reset |
Processorの状態を DeterminateOrder() 呼び出し前の状態に戻します。
|
|||||
ResetIndex |
変数の Index と OrderIndex を設定します。DeterminateOrder() が終了したときに自動的に Processor 内部で呼び出されますが、
変数を Processor に追加したり削除したりした場合、呼び出すことができます。ただし、当然ですが OrderIndex は DeterminateOrder() が
正常終了した後以外は意味がありません。また、これらの整数領域は DeterminateOrder() が内部で作業用に使用します。従って、 DeterminateOrder()
呼び出しの途中(delegate内部などで)に呼び出さないでください。
|
|||||
Restore |
Processor オブジェクトの情報を TextReader から読み込み復元します。
※Processorに登録されている変数は一旦全て解放され、再作成されてから登録されます。 従って、以下の例の変数 x は Rsstore() 後に Processor とは無関係になります。さらに再作成された 変数は Save() 時の値や属性は保持しますが計算式 ComputeValueAt 等の delegate は再構築されません。 Restore()後に必ず、delegate 等を別途再設定してください。詳細はリファレンスの例題等を参照してください。
|
|||||
RestoreContents |
Processor オブジェクトの情報を TextReader から読み込み復元します。
|
|||||
ResultString |
リザルトコード res の文字列表現を返す。
|
|||||
Run()()()() |
DeterminateOrder()で決定された計算順序に従って、時刻 Time から TimeLimit まで刻み Step で計算します。
|
|||||
Run(Double) |
DeterminateOrder()で決定された計算順序に従って、時刻 Time から endTime まで刻み Step で計算します。
TimeLimit には endTime が代入されます。
|
|||||
Run(Double, Double) |
DeterminateOrder()で決定された計算順序に従って、時刻 Time から endTime まで刻み step で計算します。
TimeLimit には endTime が、Step には step が代入されます。
|
|||||
Run(Double, Double, Double) |
DeterminateOrder()で決定された計算順序に従って、開始時刻 startTime、刻み幅 step で時刻 endTime まで計算します。
Time には startTime、TimeLimit には endTime 、Step には step が代入されます。
|
|||||
Save |
オブジェクト(obj)の作成情報を TextWriter sw に出力します。
Dslオブジェクトを継承した独自オブジェクトを使用している場合、
必要なら本メソッドをoverrideしてください。
IDsiSerializer メンバ |
|||||
SaveContents |
Processor オブジェクトの情報を TextWriter に出力します。出力した情報は後に RestoreContents() メソッドで
復元することができます。
IDslSerializableメンバ |
|||||
SetLogItem |
個々のログ項目をオン、またはオフに設定します。
|
|||||
ToString | (Inherited from Object.) | |||||
Variable(Int32) |
Processor オブジェクトに登録されている Variable を返します。
|
|||||
Variable(String) |
指定した名前と一致した Variable を返します。
|
|||||
VariableIndex(String) |
指定した名前の Variable の登録インデックスを返します。
Processorは登録に際して名前の重複はチェックしません。従って同じ名前が複数ある時は一番小さいインデックス値が返ります。
|
|||||
VariableIndex(Variable) |
指定した Variable の登録インデックスを返します。
|