Ecuación de Lane-Emden. Interior de los cuerpos celestes
Masa del cuerpo celeste

Supongamos un cuerpo celeste de masa M y radio R cuya densidad ρ(r) cambia con la distancia al centro.
Dividimos la esfera de radio R en capas esféricas de radio r y de espesor dr. La masa dm que contiene cada una de las capas es
La masa M(r) contenida en una esfera de radio r es
Cuando el límite superior es R tenemos la masa M del cuerpo celeste
Cuando la densidad es constante
Presión en el centro
En una capa esférica de de radio r y de espesor dr, consideramos un elemento de volumen (en color rojo) de área dA. Las fuerzas sobre el elemento de masa dm=ρ·dA·dr son
La fuerza de atracción, dirigida hacia el centro de la Tierra dm·g(r). Donde g(r) es la aceleración de la gravedad a una distancia r del centro de la Tierra
La fuerza que ejerce la presión p(r)·dA sobre la cara inferior del elemento de volumen
La fuerza que ejerce la presión p(r+dr)·dA sobre la cara superior del elemento de volumen
En el equilibrio
Que hemos deducido en la página titulada Esfera de gas en equilibrio bajo la acción de su propia gravedad
Presión en el centro de la Tierra
Suponiendo que la densidad es constante. La aceleración de la gravedad en un punto del interior de la Tierra a una distancia r de su centro es
La presión a una distancia r del centro de la Tierra es
donde p0=1.013·105 Pa es la presión para r=R es decir, la presión atmosférica
En el centro de la Tierra r=0.
Con G=6.67·10-11 Nm2/kg2, R=6.37·106 m, M=5.98·1024 kg
La presión atmosférica es despreciable frente a la presión en el centro de una distribución esférica y uniforme de masa.
Relación entre presión y densidad
Supondremos que la presión p(r) y la densidad ρ(r) están relacionadas. Una ecuación similar a la de un proceso politrópico
La densidad se expresa
Para r=0, ρ=ρc, por lo que θ(0)=1
La presión p(r) es, entonces
La presión en el centro, r=0
La presión p(r) se expresa
Ecuación Lane-Emden
La aceleración de la gravedad g(r) en un punto situado a una distancia r del centro, se debe (ley de Gauss) a la masa M(r) contenida en la esfera de radio r
La ecuación diferencial que relaciona presión y densidad se convierte
Hemos derivado respecto de r, teniendo en cuenta que dM(r)/dr=4πr2ρ(r)
Se define una variable ξ tal que r=αξ
Esta es la ecuación de Lane-Emden que resolveremos con las condiciones iniciales
De la función θ en ξ=0
De la derivada primera, dθ/dξ en ξ=0
La densidad es máxima dρ/dr=0 en el centro, r=0, ξ=0
Otra forma de argumentarlo es la siguiente. En la ecuación
M(r) es proporcional a r3, el cociente es proporcional a r, cuando r→0, dp/dr→0. Como p=Kρ(1+1/n). Si dp/dr→0 cuando r→0, entonces dρ/dr→0.
Representamos las soluciones numéricas, empleando el procedimiento
Observamos que algunas cortan al eje horizontal ξ en un punto, en varios puntos o en ninguno. El primer punto de corte es significativo, su abscisa es ξ1
function politropico_9 opts=odeset('events',@stop_politropico); hold on for n=0:6 fg=@(t,x)[x(2);-2*x(2)/t-x(1)^n]; [t,x]=ode45(fg,[eps,20],[1,eps],opts); plot(t,x(:,1)) end hold off grid on xlabel('\xi') ylabel('\theta'); title('Ecuación Lane-Emden') function [value,isterminal,direction]=stop_politropico(~,x) %x(1) es x, x(3) es y value=x(1)+0.25; isterminal=1; direction=-1; end end
Representamos dichas soluciones numéricas, hasta el primer punto de corte con el eje horizontal (punto de color rojo) si lo tuviera
function politropico_6 opts=odeset('events',@stop_politropico); hold on for n=0:6 fg=@(t,x)[x(2);-2*x(2)/t-x(1)^n]; [t,x, te, xe]=ode45(fg,[eps,20],[1,eps],opts); plot(t,x(:,1)) if te plot(te,0,'ro','markersize',3,'markerfacecolor','r') disp([n,te, xe(2)]) end end hold off grid on xlabel('\xi') ylabel('\theta'); title('Ecuación Lane-Emden') function [value,isterminal,direction]=stop_politropico(~,x) value=x(1); isterminal=1; direction=-1; end end
0 2.4495 -0.8165 1.0000 3.1420 -0.3182 2.0000 4.3541 -0.1271 3.0000 6.9009 -0.0424 4.0000 15.0052 -0.0080
La tabla recoge los datos de la abscisa ξ1 del punto de corte con el eje horizontal y de la pendiente de la curva θ(ξ) en dicho punto. Datos que precisaremos más adelante
n | ξ1 | (dθ/dξ)ξ1 |
---|---|---|
0 | 2.4495 | -0.8165 |
1 | 3.1420 | -0.3182 |
2 | 4.3541 | -0.1271 |
3 | 6.9009 | -0.0424 |
4 | 15.0052 | -0.0080 |
Masa y radio del cuerpo celeste
En la superficie del cuerpo celeste r=R, la densidad ρ(r) se anula, R=αξ1, θ(ξ1)=0. Por tanto, ξ1 es el primer cero de la función θ(ξ)
La masa M vale
Por la ecuación de Lane-Emden
La masa del cuerpo celeste se expresa en términos de ξ1 y de la derivada dθ/dξ para ξ=ξ1
Relación entre masa M y radio R
Dos casos son importantes
Otra característica importante, es el cociente entre las densidad y la densidad media
Soluciones analíticas
La ecuación de Lane-Emden tiene soluciones analíticas para n=0, 1 y 5
n=0
Para n=0, la densidad es constante e igual a la densidad ρc. La solución de la ecuación Lane-Emden es sencilla
Las constantes c1 y c2 se determinan a partir de las condiciones iniciales
ξ=0, θ=1
c1=0, c2=1
Se cumple la segunda condición inicial, que dθ/dξ=0 para ξ=0
La función se anula θ(ξ)=0 para . El radio del cuerpo celeste es,
La presión es
Como la densidad es constante ρc, la presión en el centro se calcula integrando
n=1
La ecuación de Lane-Emden para n=1
Es la ecuación diferencial de las funciones esféricas de Bessel.
La solución de esta ecuación diferencial para n=0 es
La solución de la ecuación de Lane_Emden
B=0, ya que cosξ/ξ tiende a ∞ cuando ξ→0. Esta solución cumple las condiciones iniciales
El primer cero de esta función es ξ1=π
El parámetro α para n=1
La presión en el centro es
La presión p(r)
La densidad
La masa
Nos queda por calcular el valor de la derivada de θ(ξ) en ξ1=π
El resultado es
El radio R
es independiente de la masa M
n=5
Se ha encontrado solución analítica a la ecuación diferencial
Es complicado deducir la solución de esta ecuación diferencial, Véase
Chandrasekhar, S. An Introduction to the Study of Stellar Structure. New York: Dover, pp. 84-182, 1967.
La densidad es
No hay corte ξ1 con el eje horizontal, ya que θ→0 cuando ξ→∞. El radio es por tanto, infinito. Sin embargo, la masa es finita
El límite cuando ξ→∞, del producto de los dos últimos términos
La masa M es
La presión en el centro es
En términos de la masa M
Representamos las soluciones analíticas de la ecuación diferencial de Lane-Emden
hold on fplot(@(x) 1-x.^2/6, [0,sqrt(6)]) fplot(@(x) sin(x)./x, [0,pi]) fplot(@(x) 1./sqrt(1+x.^2/3), [0,10]) hold off grid on xlabel('\xi') ylabel ('\theta') legend('n=0','n=1','n=5', 'location','best') title('Soluciones analíticas')
Las abscisas de los puntos de corte con el eje horizontal son, para n=0, ξ1=, para n=1, ξ1=π.
Procedimiento numérico
Comprobamos que el procedimiento de Runge-Kutta resuelve la ecuación diferencial de Lane-Emden para los casos que tiene solución analítica. Este procedimiento parece más adecuado que las diversas veriones
Para mejorar los resultados, calculamos ξ1 y (dθ/dξ)ξ1 mediante interpolación lineal, del siguiente modo
Donde el símbolo v significa dθ/dξ
function politropico_8 hold on for n=[0,1,5] f=@(t,x,v) -2*v/t-x^n; [t,x,~,k1]=rk_2(f,eps,20,1,eps,200); x=x(1:k1); t=t(1:k1); plot(t,x) end fplot(@(x) 1-x.^2/6, [0,sqrt(6)]) %soluciones analíticas fplot(@(x) sin(x)./x, [0,pi]) fplot(@(x) 1./sqrt(1+x.^2/3), [0,20]) hold off grid on xlabel('\xi') ylabel('\theta'); title('Ecuación de Lane-Emden') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; disp([t1,v1]) break; end end end end
2.4482 -0.8158 3.1438 -0.3178
n | Exacto | Numérico |
---|---|---|
0 | 2.4482 | |
1 | π≈3.1416 | 3.1438 |
La solución analítica y numérica de la ecuación diferencial coinciden
Viaje a través de un túnel que atraviesa un cuerpo celeste
Densidad
Analítica para n=0, 1, 5
hold on line([0,sqrt(6)],[1,1]) fplot(@(x) sin(x)./x, [0,pi]) fplot(@(x) 1./sqrt(1+x.^3/3).^5, [0,4]) hold off grid on xlabel('\xi') ylabel('\rho/\rho_c') ylim([0,1.02]) legend('0','1','5','Location','best') title('Densidad')
Para n=0, la densidad es constante e igual a ρc
Numérica
Representamos la densidad ρ/ρc en función de r/R o bien, de ξ/ξ1 para n=0, 1, 1.5, 3.
function politropico_11 hold on for n=[0,1,1.5,3] f=@(t,x,v) -2*v/t-x^n; [t,x,~,k1]=rk_2(f,eps,20,1,eps,200); x=x(1:k1); t=t(1:k1); plot(t/t(end),x.^n) end hold off grid on xlabel('r/R') ylabel('\rho/\rho_c'); ylim([0,1.02]) legend('0','1','1.5','3','Location','best') title('Densidad') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; break; end end end end
Cuando n es grande, la masa se distribuye alrededor del centro y cada vez más próxima a éste.
Aceleración de la gravedad

