summaryrefslogtreecommitdiff
path: root/linearkombination.inc
diff options
context:
space:
mode:
Diffstat (limited to 'linearkombination.inc')
-rw-r--r--linearkombination.inc186
1 files changed, 186 insertions, 0 deletions
diff --git a/linearkombination.inc b/linearkombination.inc
new file mode 100644
index 0000000..2d6a27d
--- /dev/null
+++ b/linearkombination.inc
@@ -0,0 +1,186 @@
+
+// Werte werden auf (in1 + \sum_i faki * ini') gesetzt
+
+procedure tWertePunkt.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 lkA22},in17,in18,in19,in20,in21,in22
+{$IFDEF lkA23},in23
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: tWertePunkt;
+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 lkA22},fak17,fak18,fak19,fak20,fak21,fak22
+{$IFDEF lkA23},fak23
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: extended);
+var
+ emF: tEMFeldInhalt;
+ maF: tMaterieFeldInhalt;
+ i: longint;
+begin
+(* tEMFeldInhalt = (
+ efA,efAX,efAY,efAZ,
+ efDAXDT,efDAYDT,efDAZDT,
+ efDPhiDX
+ ); *)
+ for emF:=efAX to efDPhiDX do // alles außer efA, welchen Ableitung ja nicht berechnet wurde
+ 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 lkA22}
+ + fak17 * in17.emWerte[emF,true]
+ + fak18 * in18.emWerte[emF,true]
+ + fak19 * in19.emWerte[emF,true]
+ + fak20 * in20.emWerte[emF,true]
+ + fak21 * in21.emWerte[emF,true]
+ + fak22 * in22.emWerte[emF,true] {$IFDEF lkA23}
+ + fak23 * in23.emWerte[emF,true]
+ {$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:=mfN to mfDPsiDX 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 lkA22}
+ + fak17 * in17.matWerte[i,maF,true]
+ + fak18 * in18.matWerte[i,maF,true]
+ + fak19 * in19.matWerte[i,maF,true]
+ + 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]
+ {$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 tFelder.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 lkA22},in17,in18,in19,in20,in21,in22
+{$IFDEF lkA23},in23
+{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}: tFelder;
+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 lkA22},fak17,fak18,fak19,fak20,fak21,fak22
+{$IFDEF lkA23},fak23
+{$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(inhalt)-1 do
+ inhalt[i].liKo(
+ in1.inhalt[i],in2.inhalt[i]
+ {$IFDEF lkA3},in3.inhalt[i]
+ {$IFDEF lkA4},in4.inhalt[i]
+ {$IFDEF lkA5},in5.inhalt[i]
+ {$IFDEF lkA6},in6.inhalt[i]
+ {$IFDEF lkA7},in7.inhalt[i]
+ {$IFDEF lkA8},in8.inhalt[i]
+ {$IFDEF lkA9},in9.inhalt[i]
+ {$IFDEF lkA10},in10.inhalt[i]
+ {$IFDEF lkA11},in11.inhalt[i]
+ {$IFDEF lkA12},in12.inhalt[i]
+ {$IFDEF lkA14},in13.inhalt[i],in14.inhalt[i]
+ {$IFDEF lkA15},in15.inhalt[i]
+ {$IFDEF lkA16},in16.inhalt[i]
+ {$IFDEF lkA22},in17.inhalt[i],in18.inhalt[i],in19.inhalt[i],in20.inhalt[i],in21.inhalt[i],in22.inhalt[i]
+ {$IFDEF lkA23},in23.inhalt[i]
+ {$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 lkA22},fak17,fak18,fak19,fak20,fak21,fak22
+ {$IFDEF lkA23},fak23
+ {$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF}{$ENDIF});
+end;
+
+