summaryrefslogtreecommitdiff
path: root/Physikunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'Physikunit.pas')
-rw-r--r--Physikunit.pas42
1 files changed, 21 insertions, 21 deletions
diff --git a/Physikunit.pas b/Physikunit.pas
index 24e3140..736df34 100644
--- a/Physikunit.pas
+++ b/Physikunit.pas
@@ -631,25 +631,6 @@ begin
(impulsraum[i,abl]+aX*aP)^:=pi;
end;
- fillchar(massen,sizeof(massen),#0);
- setlength(massen,length(teilchen));
- for i:=0 to length(massen)-1 do
- massen[i]:=0;
- for i:=0 to aX-1 do
- for j:=0 to length(teilchen)-1 do begin
- dens:=_teilchen[j].gibDichte(gitter.xl+(i-2)*gitter.dX,parent.kvs);
- initialisiereDichte(i,j,_teilchen[j].breite,dens);
- massen[j]:=massen[j]+dens*gitter.dX*teilchen[j].eigenschaften[tsgMasse];
- end;
- for rechts:=false to true do begin
- lichters[rechts]:=tMyStringlist.create(nil,'');
- lichters[rechts].text:=lichter.text;
- end;
- lichters[false].grep('^links .*');
- lichters[false].subst('^links *','');
- lichters[true].grep('^rechts .*');
- lichters[true].subst('^rechts *','');
-
i:=max((aP div 2 + 1)*aX,(aX div 2 + 1)*aP);
fftw_getmem(fftTmp,(i+1)*sizeof(complex_double));
fillchar(fftTmp^,(i+1)*sizeof(complex_double),#0);
@@ -658,7 +639,7 @@ begin
lFftTmp^.re:=pi;
lFftTmp^.im:=sqr(pi);
- fillchar(ffts,sizeof(ffts),#0);
+ fillchar(ffts,sizeof(ffts),#0); // Vorsicht, die Planung der FFTs überschreibt den Input, auch wenn die eigentlichen FFTs das nicht tun!
setlength(ffts,length(teilchen));
for i:=0 to length(ffts)-1 do begin
ffts[i,0,false]:= // Planung der Hintransformationen über x
@@ -687,7 +668,26 @@ begin
double *out, const int *onembed,
int ostride, int odist,
unsigned flags);
- *)
+ *)
+
+ fillchar(massen,sizeof(massen),#0);
+ setlength(massen,length(teilchen));
+ for i:=0 to length(massen)-1 do
+ massen[i]:=0;
+ for i:=0 to aX-1 do
+ for j:=0 to length(teilchen)-1 do begin
+ dens:=teilchen[j].gibDichte(gitter.xl+(i-2)*gitter.dX,parent.kvs);
+ initialisiereDichte(i,j,teilchen[j].breite,dens);
+ massen[j]:=massen[j]+dens*gitter.dX*teilchen[j].eigenschaften[tsgMasse];
+ end;
+ for rechts:=false to true do begin
+ lichters[rechts]:=tMyStringlist.create(nil,'');
+ lichters[rechts].text:=lichter.text;
+ end;
+ lichters[false].grep('^links .*');
+ lichters[false].subst('^links *','');
+ lichters[true].grep('^rechts .*');
+ lichters[true].subst('^rechts *','');
end;
destructor tFelder.destroy;