NDSolve issues with initial and boundary conditions
- To: mathgroup at smc.vnet.net
- Subject: [mg119200] NDSolve issues with initial and boundary conditions
- From: Arturo Amador <arturo.amador at ntnu.no>
- Date: Wed, 25 May 2011 05:54:13 -0400 (EDT)
Hi,
I am having some issues when trying to solve a system of three coupled
differential equations numerically using NDSolve. I am trying to specify
boundary conditions for two of the variables in the same point (point at
L) and a boundary condition for the last variable at zero. The
mathematica code is:
IIn[24]:= vacuumlinearrhs=CF=81 =
(-((4 E^(-4 t) Sqrt[E^(2 t) Lambda^2] (-1 + n) g[t]^2)/
Lambda^4) - (12 g[t]^2)/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(3/
2)) factor=CF=81[t]
Out[24]= -((E^(5 t)
Lambda^5 (-((E^(-4 t) Sqrt[E^(2 t) Lambda^2] (-1 + n))/Lambda^4) -
3/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(3/2)))/(24 =CF=80^2))
In[25]:= vacuumcuadraticrhsg =
((24 E^(-6 t) Sqrt[E^(2 t) Lambda^2] (-1 + n) g[t]^4)/
Lambda^6 + (216 g[t]^4)/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(5/
2)) factorg[t]
Out[25]= (2 E^(5 t) Lambda^5 g[
t]^4 ((E^(-6 t) Sqrt[E^(2 t) Lambda^2] (-1 + n))/Lambda^6 +
9/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(5/2)))/=CF=80^2
In[26]:= vacuumcubicrhsh =
[(-((160 E^(-8 t) Sqrt[E^(2 t) Lambda^2] (-1 + n) g[t]^6)/
Lambda^8) - (4320 g[t]^6)/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(7/
2)) factorh[t]
Out[26]= -((40 E^(5 t)
Lambda^5 g[
t]^6 (-((E^(-8 t) Sqrt[E^(2 t) Lambda^2] (-1 + n))/Lambda^8) -
27/(E^(2 t) Lambda^2 + 16 g[t]^2 =CF=810[t])^(7/2)))/(3 =CF=80^2))
(*Declarations*)
Lambda = Sqrt[5] m=CF=83;
L = -17090/10000;
m=CF=83 = 400;
m=CF=80 = 0;
f=CF=80 = 93;
lambda = 2 (m=CF=83^2 - m=CF=80^2)/f=CF=80^2;
gk0 = (lambda/24)^(1/2);
=CF=81k0 = 1/2 f=CF=80^2;
n = 4;
sol = NDSolve[{D[=CF=810[t], t] == vacuumlinearrhs=CF=81,
4 D[g[t]^2, t] + 3 h[t] D[=CF=810[t], t] == vacuumcuadraticrhsg,
D[h[t], t] == vacuumcubicrhsh, =CF=810[L] == =CF=81k0, =
g[L]^2 == gk0^2,
h[0] == 0}, {=CF=810, g, h}, {t, L, 0},
Method -> {StiffnessSwitching,
Method -> {ExplicitRungeKutta, Automatic}}];
with output:
Power::infy: Infinite expression 1/0. encountered. >>
Infinity::indet: Indeterminate expression (0. Sqrt[5] ComplexInfinity)/\[Pi]^2 encountered. >>
Power::infy: Infinite expression 1/0.^2 encountered. >>
Infinity::indet: Indeterminate expression (0. Sqrt[5] ComplexInfinity)/\[Pi]^2 encountered. >>
Power::infy: Infinite expression 1/0. encountered. >>
General::stop: Further output of Power::infy will be suppressed during this calculation. >>
Infinity::indet: Indeterminate expression 0. ComplexInfinity encountered. >>
General::stop: Further output of Infinity::indet will be suppressed during this calculation. >>
NDSolve::ndnum: Encountered non-numerical value for a derivative at t ===
-1.709. >>
I am sure there is no singularity. I am getting this output no matter what value I am giving for h[0], as long as I specify the boundary condition in a point that is not L, it gives me this same error message. I have tried h[0.9L] and still the same. When h[t]==0 The system reduces to this:
sol = NDSolve[{D[=CF=810[t], t] == (Lambda Exp[t])^5/(
24 =CF=80^2) ( (n - 1)/(Lambda Exp[t])^3 +
3/((Lambda Exp[t])^2 + 16 =CF=810[t] g[t]^2)^(3/2)),
D[g[t]^2, t] == ((Lambda Exp[t])^5 * g[t]^4 )/(
2 =CF=80^2) ((n - 1)/(Lambda Exp[t])^5 +
9/((Lambda Exp[t])^2 + 16 =CF=810[t] g[t]^2)^(5/2)), =CF=810[L] == =CF=81k0,
g[L]^2 == gk0^2}, {=CF=810, g}, {t, L, 0},
Method -> {StiffnessSwitching,
Method -> {ExplicitRungeKutta, Automatic}}];
For which I get nice solutions.
Thanks in advance
--
Arturo Amador Cruz
Stipendiat Norges =
Teknisk-Naturvitenskapelige Universitet (NTNU)
Institutt for Fysikk
Fakultet for =
Naturvitenskap og Teknologi
H=C3=B8gskoleringen 5, =
Realfagbygget, E5-108
Telefon (735) 93366 NO-7491 =
TRONDHEIM
=
NORWAY
arturo.amador at ntnu.no