summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2015-12-09 11:30:43 +0100
committerErich Eckner <git@eckner.net>2015-12-09 11:30:43 +0100
commit4003298fb21ca233d80857eacbd072236bcc76c1 (patch)
tree0a7db7691d033b78c3d80b83e80eb166afa8f82f
parent56fc646e63363dbbe5f4e5b6e3f0ac3e116fe729 (diff)
downloadPlasmapropagation-4003298fb21ca233d80857eacbd072236bcc76c1.tar.xz
2x sigterm/sigint = halt(127);
-rw-r--r--Physikunit.pas36
-rw-r--r--Plasmapropagation.lps73
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>