|
[Date Index]
[Thread Index]
[Author Index]
Re: Could someone else verify that an example from the Numerical
- To: mathgroup at smc.vnet.net
- Subject: [mg127319] Re: Could someone else verify that an example from the Numerical
- From: Roland Franzius <roland.franzius at uos.de>
- Date: Sun, 15 Jul 2012 23:43:57 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <jttv31$gut$1@smc.vnet.net>
Am 15.07.2012 10:30, schrieb W Craig Carter:
> I am looking at the example on page 348 of the tutorial for a numerical solution to the Sine-Gordon equation.
> (http://www.wolfram.com/learningcenter/tutorialcollection/AdvancedNumericalDifferentialEquationSolvingInMathematica/).
> It doesn't work for me for M8.0.4, MacBook, MacOs 10.7.4. Can someone else verify that this doesn't work?
>
> Here is the example:
>
> L = 10; (*the tutorial has L=-10, but I think that is a typo. In any case, the example doesn't work with + or - *)
>
> state = First[NDSolve`ProcessEquations[{D[u[t, x, y], t, t] ==
> D[u[t, x, y], x, x] + D[u[t, x, y], y, y] - Sin[u[t, x, y]],
> u[0, x, y] == Exp[-(x^2 + y^2)],
> Derivative[1, 0, 0][u][0, x, y] == 0,
> u[t, -L, y] == u[t, L, y], u[t, x, -L] == u[t, x, L]}, u,
> t, {x, -L, L},
> {y, -L, L},
> Method -> {"MethodOfLines",
> "SpatialDiscretization" -> {"TensorProductGrid",
> "DifferenceOrder" -> "Pseudospectral"}}]]
>
> GraphicsGrid[Partition[Table[
> NDSolve`Iterate[state, tau];
> Plot3D[
> Evaluate[
> u[tau, x, y] /.
> NDSolve`ProcessSolutions[state, "Forward"]], {x, -L, L}, {y, -L,
> L}, PlotRange -> {-1/4, 1/4}],
> {tau, 0, 20, 5}], 2]]
The graphics constructs have changed in vs8 and I encounter an internal
error in the replacement procedure above resulting in empty solution
lists except the last element.
Consider the following alternative
(* you can skip the << lines *)
<<"DifferentialEquations`NDSolveProblems`";
<<"DifferentialEquations`NDSolveUtilities`";
<<"FunctionApproximations`";
L=10;
state=First@NDSolve`ProcessEquations[
{D[u[t,x,y],t,t]==D[u[t,x,y],x,x]+D[u[t,x,y],y,y]-Sin[u[t,x,y]],
u[0,x,y]==Exp[-(x^2+y^2)],
Derivative[1,0,0]u][0,x,y]==0,
u[t,-L,y]==u[t,L,y],
u[t,x,-L]==u[t,x,L]},
u,t,{x,-L,L},{y,-L,L},
Method->{
"MethodOfLines",
"SpatialDiscretization"->{"TensorProductGrid","DifferenceOrder"®"Pseudospectral"}}]
Generate the time table of the interpolation functions of solutions and
time derivatives
pl=Flatten@Table[(NDSolve`Iterate[state,t];NDSolve`ProcessSolutions[state,"Forward"]),{t,0.0,1.0,0.25}
]
Map the Plot3D into table of solutions u
Partition[Plot3D[#,{x,-10,10},{y,-10,10}]&/@
(Table[u[t,x,y],{t,0,1,0.25}]/.pl),2]
Hope it helps
--
Roland Franzius
Prev by Date:
Re: Could someone else verify that an example from the
Next by Date:
IsoWeek Function
Previous by thread:
Re: Could someone else verify that an example from the
Next by thread:
Re: Could someone else verify that an example from the Numerical
|