summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2015-09-30 15:03:59 +0200
committerErich Eckner <git@eckner.net>2015-09-30 15:03:59 +0200
commit775e1c775b919eba3660f1eb0f31d384fe4a290c (patch)
tree82541670f9a2036c3c7db09c996f5bbe48331b94
parenta4efc863145975b7f3590d32f186b2c002d3be4a (diff)
downloadPlasmapropagation-775e1c775b919eba3660f1eb0f31d384fe4a290c.tar.xz
arrayBereichsüberwachung prüft nun auch impulsRaum
-rw-r--r--Physikunit.pas12
1 files changed, 11 insertions, 1 deletions
diff --git a/Physikunit.pas b/Physikunit.pas
index 9966c3b..24e3140 100644
--- a/Physikunit.pas
+++ b/Physikunit.pas
@@ -626,8 +626,9 @@ begin
setlength(impulsraum,length(teilchen));
for i:=0 to length(impulsraum)-1 do
for abl:=false to true do begin
- fftw_getmem(impulsraum[i,abl],aX*aP*sizeof(double));
+ fftw_getmem(impulsraum[i,abl],(aX*aP+1)*sizeof(double));
fillchar(impulsraum[i,abl]^,aX*aP*sizeof(double),#0);
+ (impulsraum[i,abl]+aX*aP)^:=pi;
end;
fillchar(massen,sizeof(massen),#0);
@@ -750,6 +751,7 @@ end;
procedure tFelder.pruefeArrayEnden(fehler: string);
var
i,j: longint;
+ abl: boolean;
begin
if (abs(lFftTmp^.re-pi)>1e-10) or (abs(lFftTmp^.im-sqr(pi))>1e-10) then begin
gitter.prot.schreibe(fehler);
@@ -765,6 +767,14 @@ begin
gitter.prot.destroyall;
halt(1);
end;
+ for i:=0 to length(impulsRaum)-1 do
+ for abl:=false to true do
+ if abs((impulsRaum[i,abl]+aP*aX)^-pi)>1e-10 then begin
+ gitter.prot.schreibe(fehler);
+ gitter.prot.schreibe(floattostr((impulsRaum[i,abl]+aP*aX)^)+' vs. '+floattostr(pi));
+ gitter.prot.destroyall;
+ halt(1);
+ end;
end;
procedure tFelder.berechneAbleitungen;