       Re: Imposing boundary condition at infinity

• To: mathgroup at smc.vnet.net
• Subject: [mg102561] Re: Imposing boundary condition at infinity
• From: Harutyun <amirjanyan at gmail.com>
• Date: Fri, 14 Aug 2009 05:58:25 -0400 (EDT)
• References: <h60es7\$pjh\$1@smc.vnet.net>

```you can solve this almost analytically
DSolve[D[u[x, t], t] == -(1 + u[x, t])*D[u[x, t], x], u, {x, t}]
returns
Solve[C[u[x, t], (t - x + t u[x, t])/(1 + u[x, t])] == 0, u[x, t]]
which is equivalent to
Solve[u[x, t] = C[t - x + t u[x, t]] == 0, u[x, t]]
which is easier to solve numerically (here u[x, 0] = C[ - x] == 0)

one way for numerical solving is
startFun[x_] = Exp[-x^2]
u1 = Function[{x, t},
z /. FindRoot[z == startFun[x - t z - t], {z, startFun[x]}]]

Plot[u1[x, 1], {x, -3, 7}]

for bigger t-s solution develops singularity

Plot[u1[x, 1.3], {x, -3, 7}]

this agrees with solution by NDSolve

ini = 6;
sol = NDSolve[{D[u[x, t], t] == -(1 + u[x, t])*D[u[x, t], x],
u[-ini, t] == u[ini, t] == 0, u[x, 0] == Exp[-x^2]},
u, {x, -ini, ini}, {t, 0, 1}, MaxSteps -> Infinity]
Plot3D[u[x, t] /. sol, {x, -ini, ini}, {t, 0, 1}]

```

• Prev by Date: Re: Imposing boundary condition at infinity
• Next by Date: Re: How can I "perturbate" a NDSolve expresion?
• Previous by thread: Re: Imposing boundary condition at infinity
• Next by thread: Re: Imposing boundary condition at infinity