====== Lichtkurve ohne Randverdunkelung ====== // Um die Effekte der Randverdunkelung (engl. limb darkening) besser verstehen zu können, wird zuerst die Lichtkurve __ohne__ Randverdunkelung in Abhängigkeit der Planetengrö0e und des Impaktparameters **b** untersucht. // Übersicht Tutorial: [[cas-008|CAS-008: Exoplaneten]] ===== Lichkurve ohne Randverdunkelung ===== Bei der Lichtkurve ohne Randverdunkelung, gehen wir von eine gleichmäßigen (uniformen) Beleuchtung, sowohl des Himmelshintergrundes als auch des Sterns aus. Die Animationen berechnet die exakten Schnittfläche zwischen Exoplaneten und Stern, d.h. wir beziehen uns auf eine 2-dimensionale Geometrie und vernachlässigen z.B., dass Stern und Planet Kugelförmig sind. Die Skalierung der Lichtkurve ist relativ, um möglichst viele Details darstellen zu können. Reale Störungen die nicht Berücksichtigt werden sind beispielsweise: * die uniforme Beleuchtung des Sterns kann durch Sternenflecke (das sind kühlere Magnetfelder auf der Sternenoberflöche), negativ beeinflusst werden * weitere Exoplaneten (aber auch Asteroiden, Kometen, etc.) verändern die Lichtkurve ebenfalls und werden hier nicht diskutiert. * außerdem wird angenommen, das __keine__ Abhängigkeit von der verwendeten Wellenlänge existiert. ########################################################################################################## /lib/scripts/jqplot/jquery.jqplot.js /lib/scripts/jqplot/jquery.jqplot.css # css /lib/scripts/jqplot/jquery.min.js #(not required since DokuWiki 2012-01-25 Angua uses jQuery) /lib/scripts/jqplot/jquery.jqplot.min.js # js # # jsxgraph # https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraphcore.js https://cdn.jsdelivr.net/npm/jsxgraph/distrib/jsxgraph.css # # personal # /lib/scripts/src/header.js /lib/scripts/src/pointCharge.js ############################################################################################################ var brd; var onoff; var bText = true; var bImpact = true; var bPlanet = true; var xmin = -7.5; var xmax = 7.5; // slider var planet = 0.1; var impact = 0.0; function onInit() { // first Animation context writeMainHeader(); /////////////// BOARD brd = JXG.JSXGraph.initBoard('jbox', {boundingbox: [-10, 10, 10, -10], axis:false, grid:false, showNavigation:false, showCopyright:false, needsRegularUpdate:true, unitX: 25, unitY: 25, originX:250, originY:250 }); // //////////// STAR starRadius = 75/2 brd.create('point',[0,5], {face:'o', strokeColor: '#000', size:75, fixed: true, layer:8, fillColor: 'yellow', fillOpacity:0.5, needsRegularUpdate:true, name:'' } ); function impactPosition(){ return -3*(impact)+5;} brd.create('line',[[xmin, 5],[xmax,5]] ,{ needsRegularUpdate:true,strokeWidth:1,straightFirst:false, straightLast:false,strokeColor:'#D3D3D3'}); brd.create('line',[[xmin, function(){ return impactPosition()}],[xmax, function() { return impactPosition()}]] ,{ needsRegularUpdate:true,strokeWidth:1,straightFirst:false, straightLast:false,strokeColor:'#D3D3D3'}); function planetSize(){ return 2*starRadius*planet } /////// Impact //////////////////////////////////////////////////////////////// function showImpact0(){ if (bText && bImpact && impact <= 0.4) return true; return false; } function showImpact04(){ if (bText && bImpact && impact > 0.4) return true; return false; } brd.create('text',[-5.5,5.5,"b"],{ visible: function() { return showImpact0();},needsRegularUpdate:true}); brd.create('arrow', [ [-6,5+0.8],[-6,5]] ,{visible: function() {return showImpact0();},strokeColor:'#000'}); brd.create('arrow', [ [-6, function(){ return impactPosition()-0.8}],[-6,function(){ return impactPosition()}]] ,{visible: function() {return showImpact0();},strokeColor:'#000', stokeWidth: 1}); brd.create('text',[-5.5, function() {return 5-(5-impactPosition())/2;},"b"],{ visible: function() { return showImpact04();},needsRegularUpdate:true}); brd.create('arrow', [ [-6,function() {return 5-(5-impactPosition())/2;}],[-6,5]] , {visible: function() {return showImpact04();},strokeColor:'#000'}); brd.create('arrow', [ [-6,function() {return 5-(5-impactPosition())/2;} ],[-6,function(){ return impactPosition()}]] ,{visible: function() {return showImpact04();},strokeColor:'#000', stokeWidth: 1}); /////////// R_p/ R_Star function showPlanet(){ if (bText && bPlanet) return true; return false; } function planetText(){ return 'R_p/R_* ≈ ' + planet.toFixed(2) + ' ' ; } function planetText1(){ if (planet <= 0.01 ){ return 'R_p/R_* ≈ R_{ERDE} ' ; } if (planet > 0.01 && planet < 0.10 ){ return 'R_p/R_* > R_{ERDE} ' ; } if (planet == 0.10 ){ return 'R_p/R_* ≈ R_{JUPITER} ' ; } if (planet > 0.10 ){ return 'R_p/R_* > R_{JUPITER} ' ; } } brd.create('text',[5,-5.5, function(){ return planetText();} ],{ visible: function() { return showPlanet();},needsRegularUpdate:true}); brd.create('text',[5,-7, function(){ return planetText1();} ],{ visible: function() { return showPlanet();},needsRegularUpdate:true}); // // //////////// planet brd.create('point',[ 0, function(){ return impactPosition()}], {face:'o', strokeColor: '#000', size: function(){ return planetSize(); }, layer:8, fillColor: 'black', fillOpacity:0.7, needsRegularUpdate:true, name:'' } ); ///////// Koordinatensystem brd.create('arrow', [ [-8.7,-9],[-8.7,-1]] ,{strokeColor:'#000'}); brd.create('arrow', [ [-8.7,-9],[9,-9]] ,{strokeColor:'#000'}); brd.create('text',[-9.2,-5,"Helligkeit"], { display: 'internal', rotate:90 }); brd.create('text',[8.5,-8.3,"Zeit"]); ////////// function areaOfIntersection(x0, y0, r0, x1, y1, r1) { var rr0 = r0 * r0; var rr1 = r1 * r1; var d = Math.sqrt((x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0)); // Circles do not overlap if (d > r1 + r0) { return 0; } // Circle1 is completely inside circle0 else if (d <= Math.abs(r0 - r1) && r0 >= r1) { // Return area of circle1 return Math.PI * rr1; } // Circle0 is completely inside circle1 else if (d <= Math.abs(r0 - r1) && r0 < r1) { // Return area of circle0 return Math.PI * rr0; } // Circles partially overlap else { var phi = (Math.acos((rr0 + (d * d) - rr1) / (2 * r0 * d))) * 2; var theta = (Math.acos((rr1 + (d * d) - rr0) / (2 * r1 * d))) * 2; var area1 = 0.5 * theta * rr1 - 0.5 * rr1 * Math.sin(theta); var area2 = 0.5 * phi * rr0 - 0.5 * rr0 * Math.sin(phi); // Return area of intersection return area1 + area2; } } var uniformDip = brd.create('functiongraph', [function(x){ x0 =0; y0 = 0; r0 = 75/2; y1 = impact*37; x1 = 12.5*x; r1 = r0*planet; scale =-0.04; shift = -2; res = scale*areaOfIntersection(x0, y0, r0, x1, y1, r1)+shift; return res; }, xmin, xmax ] ,{strokeWidth:3}); // // x parameter // p Start/Endpunkte // function line2Points(x,p1X,p1Y,p2X,p2Y){ m = (p2Y-p1Y) / (p2X-p1X); y = m* (x-p1X) + p1Y; return y; } ////////////////////////////////////////////////////// onlInit(); // second Animation context } // END OF BLOCK function beschriftungChanged(value) { if (value.checked ){ bText = true; }else { bText = false ;} brd.fullUpdate(); } function onoffChanged(source) { checkboxes = document.getElementsByName('foo'); for(var i=0, n=checkboxes.length;i
Theoretische Lichtkurve zur Demostration der Lichtkurvenform ohne Randverdunkelung. Die Form der Lichtkurve ohne Randverdunkelung hängt neben der größe des Exoplaneten, vor allem vom Impaktparameter b ab. Die Veränderung in Abhängigkeit des Impaktparameters (b) sollte man sich gut einprägen, da sie bei der Analyse von Lichtkurven mit Randverdunkelung (engl. limb darkening) einbezogen werden müssen.
Einstellungen

Planet (rel. Größe):     

Impaktparameter b:     
++++ Details |

Der Impaktparamter b, hat einen wesentlichen Einfluss auf die Form der Lichtkurve. Der Parameter ist hier auf den Sternenradius skaliert, so dass der Planet bei einen Wert von $b=1$ einen partiellen Transit vollzieht.

Die Größenverhältnisse ($R_p/R_*$) zwischen Exoplanet und Zentralgestirn (engl. Hoststar), verändern die Form der Lichtkurve ebenfalls. Die Amateurastronomie muss sich (mit derzeitigen Amateurequipment) auf die großen Planeten konzentrieren, d.h. auf das Sonnensystem bezogen gilt: $R_J/R_* ≈ 0.1 $, da Jupiter der größte Planet im Sonnensystem ist.
++++