* PACKAGE XMINIT !" 初期値出力 * *" [HIS] 96/03/01 (takepiro) * *" 初期の流線関数と温度分布を *" 関数 PSIINI( X, Z ), TINI ( X, Z ) にて指定する *********************************************************************** PROGRAM XMKINT * * [PARAM] #include "zcdim.F" !" 格子点数, 波数 #include "zhdim.F" !" 文字列文字数 * * [VAR] *" 格子点データ REAL PSI ( 0:NX+1 , 0:NZ+1 ) !" 流線関数 REAL ZETA ( 0:NX+1 , 0:NZ+1 ) !" 渦度 REAL T ( 0:NX+1 , 0:NZ+1 ) !" 温度 * REAL DX !" X 軸上の格子点間隔 REAL DZ !" Z 軸上の格子点間隔 * CHARACTER RUN *(NCC) !" 実験名 CHARACTER SIGN *(NCC) !" 実験者名 * INTEGER IX, IZ REAL XX, ZZ, PI INTEGER IT !" 現在ステップ数 REAL DT !" 積分時間間隔(ダミー) * REAL PSIINI, TINI !" 初期分布を与える関数(流線, 温度) * DATA RUN, SIGN / 'TEST', 'momoko' / DATA IT, DT / 0, 1.0 / * *" < 1. 初期値計算 > * PI = ATAN2( 0.0, -1.0 ) * CALL ASETUP !" 実験初期設定(時間, 座標) O ( IT , DT , O DX , DZ ) * DO 1000 IX = 0, NX+1 DO 1100 IZ = 0, NZ+1 XX = DX*(IX-1) ZZ = DZ*IZ * PSI ( IX , IZ ) = PSIINI ( XX, ZZ ) !" 初期値を関数で与える T ( IX , IZ ) = TINI ( XX, ZZ ) !" 初期値を関数で与える 1100 CONTINUE 1000 CONTINUE * CALL DBNSET !" 境界条件の設定 I ( PSI , !" 流線関数に対して用いる I ZETA, T , I DX , DZ ) * CALL DLAPLA !" PSI を与えた時 -> ZETA を計算 O ( ZETA , I PSI , C DX , DZ ) * CALL DBNDRZ !" 運動学/力学境界条件の適用と流線関数の計算 O ( PSI , M ZETA , I DX , DZ ) * *" < 2. リスタートファイル出力 > * CALL WRRSTR !" リスタートファイル書き込み I ( PSI , ZETA , T , I IT ) * STOP END