diff options
author | Erich Eckner <git@eckner.net> | 2015-12-09 11:30:43 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2015-12-09 11:30:43 +0100 |
commit | 4003298fb21ca233d80857eacbd072236bcc76c1 (patch) | |
tree | 0a7db7691d033b78c3d80b83e80eb166afa8f82f | |
parent | 56fc646e63363dbbe5f4e5b6e3f0ac3e116fe729 (diff) | |
download | Plasmapropagation-4003298fb21ca233d80857eacbd072236bcc76c1.tar.xz |
2x sigterm/sigint = halt(127);
-rw-r--r-- | Physikunit.pas | 36 | ||||
-rw-r--r-- | Plasmapropagation.lps | 73 |
2 files changed, 64 insertions, 45 deletions
diff --git a/Physikunit.pas b/Physikunit.pas index 2a87c63..fc2dcd2 100644 --- a/Physikunit.pas +++ b/Physikunit.pas @@ -9,8 +9,8 @@ unit Physikunit; {$MACRO on} // nach einer LiKo negative Dichten entfernen: -{ $DEFINE DichteNichtnegativieren:=perSkalieren} // insgesamt runter skalieren um negative Dichten aufzufüllen -{$DEFINE DichteNichtnegativieren:=perEinzelklau} // negative Dichten aus zufälligen Phasenraumpunkten auffüllen +{$DEFINE DichteNichtnegativieren:=perSkalieren} // insgesamt runter skalieren um negative Dichten aufzufüllen +{ $DEFINE DichteNichtnegativieren:=perEinzelklau} // negative Dichten aus zufälligen Phasenraumpunkten auffüllen { $DEFINE negativeDichteueberwachung} // prüfen, ob die Dichten negativ werden @@ -204,16 +204,24 @@ type prot: tProtokollant; gitter: tGitter; dT,tEnde,sT,sDT,sDX: double; - fortschrittsAnzeige: boolean; + fortschrittsAnzeige, + _gotSigterm,_gotSigint: boolean; feldAusgabeDateien: array of tFeldAusgabeDatei; impulsRaumAusgabeDateien: array of tImpulsRaumAusgabeDatei; transpTmp: array of double; + procedure wGotSigterm(b: boolean); + procedure wGotSigint(b: boolean); public - gotSigusr1,gotSigterm, - gotSigint: boolean; + gotSigusr1: boolean; constructor create(inName: string; protokollant: tProtokollant; name: string); destructor destroy; override; function iteriereSchritt(start: double; var zeitPhysik,zeitDatei: double): boolean; // noch nicht zu Ende? + property gotSigterm: boolean + read _gotSigterm + write wGotSigterm; + property gotSigint: boolean + read _gotSigint + write wGotSigint; end; procedure SignalCapture(signal : longint); cdecl; @@ -1405,11 +1413,11 @@ begin end; end; end; - if defizit>0 then begin + if defizit>0 then {$ENDIF} {$IF dichteNichtnegativieren = perSkalieren} - if enfizit=0 then begin - {$ENDIF} + if enfizit=0 then + {$ENDIF} begin gitter.prot.schreibe('Kann Defizit der Teilchensorte '+inttostr(i+1)+' nicht ausgleichen, '+floattostr(defizit)+' bleibt übrig!',true); gitter.prot.schreibe('Kann Defizit der Teilchensorte '+inttostr(i+1)+' nicht ausgleichen, es ist nichts positives mehr übrig!',true); gitter.abbrechen; @@ -2077,6 +2085,18 @@ begin inherited destroy; end; +procedure tSimulation.wGotSigterm(b: boolean); +begin + if b and _gotSigterm then halt(127); + _gotSigterm:=b; +end; + +procedure tSimulation.wGotSigint(b: boolean); +begin + if b and _gotSigint then halt(127); + _gotSigint:=b; +end; + function tSimulation.iteriereSchritt(start: double; var zeitPhysik,zeitDatei: double): boolean; // noch nicht zu Ende? var i: longint; diff --git a/Plasmapropagation.lps b/Plasmapropagation.lps index 997f683..64406c4 100644 --- a/Plasmapropagation.lps +++ b/Plasmapropagation.lps @@ -17,9 +17,9 @@ <IsPartOfProject Value="True"/> <IsVisibleTab Value="True"/> <EditorIndex Value="1"/> - <TopLine Value="1394"/> - <CursorPos Y="1420"/> - <FoldState Value=" T7i8MO311 T3mP0{D5 pjYmB0R[944k20R6]9RkT0}h3]A1o60{j4]AgnA0V011]B0lF0L[K4akQ032 ppVq10H3z"/> + <TopLine Value="193"/> + <CursorPos Y="216"/> + <FoldState Value=" T7i8MO3 T3mX0{D5 pjYmB0R[944k20R6]9RkT0}h3]A1o60{j4]AgnA0V2 pkJlF0L[I4akQ03]IpVq10H023\"/> <UsageCount Value="200"/> <Loaded Value="True"/> </Unit1> @@ -75,7 +75,7 @@ <EditorIndex Value="2"/> <TopLine Value="866"/> <CursorPos X="96" Y="886"/> - <UsageCount Value="15"/> + <UsageCount Value="16"/> <Loaded Value="True"/> </Unit8> <Unit9> @@ -170,123 +170,122 @@ </Units> <JumpHistory Count="30" HistoryIndex="29"> <Position1> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="881" Column="18" TopLine="861"/> + <Filename Value="Physikunit.pas"/> + <Caret Line="1370" Column="33" TopLine="1318"/> </Position1> <Position2> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="857" Column="29" TopLine="839"/> + <Filename Value="Physikunit.pas"/> + <Caret Line="1378" Column="37" TopLine="1351"/> </Position2> <Position3> - <Filename Value="Plasmapropagation.lpr"/> - <Caret Line="42" Column="26" TopLine="20"/> + <Filename Value="Physikunit.pas"/> + <Caret Line="1367" Column="33" TopLine="1314"/> </Position3> <Position4> - <Filename Value="Plasmapropagation.lpr"/> - <Caret Line="48" Column="55" TopLine="21"/> + <Filename Value="Physikunit.pas"/> + <Caret Line="166" TopLine="110"/> </Position4> <Position5> <Filename Value="Physikunit.pas"/> - <Caret Line="1365" Column="109" TopLine="1317"/> + <Caret Line="1531" TopLine="1512"/> </Position5> <Position6> <Filename Value="Physikunit.pas"/> + <Caret Line="1449" Column="72" TopLine="1420"/> </Position6> <Position7> <Filename Value="Physikunit.pas"/> - <Caret Line="1361" Column="60" TopLine="1317"/> + <Caret Line="482" TopLine="214"/> </Position7> <Position8> <Filename Value="Physikunit.pas"/> - <Caret Line="1632" Column="75" TopLine="1379"/> + <Caret Line="2085" Column="13" TopLine="1460"/> </Position8> <Position9> <Filename Value="Physikunit.pas"/> - <Caret Line="1370" Column="33" TopLine="1318"/> + <Caret Line="1412" Column="93" TopLine="1392"/> </Position9> <Position10> <Filename Value="Physikunit.pas"/> - <Caret Line="1378" Column="37" TopLine="1351"/> + <Caret Line="1449" Column="117" TopLine="1428"/> </Position10> <Position11> <Filename Value="Physikunit.pas"/> - <Caret Line="1367" Column="33" TopLine="1314"/> + <Caret Line="2047" Column="32" TopLine="2029"/> </Position11> <Position12> <Filename Value="Physikunit.pas"/> - <Caret Line="166" TopLine="110"/> + <Caret Line="1353" Column="27" TopLine="1313"/> </Position12> <Position13> <Filename Value="Physikunit.pas"/> - <Caret Line="1531" TopLine="1512"/> + <Caret Line="10" Column="36"/> </Position13> <Position14> <Filename Value="Physikunit.pas"/> - <Caret Line="1449" Column="72" TopLine="1420"/> + <Caret Line="1558" Column="39" TopLine="1579"/> </Position14> <Position15> <Filename Value="Physikunit.pas"/> - <Caret Line="482" TopLine="214"/> + <Caret Line="1350" Column="41" TopLine="1228"/> </Position15> <Position16> <Filename Value="Physikunit.pas"/> - <Caret Line="2085" Column="13" TopLine="1460"/> + <Caret Line="1386" Column="12" TopLine="1356"/> </Position16> <Position17> <Filename Value="Physikunit.pas"/> - <Caret Line="1412" Column="93" TopLine="1392"/> + <Caret Line="1360" Column="31" TopLine="1322"/> </Position17> <Position18> <Filename Value="Physikunit.pas"/> - <Caret Line="1449" Column="117" TopLine="1428"/> + <Caret Line="1399" TopLine="1364"/> </Position18> <Position19> <Filename Value="Physikunit.pas"/> - <Caret Line="2047" Column="32" TopLine="2029"/> + <Caret Line="1364" TopLine="1055"/> </Position19> <Position20> <Filename Value="Physikunit.pas"/> - <Caret Line="1353" Column="27" TopLine="1313"/> + <Caret Line="1557" TopLine="1536"/> </Position20> <Position21> <Filename Value="Physikunit.pas"/> - <Caret Line="10" Column="36"/> + <Caret Line="1407" Column="13" TopLine="1379"/> </Position21> <Position22> <Filename Value="Physikunit.pas"/> - <Caret Line="1558" Column="39" TopLine="1579"/> + <Caret Line="1372" Column="47" TopLine="1327"/> </Position22> <Position23> <Filename Value="Physikunit.pas"/> - <Caret Line="1350" Column="41" TopLine="1228"/> + <Caret Line="2130" Column="35" TopLine="1679"/> </Position23> <Position24> <Filename Value="Physikunit.pas"/> - <Caret Line="1386" Column="12" TopLine="1356"/> </Position24> <Position25> <Filename Value="Physikunit.pas"/> - <Caret Line="1360" Column="31" TopLine="1322"/> + <Caret Line="212" Column="15" TopLine="179"/> </Position25> <Position26> <Filename Value="Physikunit.pas"/> - <Caret Line="1399" TopLine="1364"/> + <Caret Line="2121" Column="41" TopLine="1429"/> </Position26> <Position27> <Filename Value="Physikunit.pas"/> - <Caret Line="1364" TopLine="1055"/> </Position27> <Position28> <Filename Value="Physikunit.pas"/> - <Caret Line="1557" TopLine="1536"/> + <Caret Line="228" Column="23" TopLine="188"/> </Position28> <Position29> <Filename Value="Physikunit.pas"/> - <Caret Line="1407" Column="13" TopLine="1379"/> + <Caret Line="216" TopLine="193"/> </Position29> <Position30> <Filename Value="Physikunit.pas"/> - <Caret Line="1372" Column="47" TopLine="1327"/> + <Caret Line="2100" Column="22" TopLine="1613"/> </Position30> </JumpHistory> </ProjectSession> |