La aceleración de la gravedad g(r) en un punto situado a una distancia r del centro, se debe (ley de Gauss) a la masa M(r) contenida en la esfera de radio r
Supongamos que excavamos un túnel a través de un diámetro del cuerpo celeste. Soltamos la partícula en un extremo del túnel, en la superficie de dicho cuerpo, su velocidad cuando está a una distancia r del centro se calcula aplicando el principio de conservación de la energía
El valor de la aceleración de la gravedad en la superficie de la Tierra es
El cociente g(r)/gm vale
Analítica para n=0, 1
hold on line([0,sqrt(6)],[0,1],'color','r') fplot(@(x) -pi*(x.*cos(x)-sin(x))./x.^2, [0,pi]) hold off grid on xlabel('\xi') ylabel('g/g_m') legend('0','1','Location','best') title('Aceleración de la gravedad')
Para n=0, la densidad es constante e igual a ρc. La aceleración de la gravedad se incrementa linealmente hasta su valor en la superficie gm
Numérica
Representamos el cociente g/gm en función de r/R o bien, de ξ/ξ1 para n=0, 1, 1.5, 2.
function politropico_12 hold on for n=[0,1,1.5,2] f=@(t,x,v) -2*v/t-x^n; [t,~,v, k1]=rk_2(f,eps,20,1,eps,200); v=v(1:k1); t=t(1:k1); plot(t/t(end),v/v(end)) end hold off grid on xlabel('r/R') ylabel('g/g_m'); ylim([-0.1,3]) legend('0','1','1.5','2','Location','best') title('Aceleración de la gravedad') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; break; end end end end
Tiempo de viaje
La fuerza que ejerce el campo gravitatorio producido por el cuerpo celeste sobre una partícula de masa m es el producto de su masa por la aceleración de la gravedad g(r). La aceleración de la gravedad en el interior de dicho cuerpo es M(r)/r2 y en el exterior es M/r2, siendo M la masa dl cuerpo celeste.
El nivel cero de energía potencial se encuentra en el infinito, de modo que la energía potencial de una partícula de masa m situada a una distancia r del centro, es

