OHyMoS.NET Class Library

PowerLawKinematicWave メンバ

PowerLawKinematicWave 概要

パブリック コンストラクタ

PowerLawKinematicWave オーバーロード。 PowerLawKinematicWave クラスの新しいインスタンスを初期化します。

パブリック メソッド

calculate The solution of power law kimematic wave model by Keith Beven's method.

Beven 法による指数法則 kinematic wave モデルの解法
calculateTimeStep 計算時間間隔は固定した値とします。
canYouCalculate 計算可能性の判断

OhElement クラスの メソッド OhElement.getNecessaryTimeFrom(), OhElement.getNecessaryTimeTo() で 定義される時間の間のデータが取得できれば計算可能と判断します。 OhElement.getNecessaryTimeFrom() メソッドは _currentTime を返し、 OhElement.getNecessaryTimeTo() メソッドは _currentTime + _timeStep の値を返します。

データが取得不可能であると返事をしてきた受信端子に対して計算要求を出します。 具体的には、受信端子に calReq() メッセージを送ります。
initオーバーロード。 Initialization. Uses init(String, int, String, int, int).
initialOutput 
registerReceivePorts 全受信端子の登録

このメソッドは、この要素モデルが持つすべての受信端子を OhElement.register(Object) OhElement.register(Object, int) により登録します。

登録されていない端子は接続できないので送受信に利用できません。
registerSendPorts 派生クラスの全送信端子の登録

このメソッドは、この要素モデルが持つすべての送信端子を OhElement.register(Object) OhElement.register(Object, int) により登録します。

登録されていない端子は接続できないので送受信に利用できません。
saveTerminalState 最終状態を保存するメソッド
setInitialState 初期状態量の設定

入力ストリーム aSr で指定されるファイルからデータを読みとって初期状態量を設定します。
setParameter パラメタの設定

入力ストリーム aSr で指定されるファイルからデータを読みとってパラメタを設定します。
work

_timeStep を得てから calculate() を実行する work0() を採用します。

内部プロテクト フィールド

_a Parameter: kinematic constant a [m/sec] in
 Q = a*A^m 
_cLateralIn Parameter: _cLateralIn[i] is a multiplication factor [-] to the i-th lateral inflow port _rpLateralIn[i].
_cUpIn Parameter: _cUpIn[i] is a multiplication factor [-] to the i-th inflow port from upstream end, _rpUpIn[i].
_dt Parameter: time step [sec] for finite difference calculation. Time step is fixed in this calculation model.

計算時間間隔。[sec]

このモデルでは固定値として扱います。
_dx Working variable: length of the division. [m]
 _dx = _lengthOfStream / _numOfSepStream 
_epsilon Parameter: tolerance level of diffrence of two consecutive caluculated discharges to stop the iteration.
_isdt 初期時刻での流量の分布をどのように与えるかを指定する変数。 ONLY_DOWN_STREAM_END なら、下流端で流量を与えて、他は内挿。 EVERY_SECTION なら、x = _dx, 2*_dx, ..., _numOfSepStream * _dx の分点で流量を与える。 Supplemental variable for setting initial state.
_lengthOfStream Parameter: length of the stream segment. [m]

河道区間の長さ。[m]
_m Parameter: kinematic constant m [-] in
 Q = a*A^m 
_numOfLateralIn Structural variable: number of lateral inflows. _numOfLateralIn >= 0.
_numOfSepStream Parameter: number of divisions of the stream. [-]

河道区間を等分した数。[-]
_numOfUpIn Structural variable: number of inflows from the upstream ends. _numOfUpIn >= 0.
_qCrnt State variable: discharge Q [m^3/sec] ( = q * w) at current time.
_qLevel Parameter: tolerance level of diffrence of two consecutive caluculated discharges to stop the iteration.
_qNext Working variable: discharge Q [m^3/sec] at next time.
_rpLateralIn lateral inflow ports. Lateral inflow rate per unit length of stream will be calculated by multiplying constant _cLateralIn[i] with the value obtained from _rpLateralIn[i]
_rpUpIn inflow ports from the upstream end.
_sp Send port. Runoff discharge (m^3/sec) at the slopeend or the stream end.

送信端子は1個です。 得られるデータは OhDataPackDouble 型です。 データ補間型は DataConnectionType.BROKENLINE です。

河道下流端からの流出量が得られます。 計算された流出量の次元は [m^3/sec] です。
_theta Parameter: time weighting parameter [-]. The standard value of theta is 0.5. If theta = 0, the finite difference calculation scheme becomes an explicit one.

参照

PowerLawKinematicWave クラス | OhymosNet 名前空間