summaryrefslogtreecommitdiff
path: root/linearkombination.inc
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2015-08-07 16:52:05 +0200
committerErich Eckner <git@eckner.net>2015-08-07 16:52:05 +0200
commit6e9ff86a556e5afc555d1580a70ecbf5f301c987 (patch)
treee37e2048e9df2303ae7bdfced320e3e359f0a991 /linearkombination.inc
parent313dc9c91ed794336898054a8e0d328e09875359 (diff)
downloadPlasmapropagation-6e9ff86a556e5afc555d1580a70ecbf5f301c987.tar.xz
auf Vlasov-Gleichungen umgeschrieben,
braucht viel zu viel Speicher, da 3D im Impuls
Diffstat (limited to 'linearkombination.inc')
-rw-r--r--linearkombination.inc247
1 files changed, 168 insertions, 79 deletions
diff --git a/linearkombination.inc b/linearkombination.inc
index 6250006..0f74497 100644
--- a/linearkombination.inc
+++ b/linearkombination.inc
@@ -1,7 +1,93 @@
+// Werte werden auf (in1 + \sum_i faki * ini') gesetzt
+
+procedure tImpulsPunkt.liKo(in1,in2
+{$IFDEF lkA3},in3
+{$IFDEF lkA4},in4
+{$IFDEF lkA5},in5
+{$IFDEF lkA6},in6
+{$IFDEF lkA7},in7
+{$IFDEF lkA8},in8
+{$IFDEF lkA9},in9
+{$IFDEF lkA10},in10
+{$IFDEF lkA11},in11
+{$IFDEF lkA12},in12
+{$IFDEF lkA14},in13,in14
+{$IFDEF lkA15},in15
+{$IFDEF lkA16},in16
+{$IFDEF lkA17},in17
+{$IFDEF lkA18},in18
+{$IFDEF lkA19},in19
+{$IFDEF lkA22},in20,in21,in22
+{$IFDEF lkA23},in23
+{$IFDEF lkA31},in24,in25,in26,in27,in28,in29,in30,in31
+{$IFDEF lkA32},in32
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: tImpulsPunkt;
+fak2
+{$IFDEF lkA3},fak3
+{$IFDEF lkA4},fak4
+{$IFDEF lkA5},fak5
+{$IFDEF lkA6},fak6
+{$IFDEF lkA7},fak7
+{$IFDEF lkA8},fak8
+{$IFDEF lkA9},fak9
+{$IFDEF lkA10},fak10
+{$IFDEF lkA11},fak11
+{$IFDEF lkA12},fak12
+{$IFDEF lkA14},fak13,fak14
+{$IFDEF lkA15},fak15
+{$IFDEF lkA16},fak16
+{$IFDEF lkA17},fak17
+{$IFDEF lkA18},fak18
+{$IFDEF lkA19},fak19
+{$IFDEF lkA22},fak20,fak21,fak22
+{$IFDEF lkA23},fak23
+{$IFDEF lkA31},fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31
+{$IFDEF lkA32},fak32
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: extended);
+var
+ i: longint;
+begin
+ for i:=0 to length(werte)-1 do
+ werte[i,false]:=
+ in1.werte[i,false]
+ + fak2 * in2.werte[i,true] {$IFDEF lkA3}
+ + fak3 * in3.werte[i,true] {$IFDEF lkA4}
+ + fak4 * in4.werte[i,true] {$IFDEF lkA5}
+ + fak5 * in5.werte[i,true] {$IFDEF lkA6}
+ + fak6 * in6.werte[i,true] {$IFDEF lkA7}
+ + fak7 * in7.werte[i,true] {$IFDEF lkA8}
+ + fak8 * in8.werte[i,true] {$IFDEF lkA9}
+ + fak9 * in9.werte[i,true] {$IFDEF lkA10}
+ + fak10 * in10.werte[i,true] {$IFDEF lkA11}
+ + fak11 * in11.werte[i,true] {$IFDEF lkA12}
+ + fak12 * in12.werte[i,true] {$IFDEF lkA14}
+ + fak13 * in13.werte[i,true]
+ + fak14 * in14.werte[i,true] {$IFDEF lkA15}
+ + fak15 * in15.werte[i,true] {$IFDEF lkA16}
+ + fak16 * in16.werte[i,true] {$IFDEF lkA17}
+ + fak17 * in17.werte[i,true] {$IFDEF lkA18}
+ + fak18 * in18.werte[i,true] {$IFDEF lkA19}
+ + fak19 * in19.werte[i,true] {$IFDEF lkA22}
+ + fak20 * in20.werte[i,true]
+ + fak21 * in21.werte[i,true]
+ + fak22 * in22.werte[i,true] {$IFDEF lkA23}
+ + fak23 * in23.werte[i,true] {$IFDEF lkA31}
+ + fak24 * in24.werte[i,true]
+ + fak25 * in25.werte[i,true]
+ + fak26 * in26.werte[i,true]
+ + fak27 * in27.werte[i,true]
+ + fak28 * in28.werte[i,true]
+ + fak29 * in29.werte[i,true]
+ + fak30 * in30.werte[i,true]
+ + fak31 * in31.werte[i,true] {$IFDEF lkA32}
+ + fak32 * in32.werte[i,true]
+ {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF};
+
+end;
// Werte werden auf (in1 + \sum_i faki * ini') gesetzt
-procedure tWertePunkt.liKo(in1,in2
+procedure tRaumPunkt.liKo(in1,in2
{$IFDEF lkA3},in3
{$IFDEF lkA4},in4
{$IFDEF lkA5},in5
@@ -22,7 +108,7 @@ procedure tWertePunkt.liKo(in1,in2
{$IFDEF lkA23},in23
{$IFDEF lkA31},in24,in25,in26,in27,in28,in29,in30,in31
{$IFDEF lkA32},in32
-{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: tWertePunkt;
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: tRaumPunkt;
fak2
{$IFDEF lkA3},fak3
{$IFDEF lkA4},fak4
@@ -46,8 +132,7 @@ fak2
{$IFDEF lkA32},fak32
{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: extended);
var
- emF: tEMFeldInhalt;
- maF: tMaterieFeldInhalt;
+ emF: tEMFeldGroesze;
i: longint;
begin
(* tEMFeldInhalt = (
@@ -56,82 +141,87 @@ begin
efDPhiDX
); *)
for emF:=erstesEMFMitAbleitung to letztesEMFMitAbleitung do
- emWerte[emF,false]:=
- in1.emWerte[emF,false]
- + fak2 * in2.emWerte[emF,true] {$IFDEF lkA3}
- + fak3 * in3.emWerte[emF,true] {$IFDEF lkA4}
- + fak4 * in4.emWerte[emF,true] {$IFDEF lkA5}
- + fak5 * in5.emWerte[emF,true] {$IFDEF lkA6}
- + fak6 * in6.emWerte[emF,true] {$IFDEF lkA7}
- + fak7 * in7.emWerte[emF,true] {$IFDEF lkA8}
- + fak8 * in8.emWerte[emF,true] {$IFDEF lkA9}
- + fak9 * in9.emWerte[emF,true] {$IFDEF lkA10}
- + fak10 * in10.emWerte[emF,true] {$IFDEF lkA11}
- + fak11 * in11.emWerte[emF,true] {$IFDEF lkA12}
- + fak12 * in12.emWerte[emF,true] {$IFDEF lkA14}
- + fak13 * in13.emWerte[emF,true]
- + fak14 * in14.emWerte[emF,true] {$IFDEF lkA15}
- + fak15 * in15.emWerte[emF,true] {$IFDEF lkA16}
- + fak16 * in16.emWerte[emF,true] {$IFDEF lkA17}
- + fak17 * in17.emWerte[emF,true] {$IFDEF lkA18}
- + fak18 * in18.emWerte[emF,true] {$IFDEF lkA19}
- + fak19 * in19.emWerte[emF,true] {$IFDEF lkA22}
- + fak20 * in20.emWerte[emF,true]
- + fak21 * in21.emWerte[emF,true]
- + fak22 * in22.emWerte[emF,true] {$IFDEF lkA23}
- + fak23 * in23.emWerte[emF,true] {$IFDEF lkA31}
- + fak24 * in24.emWerte[emF,true]
- + fak25 * in25.emWerte[emF,true]
- + fak26 * in26.emWerte[emF,true]
- + fak27 * in27.emWerte[emF,true]
- + fak28 * in28.emWerte[emF,true]
- + fak29 * in29.emWerte[emF,true]
- + fak30 * in30.emWerte[emF,true]
- + fak31 * in31.emWerte[emF,true] {$IFDEF lkA32}
- + fak32 * in32.emWerte[emF,true]
+ emFelder[emF,false]:=
+ in1.emFelder[emF,false]
+ + fak2 * in2.emFelder[emF,true] {$IFDEF lkA3}
+ + fak3 * in3.emFelder[emF,true] {$IFDEF lkA4}
+ + fak4 * in4.emFelder[emF,true] {$IFDEF lkA5}
+ + fak5 * in5.emFelder[emF,true] {$IFDEF lkA6}
+ + fak6 * in6.emFelder[emF,true] {$IFDEF lkA7}
+ + fak7 * in7.emFelder[emF,true] {$IFDEF lkA8}
+ + fak8 * in8.emFelder[emF,true] {$IFDEF lkA9}
+ + fak9 * in9.emFelder[emF,true] {$IFDEF lkA10}
+ + fak10 * in10.emFelder[emF,true] {$IFDEF lkA11}
+ + fak11 * in11.emFelder[emF,true] {$IFDEF lkA12}
+ + fak12 * in12.emFelder[emF,true] {$IFDEF lkA14}
+ + fak13 * in13.emFelder[emF,true]
+ + fak14 * in14.emFelder[emF,true] {$IFDEF lkA15}
+ + fak15 * in15.emFelder[emF,true] {$IFDEF lkA16}
+ + fak16 * in16.emFelder[emF,true] {$IFDEF lkA17}
+ + fak17 * in17.emFelder[emF,true] {$IFDEF lkA18}
+ + fak18 * in18.emFelder[emF,true] {$IFDEF lkA19}
+ + fak19 * in19.emFelder[emF,true] {$IFDEF lkA22}
+ + fak20 * in20.emFelder[emF,true]
+ + fak21 * in21.emFelder[emF,true]
+ + fak22 * in22.emFelder[emF,true] {$IFDEF lkA23}
+ + fak23 * in23.emFelder[emF,true] {$IFDEF lkA31}
+ + fak24 * in24.emFelder[emF,true]
+ + fak25 * in25.emFelder[emF,true]
+ + fak26 * in26.emFelder[emF,true]
+ + fak27 * in27.emFelder[emF,true]
+ + fak28 * in28.emFelder[emF,true]
+ + fak29 * in29.emFelder[emF,true]
+ + fak30 * in30.emFelder[emF,true]
+ + fak31 * in31.emFelder[emF,true] {$IFDEF lkA32}
+ + fak32 * in32.emFelder[emF,true]
{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF};
-(* tMaterieFeldInhalt = (
- mfN,mfDPsiDX,
- mfP,mfPX,mfPY,mfPZ,
- mfGamma,mfIGamma
- ); *)
- for i:=0 to length(matWerte)-1 do // siehe oben
- for maF:=erstesMatFMitAbleitung to letztesMatFMitAbleitung do
- matWerte[i,maF,false]:=
- in1.matWerte[i,maF,false]
- + fak2 * in2.matWerte[i,maF,true] {$IFDEF lkA3}
- + fak3 * in3.matWerte[i,maF,true] {$IFDEF lkA4}
- + fak4 * in4.matWerte[i,maF,true] {$IFDEF lkA5}
- + fak5 * in5.matWerte[i,maF,true] {$IFDEF lkA6}
- + fak6 * in6.matWerte[i,maF,true] {$IFDEF lkA7}
- + fak7 * in7.matWerte[i,maF,true] {$IFDEF lkA8}
- + fak8 * in8.matWerte[i,maF,true] {$IFDEF lkA9}
- + fak9 * in9.matWerte[i,maF,true] {$IFDEF lkA10}
- + fak10 * in10.matWerte[i,maF,true] {$IFDEF lkA11}
- + fak11 * in11.matWerte[i,maF,true] {$IFDEF lkA12}
- + fak12 * in12.matWerte[i,maF,true] {$IFDEF lkA14}
- + fak13 * in13.matWerte[i,maF,true]
- + fak14 * in14.matWerte[i,maF,true] {$IFDEF lkA15}
- + fak15 * in15.matWerte[i,maF,true] {$IFDEF lkA16}
- + fak16 * in16.matWerte[i,maF,true] {$IFDEF lkA17}
- + fak17 * in17.matWerte[i,maF,true] {$IFDEF lkA18}
- + fak18 * in18.matWerte[i,maF,true] {$IFDEF lkA19}
- + fak19 * in19.matWerte[i,maF,true] {$IFDEF lkA22}
- + fak20 * in20.matWerte[i,maF,true]
- + fak21 * in21.matWerte[i,maF,true]
- + fak22 * in22.matWerte[i,maF,true] {$IFDEF lkA23}
- + fak23 * in23.matWerte[i,maF,true] {$IFDEF lkA31}
- + fak24 * in24.matWerte[i,maF,true]
- + fak25 * in25.matWerte[i,maF,true]
- + fak26 * in26.matWerte[i,maF,true]
- + fak27 * in27.matWerte[i,maF,true]
- + fak28 * in28.matWerte[i,maF,true]
- + fak29 * in29.matWerte[i,maF,true]
- + fak30 * in30.matWerte[i,maF,true]
- + fak31 * in31.matWerte[i,maF,true] {$IFDEF lkA32}
- + fak32 * in32.matWerte[i,maF,true]
- {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF};
+ for i:=0 to length(phasenraum)-1 do
+ phasenraum[i].liKo(
+ in1.phasenraum[i],in2.phasenraum[i]
+ {$IFDEF lkA3},in3.phasenraum[i]
+ {$IFDEF lkA4},in4.phasenraum[i]
+ {$IFDEF lkA5},in5.phasenraum[i]
+ {$IFDEF lkA6},in6.phasenraum[i]
+ {$IFDEF lkA7},in7.phasenraum[i]
+ {$IFDEF lkA8},in8.phasenraum[i]
+ {$IFDEF lkA9},in9.phasenraum[i]
+ {$IFDEF lkA10},in10.phasenraum[i]
+ {$IFDEF lkA11},in11.phasenraum[i]
+ {$IFDEF lkA12},in12.phasenraum[i]
+ {$IFDEF lkA14},in13.phasenraum[i],in14.phasenraum[i]
+ {$IFDEF lkA15},in15.phasenraum[i]
+ {$IFDEF lkA16},in16.phasenraum[i]
+ {$IFDEF lkA17},in17.phasenraum[i]
+ {$IFDEF lkA18},in18.phasenraum[i]
+ {$IFDEF lkA19},in19.phasenraum[i]
+ {$IFDEF lkA22},in20.phasenraum[i],in21.phasenraum[i],in22.phasenraum[i]
+ {$IFDEF lkA23},in23.phasenraum[i]
+ {$IFDEF lkA31},in24.phasenraum[i],in25.phasenraum[i],in26.phasenraum[i],in27.phasenraum[i],in28.phasenraum[i],in29.phasenraum[i],in30.phasenraum[i],in31.phasenraum[i]
+ {$IFDEF lkA32},in32.phasenraum[i]
+ {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF},
+ fak2
+ {$IFDEF lkA3},fak3
+ {$IFDEF lkA4},fak4
+ {$IFDEF lkA5},fak5
+ {$IFDEF lkA6},fak6
+ {$IFDEF lkA7},fak7
+ {$IFDEF lkA8},fak8
+ {$IFDEF lkA9},fak9
+ {$IFDEF lkA10},fak10
+ {$IFDEF lkA11},fak11
+ {$IFDEF lkA12},fak12
+ {$IFDEF lkA14},fak13,fak14
+ {$IFDEF lkA15},fak15
+ {$IFDEF lkA16},fak16
+ {$IFDEF lkA17},fak17
+ {$IFDEF lkA18},fak18
+ {$IFDEF lkA19},fak19
+ {$IFDEF lkA22},fak20,fak21,fak22
+ {$IFDEF lkA23},fak23
+ {$IFDEF lkA31},fak24,fak25,fak26,fak27,fak28,fak29,fak30,fak31
+ {$IFDEF lkA32},fak32
+ {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF});
end;
// Werte werden auf (in1 + \sum_i faki * ini') gesetzt
@@ -233,4 +323,3 @@ begin
inhalt[i].nichtnegativieren;
end;
-