Dsl (Digital Simulation Library) for .Net

The Variable type exposes the following members.

コンストラクター

  名前 説明
Public method Variable()()()()
Variableクラスのデフォルトのコンストラクター。Variable は必ず Processor に登録されなければなりません。 できるならデフォルトのコンストラクターより、Variable(Processor pr)の形式の方が便利です。
Public method Variable(Processor)
Variableクラスのコンストラクター。作成された Variable は同時に Processor に登録されます。 後で Processor に登録するより、できるならこちらの形式が便利です。
Public method Variable(Processor, String)
Variableクラスのコンストラクター。作成された Variable は同時に Processor に登録されます。 後で Processor に登録するより、できるならこちらの形式が便利です。
Public method Variable(Processor, String, USERFLAG)
Variableクラスのコンストラクター。作成された Variable は同時に Processor に登録されます。 後で Processor に登録するより、できるならこちらの形式が便利です。
Public method Variable(Processor, String, USERFLAG, Double)
Variableクラスのコンストラクター。作成された Variable は同時に Processor に登録されます。 後で Processor に登録するより、できるならこちらの形式が便利です。
Public method Variable(Processor, String, USERFLAG, Double, array<Variable>[]()[][])
Variableクラスのコンストラクター。作成された Variable は同時に Processor に登録されます。 後で Processor に登録するより、できるならこちらの形式が便利です。

メソッド

  名前 説明
Public method AddRightSideVariables
左辺変数を追加します。既に設定された左辺変数はそのままです。
Public method CanBeFree
<F>型変数になり得るかどうかチェックする。 <F>型変数とは右辺変数を持たず、値を自由に変更できる(独立)変数です。
Public method ClearFlag()()()()
ユーザの設定できるフラグを全てオフにする。
Public method ClearFlag(USERFLAG)
指定したフラグ(複数指定可)を全てオフにします。 フラグをオンにする場合はSetFlag()を使用します。
Public method Clone
同じ値、フラグ、右辺変数等を持った Variable を複製します。 Variable を継承したクラスの場合、本メソッドを呼び出して「継承」オブジェクトを 作成してから、追加の値設定等を実行してください。
Public method Equals
指定した Object が、現在の Object と等しいかどうかを判断します。
(Inherited from Object.)
Protected method Finalize
Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。
(Inherited from Object.)
Public method GetHashCode
特定の型のハッシュ関数として機能します。
(Inherited from Object.)
Public method GetType
現在のインスタンスの Type を取得します。
(Inherited from Object.)
Public method Is(FLAG)
指定したフラグ(複数指定可)が全てオンなら true を返す。
Public method Is(USERFLAG)
指定したフラグ(複数指定可)が全てオンなら true を返す。
Public method IsAlive
計算から除外されているかどうかチェックする。
Public method IsConstant
全ての時間にわたって定数とみなせるかチェックする。
Public method IsDerivative
微分(<I>型変数の右辺変数)変数かどうかチェックする。
Public method IsDivided
<DD>型変数かどうかチェックする。
Public method IsFixed
ある特定の時間平面上では定数とみなせるかチェックする。
Public method IsFlagged(FLAG)
指定したフラグ(複数指定可)の一つでもオンなら true を返す。
Public method IsFlagged(USERFLAG)
指定したフラグ(複数指定可)が一つでもオンなら true を返します。
Public method IsFree
<F>型変数かどうかチェックする。
Public method IsIntegrated
<I>型変数かどうかチェックする。
Public method IsTargeted
<T>型変数かどうかチェックする。<T>型指定されてい無くても定常状態計算中の微分変数は<T>型とみなされる。
Protected method MemberwiseClone
現在の Object の簡易コピーを作成します。
(Inherited from Object.)
Public method NextVariableToT
<F>型変数から<T>型変数へのルートを辿るためのメソッドです。 DeterminateOrder()()()()が終了した後でのみ意味があります。 もし、ある Variable(node とします)が<F>型変数から<T>型変数に至るルート上にあるなら node.NextVariableToT() はルート上の次の Variable になります。 node が<T>型なら、node.NextVariableToT()は一対一に対応している<F>型変数を返します(ループになります)。 node が<F>~<T>ルート上にないときは null を返します。 DeterminateOrder()が ERROR_FT_ROUTE を返したときは、 <F>~<T>ルートがどこまで対応できたのか調べることができます。
Public method OnComputeValueAt
右辺変数から左辺変数(VariableのValue)を計算するための計算式。 右辺変数から値が計算される Variable は必ず ComputeValueAt を定義するか、OnComputeValueAt() を override して 計算式を定義する必要があります。値を計算する必要のない Variable、例えば <S> 型の Variable 等は必要ありません。 メソッドの戻り値をValueに代入するのはProcessorオブジェクトであることに注意してください。 プログラムのなかで勝手にVariable.Valueに値を代入しないようにして下さい。
Public method Restore
Variable の情報を TextReader から読み込み復元します。
Public method RestoreContents
Variable の情報を TextReader から読み込み復元します。
Public method Save
Variable の情報を後の Restore() で回復できるように TextWriter に出力します。 注意:Save()は Processor の Save メソッド内部から呼び出されます。 単独で呼び出した場合、結果は保障されません。
Public method SaveContents
Variable の情報を後の Restore() で回復できるように TextWriter に出力します。 注意:SaveContents()は Processor の SaveObjectContents メソッド内部から呼び出されます。 単独で呼び出した場合、結果は保障されません。
Public method SetFlag
指定したフラグ(複数指定可)を全てオンにします。 フラグをオフにする場合はClearFlag()を使用します。
Public method SetRightSideVariables
右辺変数を設定します。既に設定された右辺変数はクリアされます。
Public method ToString
変数の情報を以下のように文字列に書式化する。
 コピー イメージコードをコピー
