2章 準備勉強
2.2 FORTRANのモデルをC#で制作する (その1)
先ず、モデル作成用のプロジェクトを作成します。
コンソールアプリケーションモデルとして作成します。
モデルは一つのクラスにしたい為、新規にクラスを追加します。
DynamicWaveモデルを作成します。
作成されたモデルの型紙ができています。
ここで、FORTRANプログラムをC#に移植したソースを以下に示します。
<DynamicWaveModelクラス>
using System; //
PROGRAM DYNAMIC
をC#で下記の通り記述 for
(long J = 0; J <= NT - 1;
J++)
double dQIN =
QIN(T1);
for (long I = 1; I <= NX;
I++)
H1[I] = H[I] - FQ *
DT;
for (long I = 0; I <= NX;
I++)
if ((NSKIP * (long)(J1 / NSKIP) - J1) ==
0)
//----------------- G =
9.8; XL =
100.0 *
1000.0;
SLOPE = 1.0 /
2000.0; QB =
200.0;
//------------------
string sMsg =
"";
csStreamWriter.Close(); } // end of OUTPUT
//------------- //
------------- } // end of class
DynamicWaveModel |
static void Main(string[]
args) { DynamicWaveModel csMdl = new DynamicWaveModel(); csMdl. DYNAMIC(); } |
(補足)「クラス」と「インスタンス」
ここで、もう一度「クラス」と「インスタンス」について整理します。
「クラス」とは、あるカテゴリーを表す単位です。 例えば、「犬」、「猫」という概念が「クラス」に相当します。
一方、「インスタンス」は クラス「犬」を具体化した実体であり、ハチ公、ポチ、などに相当します。 クラス「猫」のインスタンスは バロン、タマ などになります。
犬 ハチ公 = new 犬();
猫 タマ = new 猫(); の様にして インスタンスを生成します。
using System; namespace ModelMain |
using System; using DynamicWaveLine; namespace ModelMain |
public class
DynamicWavePrptyInf |
//----------------- |
public void
DYNAMIC() { // INPUT(); INITIAL(); OUTPUT(0, 0.0); 。。。。。。 |
static void Main(string[]
args) //
計算開始
|
初版:2013/06/12 |