Benutzer-Werkzeuge

Webseiten-Werkzeuge


phasen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
phasen [2022/03/24 19:03] torsten.roehlphasen [2022/03/25 13:27] (aktuell) torsten.roehl
Zeile 1: Zeile 1:
 +====== Transitphasen ======
  
 <PRELOAD> <PRELOAD>
Zeile 18: Zeile 19:
 ############################################################################################################ ############################################################################################################
 </PRELOAD> </PRELOAD>
- 
  
 <JS> <JS>
  
- var a = -7.0+var a = -7.0; 
- var b = 0.0; +var planet; 
- var c = 0.0; +var brd; 
- var f+///////ctrl 
- var planet; +var onoff; 
- var brd; +var bText = true; 
- ///////ctrl +var bPhase = true; 
- var onoff; +var bImage = true
- var bText = true; + 
- var b1234 = true; +var pointer
- var bImpact = true; +var time=0.0; // 0-1 normalized time
- var time=0.0; // 0-1 normalized time+
 ////////// //////////
  
Zeile 109: Zeile 108:
 function zeit(t){ x = 16.5*t - 8.2; return x; }; function zeit(t){ x = 16.5*t - 8.2; return x; };
  
-brd.create('arrow', [ [ function(){return ex(a);},5],[function(){ return zeit(time);},-3]] ,{ dash:2, strokeColor:'#D3D3D3', fillOpacity: 0.2});  +// 
 +// pointer 
 +// 
 +brd.create('arrow', [ [ function(){return ex(a);},5],[function(){ return zeit(time) + 0.2;}, function(){ return pointer + 0.2;}]] ,{ dash:2, strokeColor:'#D3D3D3', fillOpacity: 0.2, visible: function(){ if(time == 0) return false; return true;}});  
  
 ///////// Koordinatensystem ///////// Koordinatensystem
    brd.create('arrow', [ [-8.7,-9],[-8.7,-1]] ,{strokeColor:'#000'});      brd.create('arrow', [ [-8.7,-9],[-8.7,-1]] ,{strokeColor:'#000'});  
    brd.create('arrow', [ [-8.7,-9],[9,-9]] ,{strokeColor:'#000'});      brd.create('arrow', [ [-8.7,-9],[9,-9]] ,{strokeColor:'#000'});  
