Dsl (Digital Simulation Library) for .Net
代数計算中の連立方程式を解く直前に呼ばれるメソッドです。 Run()が代数計算中の連立方程式を解く直前に呼び出します。 本メソッドは virtual です。base は BeforeBlockComputation が設定されていればそちらを呼び出します。 設定されていなければ単に true をリターンします。 代数計算は各積分ステップ毎に計算されます。通そして、通常、代数計算には複数の連立方程式が含まれますので、それぞれの 連立方程式が計算される直前に本メソッドが呼ばれることになります(連立方程式が無ければ呼ばれません)。

名前空間: Dsl
アッセンブリー: Dsl (in Dsl.dll)

構文

C#
public virtual bool OnBeforeBlockComputation(
	Processor gr,
	List<Variable> seq,
	int ixStart,
	int ixEnd,
	double time,
	double step,
	int n,
	int non_zeros
)
Visual Basic
Public Overridable Function OnBeforeBlockComputation ( 
	gr As Processor,
	seq As List(Of Variable),
	ixStart As Integer,
	ixEnd As Integer,
	time As Double,
	step As Double,
	n As Integer,
	non_zeros As Integer
) As Boolean
Visual C++
public:
virtual bool OnBeforeBlockComputation(
	Processor^ gr, 
	List<Variable^>^ seq, 
	int ixStart, 
	int ixEnd, 
	double time, 
	double step, 
	int n, 
	int non_zeros
)

Parameters

gr
タイプ: Dsl..::..Processor
呼び出し元の Processor オブジェクト
seq
タイプ: System.Collections.Generic..::..List<(Of <(<'Variable>)>)>
計算順序に従って並べられた Variable の配列
ixStart
タイプ: System..::..Int32
seq[ixStart]からseq[ixEnd]が解かれる連立方程式に含まれる Variable です。
ixEnd
タイプ: System..::..Int32
seq[ixStart]からseq[ixEnd]が解かれる連立方程式に含まれる Variable です。
time
タイプ: System..::..Double
呼び出し時点の積分時間
step
タイプ: System..::..Double
呼び出し時点の積分ステップ
n
タイプ: System..::..Int32
連立方程式の元数。seq[ixStart]からseq[ixStart+n-1]までは<F>型。seq[ixEnd-n+1]からseq[ixEnd]までは<T>型変数です。
non_zeros
タイプ: System..::..Int32
Jacobian行列の非ゼロ要素の数

Return Value

タイプ: Boolean
true なら Newton 法で連立方程式を解きます。false なら何もせず処理を続行します(この場合 OnBeforeBlockComputation 中で連立方程式を解く必要があります)。

参照