MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NDSolve issues with initial and boundary conditions (corrected characters)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg119227] Re: NDSolve issues with initial and boundary conditions (corrected characters)
  • From: Arturo Amador <arturo.amador at ntnu.no>
  • Date: Wed, 25 May 2011 19:31:50 -0400 (EDT)
  • References: <irinec$rgn$1@smc.vnet.net> <4DDCE662.1000701@KevinMcCann.com>

I am sorry, here is the message without the In[] Out[] labels and with 
the missing definitions:

Hi,

Sorry for the previous message, it had some weird characters I have 
corrected it and resend it.

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:


vd[x_]:=1/(2^(x+1) \[Pi]^(x/2) Gamma[x/2]) ;
factorp[t_]:=(- 2 (Lambda Exp[t])^5 vd[3])/(3 * 8 g[t]^2);
factorg[t_]:=  (2 (Lambda Exp[t])^5 vd[3])/3;
factorh[t_]:=-((2 (Lambda Exp[t])^5 vd[3])/3 );

vacuumlinearrhsp = (-((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 p0[t])^(3/2)) factorp[t]

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 p0[t])^(5/2)) factorg[t]

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 p0[t])^(7/2)) factorh[t]

(*Declarations*)
Lambda = Sqrt[5] msig;

L = -17090/10000;
msig = 400;

mp = 0;
fp = 93;

lambda = 2 (msig^2 - mp^2)/fp^2;
gk0 = (lambda/24)^(1/2);
pk0 = 1/2 fp^2;

n = 4;


sol = NDSolve[{D[p0[t], t] == vacuumlinearrhsp, 4 D[g[t]^2, t] + 3 h[t] D[p0[t], t] == vacuumcuadraticrhsg, D[h[t], t] == vacuumcubicrhsh, p0[L] == pk0, g[L]^2 == gk0^2,  h[0] == 0}, {p0, 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[p0[t], t] == (Lambda Exp[t])^5/(24 Pi^2) ( (n - 1)/(Lambda Exp[t])^3 +3/((Lambda Exp[t])^2 + 16 p0[t] g[t]^2)^(3/2)), D[g[t]^2, t] == ((Lambda Exp[t])^5 * g[t]^4 )/(2 Pi^2) ((n - 1)/(Lambda Exp[t])^5 + 9/((Lambda Exp[t])^2 + 16 p0[t] g[t]^2)^(5/2)), p0[L] == pk0,  g[L]^2 == gk0^2}, {p0, g}, {t, L, 0}, Method -> {StiffnessSwitching,   Method -> {ExplicitRungeKutta, Automatic}}];

For which I get nice solutions.



Thanks in advance




> You have functions factorp[t], factorg[t], and factorh[t] in your code without definitions.
>
> It would be a lot easier for us to cut and paste your stuff if you left off the In[] Out[] labels.
>
> Kevin
> On 5/25/2011 6:59 AM, Arturo Amador wrote:
>> Hi,
>>
>> Sorry for the previous message, it had some weird characters I have 
>> corrected it and resend it.
>>
>> 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:
>>



  • Prev by Date: Re: External software
  • Next by Date: Re: Series[log[x], {x, 0, 3}]
  • Previous by thread: NDSolve issues with initial and boundary conditions (corrected characters)
  • Next by thread: Re: NDSolve issues with initial and boundary conditions (corrected characters)