Auswertung IVT

von Max Hoffmann

Alle möglichen Pakete laden

<< Graphics`Graphics`
<< Statistics`DataManipulation`
<< NumericalMath`SplineFit`

!!!In das richtige Verzeichnis wechseln und alle Daten einlesen!!! Abändern!!!

makePlot = "False";
makeExport  = "False";

Das Script exportiert die Daten kanonisch benannt in das gleiche Verzeichnis, wo mit es mit gnuplot o.ä. eingelesen werden kann.

SetDirectory["/home/mhoffman/fpb/B12/ivtDaten"];

SiValues = 
        Table[Drop[
            Import["SiT" <> ToString[x] <> "Khell.txt", "Table"], 
            10], {x, 200, 330, 10}];

CISValues = 
        Table[Drop[
            Import["CIST" <> ToString[x] <> "K.txt", "Table"], 
            10], {x, 200, 330, 10}];

Die Kurzschlussspannung in Abhängigkeit von der Temperatur ermitteln

\(U\_\(oc, Si\) = 
      Table[{190 + 
            10*i, \(\(FindRoot[\(Interpolation[
                      Column[SiValues[[
                          i]], {1, 2}]]\)[x] == 
                  0, {x, 0.6}]\)[[1]]\)[[2]]}, {i, 1, 14}]; 
    If[makePlot == "True", 
      ListPlot[U\_\(oc, Si\), ImageSize -> \ 550]];\)

\(U\_\(oc, CIS\) = 
      Table[{190 + 
            10*i, \(\(FindRoot[\(Interpolation[
                      Column[CISValues[[
                          i]], {1, 2}]]\)[x] == 
                  0, {x, 0.6}]\)[[1]]\)[[2]]}, {i, 1, 14}]; 
    If[makePlot == "True", 
      ListPlot[U\_\(oc, CIS\), ImageSize -> \ 550]];\)

Den Kurzschlussstrom in Abhängigkeit von der Temperatur ermitteln

(Subscript[J, sc, Si]) = 
        Table[{190 + 
              10 i, Interpolation[
                Column[SiValues[[
                    i]], {1, 2}]][0]}, {i, 1, 
            14}];
If[makePlot == "True", 
        ListPlot[(Subscript[J, sc, Si]), ImageSize ->  550]];

(Subscript[J, sc, CIS]) = 
        Table[{190 + 
              10 i, Interpolation[
                Column[CISValues[[
                    i]], {1, 2}]][0]}, {i, 1, 
            14}];
If[makePlot == "True", 
        ListPlot[(Subscript[J, sc, CIS]), ImageSize ->  550]];

Die Füllfaktoren bestimmen.

\(FF\_Si = 
      Table[{190 + 
            10  i, \(Minimize[{\(Interpolation[Column[SiValues[[i]], {1, 2}]]\)[x]*x, x > 0, x < \(U\_\(oc, Si\)[[i]]\)[[2]]}, {x}]\)[[1]]\/\(\(U\_\(oc, Si\)[[i]]\)[[2]]*\(J\_\(sc, Si\)[[i]]\)[[2]]\)}, {i, 1, 
          14}]; If[makePlot == "True", 
      ListPlot[FF\_Si, ImageSize -> \ 550]];\)

\(FF\_CIS = 
      Table[{190 + 
            10  i, \(Minimize[{\(Interpolation[Column[CISValues[[i]], {1, 2}]]\)[x]*x, x > 0, x < \(U\_\(oc, CIS\)[[i]]\)[[2]]}, {x}]\)[[1]]\/\(\(U\_\(oc, CIS\)[[i]]\)[[2]]*\(J\_\(sc, CIS\)[[i]]\)[[2]]\)}, {i, 1, 
          14}]; If[makePlot == "True", 
      ListPlot[FF\_CIS, ImageSize -> \ 550]];\)

Die Wirkungsgrade bestimmen.

(Subscript[η, Si]) = 
        Table[{190 + 
              10  i, (((Subscript[FF, Si])[[i]][[2]] (Subscript[U, oc, Si])[[i]][[2]] (Subscript[J, sc, Si])[[i]][[2]] )/(-0.1 4))}, {i, 1, 14}];
If[makePlot == "True", 
        ListPlot[(Subscript[η, Si]), ImageSize ->  550]];

(Subscript[η, CIS]) = 
        Table[{190 + 
              10  i, (((Subscript[FF, CIS])[[i]][[2]] (Subscript[U, oc, CIS])[[i]][[2]] (Subscript[J, sc, CIS])[[i]][[2]] )/(- .1 0.5))}, {i, 1, 14}];
If[makePlot == "True", 
        ListPlot[(Subscript[η, CIS]), ImageSize ->  550]];

\(\(\(
\)\(If[
        makeExport == "True", 
Export["LeerlaufspannungSi.dat", 
          U\_\(oc, Si\), "TSV"]; 
Export["LeerlaufspannungCIS.dat", 
          U\_\(oc, CIS\), "TSV"]; 

Export["KurzschlussstromSi.dat", 
          J\_\(sc, Si\), "TSV"]; 
Export["KurzschlussstromCIS.dat", 
          J\_\(sc, CIS\), "TSV"]; 

Export["FuellFaktorSi.dat", 
          FF\_Si, "TSV"]; 
Export["FuellFaktorCIS.dat", FF\_CIS, "TSV"]; 

Export["WirkungsgradSi.dat", η\_Si, "TSV"]; 	

        Export["WirkungsgradCIS.dat", η\_CIS, "TSV"];
];\)\)\)