Истощение памяти при запуске NDSolve


Я сталкиваюсь с сообщением об ошибке" больше нет доступной памяти " в Mathematica. Я понимаю, что "Parallelize []" (очевидно) не поможет мне. Как и "ClearSystemCache []".

Что дает? Мне просто нужно больше оперативной памяти?

Мой Код

Needs["VectorAnalysis`"]
Needs["DifferentialEquations`InterpolatingFunctionAnatomy`"];
Clear[Eq4, EvapThickFilm, h, S, G, E1, K1, D1, VR, M, R]
Eq4[h_, {S_, G_, E1_, K1_, D1_, VR_, M_, R_}] := !(
*SubscriptBox[([PartialD]), (t)]h) + 
    Div[-h^3 G Grad[h] + 
      h^3 S Grad[Laplacian[h]] + (VR E1^2 h^3)/(D1 (h + K1)^3)
        Grad[h] + M (h/(1 + h))^2 Grad[h]] + E1/(
    h + K1) + (R/6) D[D[(h^2/(1 + h)), x] h^3, x] == 0;
SetCoordinates[Cartesian[x, y, z]];
EvapThickFilm[S_, G_, E1_, K1_, D1_, VR_, M_, R_] := 
  Eq4[h[x, y, t], {S, G, E1, K1, D1, VR, M, R}];
TraditionalForm[EvapThickFilm[S, G, E1, K1, D1, VR, M, R]];

L = 318; TMax = 10;
Off[NDSolve::mxsst];
Clear[Kvar];
Kvar[t_] :=  Piecewise[{{1, t <= 1}, {2, t > 1}}]
(*Ktemp = Array[0.001+0.001#^2&,13]*)
hSol = h /. NDSolve[{
     (*S,G,E,K,D,VR,M*)

     EvapThickFilm[1, 3, 0.1, 7, 0.01, 0.1, 0, 160],
     h[0, y, t] == h[L, y, t],
     h[x, 0, t] == h[x, L, t],
     (*h[x,y,0] == 1.1+Cos[x] Sin[2y] *)
     h[x, y, 0] == 
      1 + (-0.25 Cos[2 [Pi] x/L] - 0.25 Sin[2 [Pi] x/L]) Cos[
         2 [Pi] y/L]
     },
    h,
    {x, 0, L},
    {y, 0, L},
    {t, 0, TMax},
    MaxStepSize -> 0.1
    ][[1]]

hGrid = InterpolatingFunctionGrid[hSol];

Сообщение об ошибке

No more memory available.
Mathematica kernel has shut down.
Try quitting other applications and then retry.

Мои спецификации ОС

Intel Core 2 Duo с оперативной памятью 4,00 ГБ, 64-битная ОС (Windows 7)

1 10

1 ответ:

Здесь вы можете получить представление о том, что происходит:

Заменить

MaxStepSize -> 0.1

By

MaxStepFraction -> 1/30

И запустите свой код.

Затем:

p = Join[#,[email protected]#]&@ 
     Table[Plot3D[hSol[x, y, i], {x, 0, L}, {y, 0, L},
                  PlotRange -> {All, All, {0, 4}}], 
     {i, 7, 8, .1}]

Export["c:\\plot.gif", p]  
Итак, ММА пытается усовершенствовать решение на этих вершинах, но безуспешно. Введите описание изображения здесь