Solve PDE system with 3 variables
- To: mathgroup at smc.vnet.net
- Subject: [mg131934] Solve PDE system with 3 variables
- From: ZharenkovDA at yandex.ru
- Date: Sat, 2 Nov 2013 02:26:23 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
Hello, I'm trying to solve the system of PDE's with piecewise IC functions. Each function depends of 3 variables. With this code Mathematica throws 2 errors like this: NDSolve::mxsst: Using maximum number of grid points 100 allowed by the MaxPoints or MinStepSize options for independent variable r. In documentation I found that this error appears when there is a sharp feature in initial conditions. But I'm sure that there is no such features in them. b = 1; a = 1.01; mu = 1; r0 = 0.1; r01 = 0.3; r02 = 0.7; r1 = 1; foo1[r_?NumericQ] := Piecewise[{{0, r < r0}, {(r - r0)/(r01 - r0), r0 <= r <= r01}, {1, r01 < r < r02}, {(r - r1)/(r02 - r1), r02 <= r <= r1}, {0, r > r1}}] foo2[r_?NumericQ] := Piecewise[{{1, r < r0}, {(r - r01)/(r0 - r01), r0 <= r <= r01}, {0, r01 < r}}] ftu = Table[{r, foo1[r]}, {r, 0, 1, 0.0025}]; ftv = ft = Table[{r, foo2[r]}, {r, 0, 1, 0.0025}]; initU = Interpolation[ftu]; initV = Interpolation[ftv]; w = NDSolve[{D[u[r, thet, t], t] == D[u[r, thet, t], {r, 2}] + (1/r) D[u[r, thet, t], r] + (1/r^2) D[ u[r, thet, t], {thet, 2}] + u[r, thet, t] (1 - u[r, thet, t] - c*v[r, thet, t]), D[v[r, thet, t], t] == mu*(D[v[r, thet, t], {r, 2}] + (1/r) D[v[r, thet, t], r] + (1/r^2) D[v[r, thet, t], {thet, 2}]) + a*v[r, thet, t] (1 - c*u[r, thet, t] - b*v[r, thet, t]), Derivative[1, 0, 0][u][1, thet, t] == 0, Derivative[1, 0, 0][v][1, thet, t] == 0, Derivative[1, 0, 0][u][0.01, thet, t] == 0, Derivative[1, 0, 0][v][0.01, thet, t] == 0, (*D[u[r,thet,t],r]\[Equal]D[initU[r],r]/.{r\[Rule]1}, D[v[r,thet,t],r]\[Equal]D[initV[r],r]/.{r\[Rule]1}, D[u[r,thet,t],r]\[Equal]D[initU[r],r]/.{r\[Rule]0.01} , D[v[r,thet,t],r]\[Equal]D[initV[r],r]/.{r\[Rule]0.01},*) u[r, 0, t] == u[r, 2 Pi, t], v[r, 0, t] == v[r, 2 Pi, t], u[r, thet, 0] == initU[r], v[r, thet, 0] == initV[r]}, {u, v}, {t, 0, 1}, {thet, 0, 2 Pi}, {r, 0.01, 1}];