名前(20文字):
 ユーザー設定フラグ(1文字)
     S ... <S>型
     T ... <T>型
     D ... <D>ivisible 分割候補
     N ... <N>on divisible 非分割候補
     C ... <C>onditioned 条件付き
     V ... <V>olatile 揮発性
     R ... <R>equired
  |ユーザー出力設定(1文字)
     I  ... Initial stage
     P  ... Print time
     E  ... Every time
     F  ... Final stage
     N  ... Not print but required 印刷はしないが計算はしてほしいもの
  |システム設定フラグ(2文字)
     Al ... Alive.
     Fr ... Free.
     Df ... Divided <F>. 分割後<F>になったもの.
     Dt ... Divided <T>. 分割後<T>になったもの.
     In ... Integrated. 積分されるもの.
     If ... Integrated <F>. 定常状態計算時の<I>型が<F>型と扱われたもの.
     Dr ... Derivative. 微分変数(<I>型の右辺変数).
     Dz ... Derivative <T> to zero. 定常状態計算時の<I>型変数の右辺変数。定常計算なので微係数は値ゼロの<T>型となる。
     St ... <SG> <T> と指定されたが、右辺変数が存在しない等の理由で <S>型に変更されたもの。
     Cn ... Constant <S>や<T>(を含む)から直接または間接的に計算されるもの。
     Fx ... Fixed Constantや<S>型(を含む)から直接または間接的に計算されるもの(代数計算時には定数と扱われる)
  |計算タイミング(1文字)
     I  ... Initial stage
     P  ... Print time
     E  ... Every time
     F  ... Final stage
 [Value](22文字)
Full name=(右辺変数名のリスト)
   ただし、ComputeValueAtが未定義の場合「Full name?(右辺変数名のリスト)」となる。
(Overrides Object..::..ToString()()()().)

プロパティ

  名前 説明
Public property ComputationCounter
Variableの計算カウンター
Public property ComputeValueAt
右辺変数から左辺変数(VariableのValue)を計算するための計算式を与えます。 詳細はOnComputeValueAtを参照してください。

例:

 コピー イメージコードをコピー
V.ComputeValueAt = delegate (Processor p,Variable v,double time,double step)
{
    return v[1]+v[2];
};

Variableの値を計算(そしてValueに代入する)するのはProcessorオブジェクトであることに注意してください。 Processorは計算順序を決定してから、その計算順序に従ってComputeValueAtやOnComputeValueAt を呼び出します。
Public property Flag
ユーザの設定できるフラグ
Public property Index
作業用の整数プロパティ。 Processor が管理する Variables に登録されている位置(インデックス)です。 Variables の要素を削除したり追加すれば当然変わりますので、適宜 Processor.ResetIndex() メソッドを呼ぶ必要があります。 ただし、Processor もこの Index をグラフ処理中や計算実行等前に 作業領域として使用します。 Graph 処理中などのコールバック(delegate)中では使用しないで 下さい。
Public property Item
右辺と左辺の Variable の Value を配列のようにインデックスを指定して利用するできます。
Public property Name
任意の Variable の名前。タブなどの特殊文字は含めないでください。
Public property OrderIndex
作業用の整数プロパティ。 Processor が管理する ComputingOrder に登録されている位置(インデックス)です。 計算順序が変更されれば当然値は変わりますので、適宜 Processor.ResetIndex() メソッドを呼ぶ必要があります。 ただし、Processor もこの OrderIndex をグラフ処理中や計算実行等前に 作業領域として使用します。 Graph 処理中などのコールバック(delegate)中では使用しないで 下さい。
Public property Paired
Variable が<F>型なら対の<T>型、<T>型なら対の<F>型の Variable を返します。 グラフ処理が正常に終了していないときや Variable が<F>型や<T>型でないときは null になります。
Public property RightSideVariables
Variable の左辺変数のリスト。
Public property SystemFlag
システムフラグ
Public property Tag
ユーザが利用するためのオブジェクト。 Dsl 中のオブジェクトが Tag を参照することはありません。
Public property Value
Variable の値。 Variable がループのために分割された <F> 型なら、値を代入すると 対応する <T> 型変数にも同じ値が代入されます。

参照