MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.
> 


  • Prev by Date: Re: Using an locator and Rotating 3D graphics
  • Next by Date: Re: Re: Finding the optimum by repeteadly zooming on the solution space (or something like that)
  • Previous by thread: Re: Real and Complex Roots presented in a single plot
  • Next by thread: Call Mathematica functions using C program