// -*- Mode: C++ -*- // navi.cc // NavierStokes Class Caller #include "navi.h" String szProgName = "navi"; Bool bInterrupted = False; #define USE_SIGNAL_CONTROLE #ifdef USE_SIGNAL_CONTROLE #include #include #define MY_SIGNAL SIGUSR1 void InterruptFunction (int n) { cerr << szProgName << ":" #ifdef TIME_RECORD << getTimeString () << ":" #endif << "Interrupt (" << n << ") Received!" << endl; bInterrupted = True; signal (MY_SIGNAL, InterruptFunction); } #endif void main (int nArgc, String *pszArgv) { cerr << szProgName << ":" << "Navier-Stokes Fuild Motion Simulator" << endl; #ifdef USE_SIGNAL_CONTROLE signal (MY_SIGNAL, InterruptFunction); cerr << szProgName << ":Process-ID is " << getpid () << "." < 0) { cerr << szProgName << ":" << nReadUnits << " Units Readed from <" << F.szLoadFileName << ">." << endl; }{ cerr << szProgName << ":" << "New Initialized Field is used." << endl; } cerr << szProgName << ":" << "Save File Name is <" << F.szSaveFileName << ">." << endl; int n = 0; for (;;) { if (F.SaveStep ()) { cerr << szProgName << ":" #ifdef TIME_RECORD << getTimeString () << ":" #endif << "Saved at Time=" << F.nTime << endl; if (bInterrupted) break; } // Do Calculation Stap F.CalculationStep (); } cerr << szProgName << ":" << "Flushed file <" << F.szSaveFileName << "> " << "and Terminated." << endl; }