an interesting problem of supplying boundary condition for a PDE
- To: mathgroup at smc.vnet.net
- Subject: [mg92557] an interesting problem of supplying boundary condition for a PDE
- From: pratip <pratip.official at gmail.com>
- Date: Sun, 5 Oct 2008 06:05:25 -0400 (EDT)
Hi All,
Down is the equation system
Jc = -\[Rho] Subscript[\[GothicCapitalD],
k] (D[\[Omega][x, y, t], x] + D[\[Omega][x, y, t], y]) -
Subscript[\[GothicCapitalD],
k] (D[Log[T[x, y, t]], x] + D[Log[T[x, y, t]], y]);
ContEq = D[u[x, y, t], x] + D[u[x, y, t], y] == 0;
MomentumEq = \[Rho] (D[u[x, y, t]^2, x] + D[u[x, y, t]^2, y]) ==
D[(\[Mu] (D[u[x, y, t], x] + D[u[x, y, t], y]) -
2/3 \[Mu] (D[u[x, y, t], x] + D[u[x, y, t], y]) ), x] +
D[(\[Mu] (D[u[x, y, t], x] + D[u[x, y, t], y]) -
2/3 \[Mu] (D[u[x, y, t], x] + D[u[x, y, t], y]) ), y] -
D[P[x, y, t], x] + D[P[x, y, t], y];
TranportEq = \[Rho] \[Omega][x, y,
t] + \[Rho] (D[\[Omega][x, y, t] u[x, y, t], x] +
D[\[Omega][x, y, t] u[x, y, t], y]) == D[Jc, x] + D[Jc, y];
EnergyEq =
Subscript[c,
p] (D[(\[Rho] u[x, y, t] T[x, y, t]), x] +
D[(\[Rho] u[x, y, t] T[x, y, t]), y]) ==
D[(\[Lambda] (D[T[x, y, t], x] + D[T[x, y, t], y])), x] +
D[(\[Lambda] (D[T[x, y, t], x] + D[T[x, y, t], y])), y];
{ContEq, MomentumEq, TranportEq, EnergyEq} //
FullSimplify // TableForm
Now we need a boundary condition that Mathematica can handle. I have freedom to choose any initial values for the unknowns. For this kind of equation I don't know what type of BC I should take. I just took
BC = {u[x, y, 0] == x + y, u[0, y, t] == u[1, y, t],
u[x, 0, t] == u[x, 1, t], P[x, y, 0] == x, P[0, y, t] == P[1, y, t],
P[x, 0, t] == P[x, 1, t], T[x, y, 0] == 2 y + 1,
T[0, y, t] == T[1, y, t],
T[x, 0, t] == T[x, 1, t], \[Omega][x, y, 0] ==
x - y, \[Omega][0, y, t] == \[Omega][1, y, t], \[Omega][x, 0,
t] == \[Omega][x, 1, t]}
Now I Finally insert values to the constants in the PDE so that I can call NDSolve.
Eq = {ContEq, MomentumEq, TranportEq, EnergyEq} /. \[Lambda] -> .1 /.
Subscript[c, p] -> 1.2 /. \[Rho] -> .01 /. \[Mu] -> 1 /.
Subscript[\[GothicCapitalD], k] -> 1;
EQN = Join[Eq, BC]
To solve the PDE I call
Sol = NDSolve[
EQN, {u, P, T, \[Omega]}, {x, 0, 1}, {y, 0, 1}, {t, 0, 3},
Method -> {"MethodOfLines",
"SpatialDiscretization" -> {"TensorProductGrid"}}] // Timing
And I see the following error
*****************
*****************
NDSolve::pdord: Some of the functions have zero differential order so \
the equations will be solved as a system of differential-algebraic \
equations. >>
NDSolve::mxsst: Using maximum number of grid points 100 allowed by \
the MaxPoints or MinStepSize options for independent variable x. >>
NDSolve::mxsst: Using maximum number of grid points 100 allowed by \
the MaxPoints or MinStepSize options for independent variable y. >>
NDSolve::mxsst: Using maximum number of grid points 100 allowed by \
the MaxPoints or MinStepSize options for independent variable x. >>
General::stop: Further output of NDSolve::mxsst will be suppressed \
during this calculation. >>
NDSolve::ibcinc: Warning: Boundary and initial conditions are \
inconsistent. >>
NDSolve::ivcon: The given initial conditions were not consistent with \
the differential-algebraic equations. NDSolve will attempt to \
correct the values. >>
*****************
*****************
It runs for long and finally tells LinearSolve out of memory.
I hope people with your expertise can give me some insight. You can take full freedom to define BC as you wish. We need just a solution. I am mainly interested to find a class of BC that makes the PDE solvable with Mathematica.
I hope for some prompt reply.