-   brd.create('text',[-9.5,-0.5,"Helligkeit"]); +   brd.create('text',[-9.2,-5,"Helligkeit"]
-   brd.create('text',[8.5,-8,"Zeit"]);+      display: 'internal',      rotate:90  }); 
 +   brd.create('text',[8.5,-8.3,"Zeit"]); 
 + 
 +////////////////// image 
 +breite1 = 6; 
 +hoehe1 = 5;  
 +box_x1 = -8.2; 
 +box_y1 = 2.3; 
 + 
 +function showImage() {  if (time == 1.0 && bText && bImage) return true; return false;} 
 + 
 +brd.create('image', ['http://wiki.linux-astronomie.de/lib/exe/fetch.php?media=exoplanet_phase.png',  
 +                     [box_x1+0.2, box_y1+0.2], [breite1,hoehe1]] , 
 +                      {visible: function(){ return showImage();}} ); 
 +// unten 
 +brd.create('line',[[box_x1,box_y1],[box_x1+breite1+0.4,box_y1]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + // links 
 +brd.create('line',[[box_x1,box_y1],[box_x1,box_y1+hoehe1+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// rechts 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1],[box_x1+breite1+0.4,box_y1+hoehe1+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// oben 
 +brd.create('line',[[box_x1,box_y1+0.4+hoehe1],[box_x1+breite1+0.4,box_y1+0.4+hoehe1]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +/////// box 2 
 +breite = 5.9; 
 +hoehe = 2;  
 +box_x = 3.65; 
 +box_y = 3.8; 
 + 
 +// unten 
 +brd.create('line',[[box_x,box_y],[box_x+breite+0.4,box_y]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + // links 
 +brd.create('line',[[box_x,box_y],[box_x,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// rechts 
 +brd.create('line',[[box_x+breite+0.4,box_y],[box_x+breite+0.4,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}});  
 +// oben 
 +brd.create('line',[[box_x,box_y+0.4+hoehe],[box_x+breite+0.4,box_y+0.4+hoehe]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1+hoehe1+0.4],[box_x,box_y+hoehe+0.4]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 +brd.create('line',[[box_x1+breite1+0.4,box_y1],[box_x,box_y]],{straightFirst:false, 
 +                                   straightLast:false, strokeColor:'#000', 
 +                                   strokeWidth:1, needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('text',[box_x1+1,box_y1+hoehe1+0.9,"Beobachtung (Foto)"],{ needsRegularUpdate:true,visible: function(){ return showImage();}}); 
 + 
 +brd.create('text',[box_x+2.5,box_y+hoehe+0.9,"Theorie"],{needsRegularUpdate:true,visible: function(){ return showImage();}});
  
 ///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
 //  transit   //  transit  
 ////////////////////////////////////////////////////////////////////////////////////   ////////////////////////////////////////////////////////////////////////////////////  
- +// 0----q1----p1----p2----q2--------q3---p3----p4-----q4-------1 
-var p1=0.26; // 0----q1----p1----p2----q2--------q3---p3----p4-----q4-------1+var p1=0.26; 
 var p2=0.3; var p2=0.3;
 var p3= 0.81; var p3= 0.81;
Zeile 133: Zeile 198:
 var xmin = -8.2; var xmin = -8.2;
 var xman = 8.3; var xman = 8.3;
 +
 // ingress time   // ingress time  
 function funcShow0(x){ function funcShow0(x){
-       if ( bText && b1234 && >  x) return true;       +       if ( bText && bPhase && time >  x) return true;       
        return false;        return false;
 } }
 ///////////////////// /////////////////////
-brd.create('text',[p1-0.1,-8,"t_1"],{ visible: function() { return funcShow0(p2);},needsRegularUpdate:true}); +brd.create('text',[-5.5,-6.5,"primäre Phase"],{ visible: function() { return funcShow0(q2);},needsRegularUpdate:true}); 
-brd.create('text',[p2-0.1,-8,"t_2"],{ visible: function() { return funcShow0(p2);},needsRegularUpdate:true}); +brd.create('text',[-4.2,-7.2,"Δ F_p"],{ visible: function() { return funcShow0(q2);},needsRegularUpdate:true});
-brd.create('text',[p3-0.1,-8,"t_3"],{ visible: function() { return funcShow0(p4);},needsRegularUpdate:true}); +
-brd.create('text',[p4-0.1,-8,"t_4"],{ visible: function() { return funcShow0(p4);},needsRegularUpdate:true}); +
- +
  
-brd.create('arrow', [ [p1+(p2-p1)/2,-7.3],[p2,-7.3]] ,{visible: function() {return funcShow0(p2);},strokeColor:'#000'}); +brd.create('text',[4,-5,"sekundäre Phase"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true}); 
-brd.create('arrow', [ [p1+(p2-p1)/2,-7.3],[p1,-7.3]] ,{visible: function() {return funcShow0(p2);},strokeColor:'#000'});+brd.create('text',[5.5,-5.7,"Δ F_s"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true});
  
-brd.create('text',[p1 -0.5,-7.3,"&tau;"],{label: {useMathJax: true}, visible: function() { return funcShow0(p2);},needsRegularUpdate:true});+brd.create('text',[2,-7,"Δ F_p > Δ F_s"],{ visible: function() { return funcShow0(q4);},needsRegularUpdate:true});
  
-//////////// +var textIncrease = brd.create('text',[-1.3,-3.9,"steigende Helligkeit"],{  
-//brd.create('line',[[xmin,-2],function(){  +                   visible: function() { return funcShow0(q3);}, 
-//         return zeit(time);            +                   needsRegularUpdate:true, 
-//         ,-2]],  +                   display'internal', 
-//         {straightFirst:falsestraightLast:falsestrokeWidth:4, needsRegularUpdate:true}); +                   rotate:8                  
 +                   });
  
 +brd.create('text',[-8.3,-3.5,"fallende Helligkeit"],
 +                   visible: function() { return funcShow0(q1);},
 +                   needsRegularUpdate:true,
 +                   display: 'internal',
 +                   rotate:-8                 
 +                   });
  
 // //
Zeile 167: Zeile 237:
 } }
 ///////////// start line ///////////// start line
-   brd.create('line',[[xmin,-4],[ function(){ +brd.create('line',[[xmin,-4],[ function(){
            if ( time == 0.0 ) return;                     if ( time == 0.0 ) return;         
            if( time < q1) { return zeit(time); }            if( time < q1) { return zeit(time); }
Zeile 178: Zeile 247:
            x2 =   q1;             x2 =   q1; 
            y2 = -4.5;            y2 = -4.5;
-           +                  
            if(time > x2 ) return y2;            if(time > x2 ) return y2;
- +           else { 
-           return line2Points(time,x1,y1,x2,y2);+                  pointer = line2Points(time,x1,y1,x2,y2); 
 +                  return pointer; 
 +            }
          } ]],           } ]], 
          {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true});           {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 ///////////// start down 1 ///////////// start down 1
-   brd.create('line',[[ zeit(q1),-4.5],[ function(){         +brd.create('line',[[ zeit(q1),-4.5],[ function(){          
-       +
            if( time > q1 && time < p1) { return zeit(time); }            if( time > q1 && time < p1) { return zeit(time); }
            else { if (time  > p1) {return zeit(p1); }}               else { if (time  > p1) {return zeit(p1); }}   
Zeile 196: Zeile 266:
            x2 =   p1;             x2 =   p1; 
            y2 =   -6;            y2 =   -6;
-            +          
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) 
-           else   { if ( time >= zeit(x2) ) {return y2;}  }+                   pointer = line2Points(time,x1,y1,x2,y2); 
 +                   return  pointer;            
 +            }else   { if ( time >= zeit(x2) ) { return y2;}  }
  
          } ]],           } ]], 
          {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true});           {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
 ///////////// start dip 1 ///////////// start dip 1
-   brd.create('line',[[ zeit(p1),-6],[ function(){         +brd.create('line',[[ zeit(p1),-6],[ function(){             
-       +
            if( time > p1 && time < p2) { return zeit(time); }            if( time > p1 && time < p2) { return zeit(time); }
            else { if (time  >= p2) {return zeit(p2); }}               else { if (time  >= p2) {return zeit(p2); }}   
Zeile 215: Zeile 286:
            y2 =   -6;            y2 =   -6;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) 
-           else   { if ( time >= zeit(x2) ) {return y2;}  }+              pointer = line2Points(time,x1,y1,x2,y2)
 +              return pointer
 +           else   { if ( time >= zeit(x2) ) {return y2;}  }
  
          } ]],           } ]], 
Zeile 222: Zeile 295:
  
 ///////////// start up 1 ///////////// start up 1
-   brd.create('line',[[ zeit(p2),-6],[ function(){         +brd.create('line',[[ zeit(p2),-6],[ function(){              
-       +
            if( time > p2 && time < q2) { return zeit(time); }            if( time > p2 && time < q2) { return zeit(time); }
            else { if (time  >= q2)     { return zeit(q2); }}               else { if (time  >= q2)     { return zeit(q2); }}   
Zeile 234: Zeile 306:
            y2 =   -4.5;            y2 =   -4.5;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2);+           if(time > x1 && time < x2 ) 
 +            pointer =  line2Points(time,x1,y1,x2,y2); 
 +            return pointer; 
 +           }
            else   { if ( time >= zeit(x2) ) {return y2;}  }            else   { if ( time >= zeit(x2) ) {return y2;}  }
  
Zeile 242: Zeile 317:
  
 ///////////// start line ///////////// start line
-   brd.create('line',[[ zeit(q2),-4.5],[ function(){         +brd.create('line',[[ zeit(q2),-4.5],[ function(){             
-       +
            if( time > q2 && time < q3) { return zeit(time); }            if( time > q2 && time < q3) { return zeit(time); }
            else { if (time  >= q3)     { return zeit(q3); } }               else { if (time  >= q3)     { return zeit(q3); } }   
Zeile 254: Zeile 328:
            y2 =   -3.5;            y2 =   -3.5;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) {                    
-           else   { if ( time >= x2 ) {return y2;}  }+                   pointer = line2Points(time,x1,y1,x2,y2); 
 +                   return pointer; 
 + 
 +           else   { if ( time >= x2 ) {return y2;}  }
  
          } ]],           } ]], 
Zeile 261: Zeile 338:
  
 ///////////// start down 2 ///////////// start down 2
-   brd.create('line',[[ zeit(q3),-3.5],[ function(){         +brd.create('line',[[ zeit(q3),-3.5],[ function(){             
-       +
            if( time > q3 && time < p3) { return zeit(time); }            if( time > q3 && time < p3) { return zeit(time); }
            else { if (time  >= p3)     { return zeit(p3); } }               else { if (time  >= p3)     { return zeit(p3); } }   
Zeile 273: Zeile 349:
            y2 =   -4.5;            y2 =   -4.5;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) 
-           else   { if ( time >= x2 ) {return y2;}  }+               pointer = line2Points(time,x1,y1,x2,y2)
 +               return pointer
 +           }else   { if ( time >= x2 ) {return y2;}  }
  
          } ]],           } ]], 
Zeile 280: Zeile 358:
  
 ///////////// start line ///////////// start line
-   brd.create('line',[[ zeit(p3),-4.5],[ function(){         +brd.create('line',[[ zeit(p3),-4.5],[ function(){              
-       +
            if( time > p3 && time < p4) { return zeit(time); }            if( time > p3 && time < p4) { return zeit(time); }
            else { if (time  >= p4)     { return zeit(p4); } }               else { if (time  >= p4)     { return zeit(p4); } }   
Zeile 292: Zeile 369:
            y2 =   -4.5;            y2 =   -4.5;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) 
-           else   { if ( time >= x2 ) {return y2;}  }+             pointer = line2Points(time,x1,y1,x2,y2); 
 +             return pointer; 
 +             }  else   { if ( time >= x2 ) {return y2;}  }
  
          } ]],           } ]], 
Zeile 299: Zeile 378:
  
 ///////////// start up ///////////// start up
-   brd.create('line',[[ zeit(p4),-4.5],[ function(){         +brd.create('line',[[ zeit(p4),-4.5],[ function(){              
-       +
            if( time > p4 && time < q4) { return zeit(time); }            if( time > p4 && time < q4) { return zeit(time); }
            else { if (time  >= q4)     { return zeit(q4); } }               else { if (time  >= q4)     { return zeit(q4); } }   
Zeile 311: Zeile 389:
            y2 =   -3.5;            y2 =   -3.5;
                        
-           if(time > x1 && time < x2 ) return  line2Points(time,x1,y1,x2,y2); +           if(time > x1 && time < x2 ) 
-           else   { if ( time >= x2 ) {return y2;}  }+             pointer =  line2Points(time,x1,y1,x2,y2); 
 +             return pointer; 
 +             else   { if ( time >= x2 ) {return y2;}  }
  
          } ]],           } ]], 
          {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true});           {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
  
 +///////////// start line
 +brd.create('line',[[ zeit(q4),-3.5],[ function(){            
 +           if( time > q4 && time < 1.0) { return zeit(time); }
 +           else { if (time  >= 1.0)     { return zeit(1.0); } }   
 +              
 +         } ,function(){ 
  
 +           x1 =   q4;
 +           y1 =   -3.5;
 +           x2 =   1.0; 
 +           y2 =   -3.8;
 +           
 +           if(time > x1 && time < x2 ){
 +              pointer =  line2Points(time,x1,y1,x2,y2);
 +              return pointer;
 +            } else   { if ( time >= x2 ) {return y2;}  }
 +
 +         } ]], 
 +         {straightFirst:false, straightLast:false, strokeWidth:4, needsRegularUpdate:true}); 
  
        
 ////////////////////////////////////////////////////// //////////////////////////////////////////////////////
 } // END OF BLOCK } // END OF BLOCK
- 
  
 function beschriftungChanged(value) { function beschriftungChanged(value) {
Zeile 335: Zeile 432:
      for(var i=0, n=checkboxes.length;i<n;i++) {      for(var i=0, n=checkboxes.length;i<n;i++) {
              checkboxes[i].checked = source.checked;              checkboxes[i].checked = source.checked;
-             ///// +            
-             if( i == 0 ) onImpaktChanged(source);            +             if( i == 0 ) onImageChanged(source);            
-             if( i == 1 ) on1234Changed(source);          +             if( i == 1 ) onPhaseChanged(source);         
                          
           }             }  
Zeile 343: Zeile 440:
 }   }  
  
-function on1234Changed(value) {+function onPhaseChanged(value) {
             if (value.checked ){             if (value.checked ){
-              b1234 = true;              +              bPhase = true;              
-            }else { b1234 = false ;}           +            }else { bPhase = false ;}           
             brd.fullUpdate();                 brd.fullUpdate();    
  
    
-function onBetaChanged() { +function onTimeChanged() { 
-            a = parseFloat($("#betaSlider").val());+            a = parseFloat($("#timeSlider").val());
             time  = a/0.9; // 0.9 slider max!             time  = a/0.9; // 0.9 slider max!
             a = a*14 -7;                   a = a*14 -7;      
-            $("#betaOut").text(time.toFixed(2));+            $("#timeOut").text(time.toFixed(2));
             brd.fullUpdate();                         brd.fullUpdate();            
 } }
  
-function onImpaktChanged(value) +function onImageChanged(value) 
             if (value.checked ){             if (value.checked ){
-              bImpact = true;              +              bImage = true;              
-            }else { bImpact = false ;}              +            }else { bImage = false ;}              
             brd.fullUpdate();                 brd.fullUpdate();    
  
Zeile 372: Zeile 469:
 <body onload="onInit()"> <body onload="onInit()">
 <center> <center>
-<section>+<section>   <div id="jbox" class="jxgbox" style="width:500px; height:500px;"></div> 
 +</center>  Idealisierte Lichtkurve zur Demostration der Transitphasen. Bei der primären Phase läuft der Exoplanet vor dem Zentralgestirn und dem Beobachter vorbei, bei der sekundären Phase wird der Exoplanet vom Zentralgestirn verdeckt. Obwohl beide Phasen einen Lichtabfall erzeugen, stellt bereits die primäre Phase die Grenze des derzeit machbaren in der Amateurastronomie dar.
  
-               <div id="jbox" class="jxgbox" style="width:500px; height:500px;"></div> +<br>Einstellungen<br><br> 
-</center>  +                      Zeit:   <span id="timeOutstyle="display:none"></span>&nbsp;&nbsp;&nbsp;&nbsp; 
-            +            <input id="timeSlider" type="range" min="0.0" max="0.9" value="0.0" 
-            Idealisierte Lichtkurve. Ein Transit ist nur zu beobachten, wenn der Impaktparameter <b>b</b> nicht zu groß ist,. <br>Einstellungen<br><br> +                step="0.01" style="width:250px" oninput="onTimeChanged()">  
-                      Zeit:  &beta;: &nbsp;<span id="betaVal"></span> <span id="betaOut"></span>&nbsp;&nbsp;&nbsp;&nbsp; +
-            <input id="betaSlider" type="range" min="0.0" max="0.9" value="0.0" +
-                step="0.01" style="width:250px" oninput="onBetaChanged()">  +
          
 <div> <div>
Zeile 406: Zeile 501:
  
 <div> <div>
-  <input type="checkbox"  name="foo" onchange="onImpaktChanged(this)"+  <input type="checkbox"  name="foo" onchange="onImageChanged(this)"
          checked>          checked>
-  <label for="scales">Phasen</label> +  <label for="scales">Bild</label> 
-<div>todo +<div>Reales Foto (Exoplanet TOI 4059.01 vom Autor) eines Exoplaneten in der primären Transitphase. 
 +Unabhängig von den Phasen (oder Flanken) reicht die Auflösung nicht aus, um irgendwelche Details zu erkennen.  
 </div> </div>
  
 <div> <div>
   <input type="checkbox"  name="foo"   <input type="checkbox"  name="foo"
-         checked onchange="on1234Changed(this)"> +         checked onchange="onPhaseChanged(this)"> 
-  <label for="t1234">Flanken</label>+  <label for="phase">Phasen/Flanken</label>
 <div> <div>
-Die Flanken.... +<b>primäre Phase</b><br> Die Transitphase, bei der der Exoplanet vor dem Zentralgestirn (englHoststar)  im Bezug auf dem Beobachter vorbeizieht.
 </div> </div>
 +<div><b>sekundäre Phase</b><br>Die Transitphase, bei der der Exoplanet hinter dem Zentralgestirn (engl. Hoststar) im Bezug auf dem Beobachter vorbeizieht.</div><div> 
 +<b>Flanken</b><br>Zwischen den Phasen verläuft die Helligkeit nicht gleichmäßig, beispielsweise steigt die Helligkeit von der primären zur sekundären Phase leicht an, da zunehmend auch der vom Zentralgestirn angestrahlte Exoplanet einen Beitrag zur gesamt Helligkeit liefert. <br>Grundsätzlich sind Transittiefen (ΔF) sehr klein, die typische Größenordnung ist hier  milli-magnitudes (mmag) bzw. ppt (parts-per-thousend), und können daher nur fotographisch nachgewiesen werden. </div>
 </body> </body>
 </HTML> </HTML>
phasen.1648148586.txt.gz · Zuletzt geändert: 2022/03/24 19:03 von torsten.roehl