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.