Re: an interesting problem of supplying boundary condition for a
- To: mathgroup at smc.vnet.net
- Subject: [mg92595] Re: an interesting problem of supplying boundary condition for a
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Tue, 7 Oct 2008 07:06:08 -0400 (EDT)
- References: <gcc3i5$l8n$1@smc.vnet.net>
Hi, a) there is no derivative with respect of t, and the variable is useless b) Mathematica can't solve hyperbolic equations Regards Jens pratip wrote: > 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. >