Aplicamos el principio de conservación de la energía y despejamos la velocidad v de la partícula a la distancia r del centro
Como θ(0)=1, la máxima velocidad se alcanza para ξ=0, r=0, en el centro
Analítica para n=0, 1
hold on fplot(@(x) sqrt(1-x.^2/6), [0,sqrt(6)]) fplot(@(x) sqrt(sin(x)./x), [0,pi]) hold off grid on xlabel('\xi') ylabel('v/v_m') legend('0','1','Location','best') title('Velocidad')
Alcanza la máxima velocidad vm en el centro del cuerpo celeste (ξ=0).
Numérica
Representamos el cociente v/vm en función de r/R o bien, de ξ/ξ1 para n=0, 1, 1.5, 2. La partícula parte del reposo en la superficie r=R (ξ1).
function politropico_13 hold on for n=[0,1,1.5,2] f=@(t,x,v) -2*v/t-x^n; [t,x,~, k1]=rk_2(f,eps,20,1,eps,200); x=x(1:k1); t=t(1:k1); plot(t/t(end),sqrt(x)) end hold off grid on xlabel('r/R') ylabel('v/v_m'); legend('0','1','1.5','2','Location','best') title('Velocidad') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; break; end end end end
El tiempo que tarda en viajar desde la superficie hasta el centro, es
El tiempo de viaje dese un punto de la superficie hasta su antípoda es el doble
Analítica para n=0, 1
Resolvemos la segunda integral por procedimientos numéricos, utilizando la función
>> f=@(x) sqrt(x./sin(x)); >> integral(f,0,pi) ans = 5.8934
Para la Tierra uniforme (n=0), M=5.98·1024 kg, y R=6370 km, constante G=6.67·10-11 Nm2/kg2. La densidad ρc=M/(4πR3/3)=2 533.7 kg/m3. Obtenemos el tiempo de viaje T= 42.23 min entre un punto de la superficie terrestre y su antípoda
Numéricamente
Se ha de tener en cuenta que para el límite superior ξ1 la función θ(ξ1)=0
Representamos el integrando , para n=1, vemos que tiene una asíntota vertical en ξ1=3.1438.
Calculamos la integral utilizando la función
function politropico_14 hold on n=1; f=@(t,x,v) -2*v/t-x^n; [t,x,~, k1]=rk_2(f,eps,20,1,eps,200); x=x(1:k1); t=t(1:k1); tau_1=trapz(t(1:k1-1),1./sqrt(x(1:k1-1))); disp(tau_1) plot(t,1./sqrt(x),'-ro','markersize',3,'markerfacecolor','r') line([t(end),t(end)],[1,10]) hold off grid on ylim([1,10]) xlabel('\xi') ylabel('1/sqrt(\theta)') title('Tiempo de vuelo') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); x(k+1)=eps; t(k+1)=t1; v(k+1)=v1; break; end end end end
5.2350
Para n=1, el valor calculado de τ1=5.8934, el valor que hemos obtenido 5.2350. El procedimiento
Ecuación del movimiento
La fuerza que actúa sobre la partícula es el peso, mg(r), donde m es la masa de la partícula y g(r) es la aceleración de la gravedad que cambia con r o ξ. La ecuación del movimiento es
Hemos cambiado la variable t tiempo por la variable adimensional τ=t/T.
Resolvemos la ecuación diferencial con las siguientes condiciones iniciales, en el instante τ=0, el móvil parte de ξ1 (superficie del cuerpo celeste) en repso, dξ/dτ=0
Analítica para n=0, 1
La solución de esta ecuación diferencial con las condiciones iniciales especificdas
Se trata de un MAS de periodo P=2, tarda una unidad de tiempo en ir desde un punto de la superficie hasta su antípoda y 1/2 en desplazarse desde la superficie al centro
Resolvemos esta ecuación diferencial utilizando el procedimiento
Representamos la posición ξ en función del tiempo τ desde la salida en ξ1 hasta la posición de llegada -ξ1. Las posiciones se repiten entre τ=1/2 y 1 pero con el signo cambiado.
function politropico_20 tau_1=5.8934; f=@(t,x) [x(2); 2*tau_1^2*(x(1)*cos(x(1))-sin(x(1)))/x(1)^2]; opts=odeset('events',@stop_tunel); [t,x]=ode45(f,[0,1],[pi,0], opts); hold on fplot(@(t) sqrt(6)*cos(pi*t),[0,1]) x1=x(:,1); xx=[x1;-x1(length(x1):-1:1)]; tt=[t; 1-t(length(t):-1:1)]; plot(tt,xx) hold off grid on xlabel('\tau') legend('n=0','n=1','Location','best') ylabel('\xi'); title('Movimiento') function [value,isterminal,direction]=stop_tunel(~,x) value=x(1); isterminal=1; direction=-1; end end
Representamos la velocidad dξ/dτ en función del tiempo τ
function politropico_20_1 tau_1=5.8934; f=@(t,x) [x(2); 2*tau_1^2*(x(1)*cos(x(1))-sin(x(1)))/x(1)^2]; opts=odeset('events',@stop_tunel); [t,x]=ode45(f,[0,1],[pi,0], opts); hold on fplot(@(t) -sqrt(6)*pi*sin(pi*t),[0,1]) v1=x(:,2); vv=[v1;v1(length(v1):-1:1)]; tt=[t; 1-t(length(t):-1:1)]; plot(tt,vv) hold off grid on xlabel('\tau') legend('n=0','n=1','Location','best') ylabel('d\xi/d\tau'); title('Movimiento. Velocidad') function [value,isterminal,direction]=stop_tunel(~,x) value=x(1); isterminal=1; direction=-1; end end
Numérica
Para otros valores del índice n no disponemos de la función θ(ξ) o de su derivada pero disponemos de una tabla de valores (ξ, dθ/dξ) obtenida a partir de la ecuación de Lane-Emden cuando se resuelve por el procedimiento de Runge-Kutta. Podemos obtener el valor de la derivada dθ/dξ para un valor de ξ que no está en la tabla, mediante interpolación lineal, utilizando la función
function politropico_13 hold on for n=[0,1,1.5,2,3] f=@(t,x,v) -2*v/t-x^n; [t,x,v, k1]=rk_2(f,eps,20,1,eps,200); x=real(x(1:k1)); vv=real(v(1:k1)); tt=t(1:k1); tau_1=trapz(t(1:k1-1),1./sqrt(x(1:k1-1))); f=@(t,x,v) 2*interp1(tt,vv,x)*tau_1^2; [t,x,~, ~]=rk_2(f,0,0.6,tt(end),0,200); plot(t, x(:,1)) end hold off grid on xlabel('\tau') ylabel('\xi'); legend('0','1','1.5','2','3','Location','best') title('Movimiento') function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; break; end end end end
Debido a los errores de cálculo numérico, la función ξ(τ) no se hacen cero (cuando pasa por el centro) para τ=1/2 cualquiera que sea el índice n. La mayor fuente de error, probablemente, es la función
Ejemplos
Resolvemos la la ecuación diferencial de Lane-Emden para n=0, 0.715, 1, 1.5, 2, 3, 3.5. Con los datos de la masa de la Tierra M=5.972·1024 kg y el radio 6.371·106 m. El índice n=0.715 es el que proporciona una densidad que se ajusta mejor a los datos del modelo PREM del interior de la Tierra
Densidad
Presión en el centro
Tiempo de viaje entre un punto de la superficie de la Tierra y su antípoda
Velocidad máxima, en el centro
Densidad media
El parámetro α=R/ξ1
Densidad en el centro
function politropico_16 M=5.972e24; %masa de la Tierra R=6.371e6; %radio de la Tierra G=6.67e-11; %constante G r_m=M/(4*pi*R^3/3); %densidad media for n=[0,0.715,1,1.5,2,3, 3.5] f=@(t,x,v) -2*v/t-x^n; [t,x,v,k1]=rk_2(f,eps,20,1,eps,200); x1=t(k1); v1=v(k1); alfa=R/x1; r_c=-M/(4*pi*alfa^3*x1^2*v1); % densidad centro p_c=(4*pi*alfa^2*r_c^2)/(n+1); tau_1=trapz(t(1:k1-1),1./sqrt(x(1:k1-1))); T=tau_1/sqrt(2*pi*G*r_c); %tiempo v_m=2*R*sqrt(2*pi*G*r_c)/x1; fprintf('n=%1.3f, x_1= %1.3f, v_1= %1.3f, r_c/r_m=%1.2f, p_c=%1.2e, T=%2.2f, v_m=%2.2f\n',n, x1,v1, r_c/r_m, p_c, T/60,v_m/1000) end function [t,x,v, k1] =rk_2(f,t0,tf,x0,v0,n) h=(tf-t0)/n; t=t0:h:tf; x=zeros(n+1,1); v=zeros(n+1,1); x(1)=x0; v(1)=v0; for k=1:n k1=h*v(k); l1=h*f(t(k),x(k),v(k)); k2=h*(v(k)+l1/2); l2=h*f(t(k)+h/2,x(k)+k1/2,v(k)+l1/2); k3=h*(v(k)+l2/2); l3=h*f(t(k)+h/2,x(k)+k2/2,v(k)+l2/2); k4=h*(v(k)+l3); l4=h*f(t(k)+h,x(k)+k3,v(k)+l3); x(k+1)=x(k)+(k1+2*k2+2*k3+k4)/6; v(k+1)=v(k)+(l1+2*l2+2*l3+l4)/6; if x(k+1)<=0 %interpolación k1=k+1; t1=(x(k)*t(k+1)-x(k+1)*t(k))/(x(k)-x(k+1)); v1=(v(k)*(t(k+1)-t1)+v(k+1)*(t1-t(k)))/(t(k+1)-t(k)); t(k+1)=t1; x(k+1)=0; v(k+1)=v1; break; end end end end
n=0.000, x_1= 2.448, v_1= -0.816, r_c/r_m=1.00, p_c=2.59e+21, T=37.24, v_m=7.91 n=0.715, x_1= 2.909, v_1= -0.410, r_c/r_m=2.36, p_c=5.97e+21, T=37.44, v_m=10.24 n=1.000, x_1= 3.144, v_1= -0.318, r_c/r_m=3.30, p_c=8.53e+21, T=31.61, v_m=11.19 n=1.500, x_1= 3.657, v_1= -0.203, r_c/r_m=6.00, p_c=1.67e+22, T=29.52, v_m=12.97 n=2.000, x_1= 4.356, v_1= -0.127, r_c/r_m=11.41, p_c=3.54e+22, T=28.68, v_m=15.02 n=3.000, x_1= 6.895, v_1= -0.043, r_c/r_m=54.01, p_c=2.38e+23, T=26.77, v_m=20.64 n=3.500, x_1= 9.520, v_1= -0.021, r_c/r_m=151.72, p_c=8.75e+23, T=29.46, v_m=25.06
Recogemos los resultados de los cálculos en una tabla
n | ξ1 | (dθ/dξ)ξ1 | ρc/ρm | pc (Pa) | T (min) | vm(km/s) |
---|---|---|---|---|---|---|
0 | 2.448 | -0.816 | 1.00 | 2.59·1021 | 37.24 | 7.91 |
0.715 | 2.909 | -0.410 | 2.36 | 5.97·1021 | 37.44 | 10.24 |
1 | 3.144 | -0.318 | 3.30 | 8.53·1021 | 31.61 | 11.19 |
1.5 | 3.657 | -0.203 | 6.00 | 1.67·1022 | 29.52 | 12.97 |
2 | 4.356 | -0.127 | 11.41 | 3.54·1022 | 28.68 | 15.02 |
3 | 6.895 | -0.043 | 54.01 | 2.38·1023 | 26.77 | 20.64 |
3.5 | 9.520 | -0.021 | 151.72 | 8.75·1023 | 29.46 | 25.06 |
Comparando esta tabla con la tabla 1 del primer artículo citado en las referencias, vemos que los tiempos T difieren, por ejemplo, para densidad constante n=0, T=42.20 min en vez de 37.44
Referencias
W. Dean Pesnell. Flying through polytropes. Am. J. Phys. 84 (3), March 2016. pp. 192-201
Lecture 7a Polytropes