[R-sig-dyn-mod] Dimension error using ode.2D

Thomas Petzoldt thomas.petzoldt at tu-dresden.de
Fri Nov 3 10:10:15 CET 2017


Hi,

ode.2d is a "top-leve function" for the special case where each grid 
cell has the same (full) set of states. This allows the solver to 
calculate the sparsity pattern of the Jacobian and to speed up the 
numerical solution.


Am 03.11.2017 um 07:53 schrieb amiller at math.utah.edu:
> Hello,
> 
> I am getting the following error when I use ode.2D:
> 
> Error in ode.2D(y = uini, times = times, func = tissue2D_deriv, parms =
> NULL,  :
>    cannot run ode.2D: dimensions are not an integer fraction of number of
> state variables
> 
> I think the reason may be because one of my state variables is defined on
> the full 2D domain so that its dimensions are nx*ny (nx is number of x
> grid points, ny is number of y grid points). I have another state variable
> that is only defined on a 1D slice so that its dimensions are nx*1.

Yes, indeed.

> The state variable ("G") that is defined on the full 2D domain undergoes
> 2D diffusion, and the state variable that is defined on the 1D slice is
> dependent on G. I am using ode.2D because I am solving the PDE using
> method of lines.

In this case you can use another solver directly, e.g. lsodes with a 
user-defined sparsity structure (or with the full Jacobian), or to use 
another Jacobian-free solver. More about this can be found in the 
following book:

Soetaert, Cash, Mazzia (2012) Solving Differential Equations in R. 
Springer Verlag. p. 142ff.

> Is there a way to model PDEs (solved using method of lines) and ODEs (that
> are dependent on the solution of the PDEs) using ode.2D?
> 
> Thank you,
> Anna

Hope it helps,

Thomas


-- 
Dr. Thomas Petzoldt
http://tu-dresden.de/Members/thomas.petzoldt



More information about the R-sig-dynamic-models mailing list