Off topic - Some advice on solving Navier-Stokes with FiniteDifference
Stephen Wornom
stephen.wornom at sophia.inria.fr
Thu Aug 13 02:02:18 CDT 2009
Matthew Knepley wrote:
> On Wed, Aug 12, 2009 at 10:39 AM, Stephen Wornom
> <stephen.wornom at sophia.inria.fr
> <mailto:stephen.wornom at sophia.inria.fr>> wrote:
>
> Matthew Knepley wrote:
>
> 1) You should really handle this by creating the constant
> vector on the pressure
> space and using MatNullSpaceCreate()
>
> 2) You can also easily handle this by fixing the pressure at
> one point
>
> At what indices or location does one fix the pressure? What value
> is it set. Usually pressure is part of the solution. It would seem
> to introduce an inconsistency.
> I would like to understand how to do it.
>
>
> It does not matter where you fix it or to what value. The absolute
> value of the pressure is not physically
> relevant, only pressure differences (which is why only grad p appears).
Thanks for clarification on this point which is confusing to many of us.
So why is it necessary to fix a value at a point since as you point out
that only the grad p appears? If the pressure is not set in the
numerical eqns, will you agree that the initial pressure sets the value
for the numerical pressure at least in time accurate solutions.
> Fixing the pressure at any point
> to any value just sets the scale. There is no inconsistency. This is
> in many many elementary fluid mechanics
> books.
Pass along a reference for myself and students.
Thanks again,
Stephen
>
> To do this mechanically. Change one row in the operator div (from the
> div u = 0 equation) to the identity.
>
> Matt
>
>
>
> Stephen
>
>
> Matt
>
>
> On Wed, Aug 12, 2009 at 10:19 AM, William A. Perkins
> <william.perkins at pnl.gov <mailto:william.perkins at pnl.gov>
> <mailto:william.perkins at pnl.gov
> <mailto:william.perkins at pnl.gov>>> wrote:
>
>
> Stephen,
>
> There are two ways that I know of to deal with pressure checker
> boarding: staggered grids or some form of Rhie-Chow
> interpolation.
> IMO, these are simple only for uniform, Cartesian grids.
> For grids
> that are curvilinear, unstructured, non-uniform, and/or
> non-orthogonal, things get real complicated. There may be other
> methods, but something is required.
>
> Regarding boundary conditions, I would suggest this text book:
>
> H. K. Versteeg and W. Malalasekera. An Introduction to
> Computational Fluid Dynamics, the Finite Volume Method. 2nd
> edition. Prentice-Hall. 2007
>
> While this book uses the finite volume method, the
> explanation of
> boundary conditions and staggered grids is very good and
> relatively
> easy to interpret for finite difference. I would also
> recommend
>
> Joel H. Ferziger and Milovan Peric. Computational
> Methods for
> Fluid Dynamics. Springer-Verlag, 3rd edition, 2002.
>
> This is a little more general with regard to method
> discussing finite
> difference and finite volume, but still settling on finite
> volume.
>
> My $0.02: I question the use of finite difference. For
> Navier-Stokes,
> the use of finite volume is much more prevalent in
> commercial and
> research codes. If your student follows Versteeg and
> Malalasekera a
> simple, working, staggered grid FV code could be built in a
> very short
> time. If something more complicated is needed, it's probably
> explained in Ferziger and Peric.
>
> Also My $0.02: Unless the point of your student's work is to
> experience building her own code, why not download
> something like
> OpenFOAM (http://www.opencfd.co.uk/openfoam/) and just use
> it? I
> expect the effort to learn something like OpenFOAM for a simple
> application will be much less than writing a new code.
>
> Hope this helps.
>
> Bill
>
> >>>>> "Stephen" == Stephen Wornom
> <stephen.wornom at sophia.inria.fr
> <mailto:stephen.wornom at sophia.inria.fr>
> <mailto:stephen.wornom at sophia.inria.fr
> <mailto:stephen.wornom at sophia.inria.fr>>> writes:
>
> Stephen> Shengyong wrote:
> >> Hi, Farshid
> >>
> >> Maybe she should use the staggered grid method which
> is very
> simple to
> >> implement.
> Stephen> Does it remain simple for curvilinear meshes?
> Stephen> Stephen
> >>
> >> On Tue, Aug 11, 2009 at 5:16 AM, Farshid Mossaiby
> <mossaiby at yahoo.com <mailto:mossaiby at yahoo.com>
> <mailto:mossaiby at yahoo.com <mailto:mossaiby at yahoo.com>>
> >> <mailto:mossaiby at yahoo.com
> <mailto:mossaiby at yahoo.com> <mailto:mossaiby at yahoo.com
> <mailto:mossaiby at yahoo.com>>>> wrote:
> >>
> >> Hi all,
> >>
> >> Sorry for this off-topic post.
> >>
> >> I am helping a master studnet which is working on solving
> >> Navier-Stokes equation with Finite Difference method.
> She is
> >> trying to eliminate spourious pressure modes from the
> solution.
> >> She needs to know some details that are not usually
> found in the
> >> papers but important when programming, e.g. boundary
> condition for
> >> pressure. If someone has expertise on this or know a
> *simple* FD
> >> code, I would be thankful to let me know.
> >>
> >> Best regards,
> >> Farshid Mossaiby
> >>
> >>
> >>
> >>
> >>
> >>
> >> --
> >> Pang Shengyong
> >> Solidification Simulation Lab,
> >> State Key Lab of Mould & Die Technology,
> >> Huazhong Univ. of Sci. & Tech. China
>
>
> --
> Bill Perkins
> Research Engineer
> Hydrology Group
>
> Pacific Northwest National Laboratory
> 902 Battelle Boulevard
> P.O. Box 999, MSIN K9-36
> Richland, WA 99352 USA
> Tel: 509-372-6131
> Fax: 509-372-6089
> william.perkins at pnl.gov <mailto:william.perkins at pnl.gov>
> <mailto:william.perkins at pnl.gov <mailto:william.perkins at pnl.gov>>
> www.pnl.gov <http://www.pnl.gov> <http://www.pnl.gov>
>
>
>
>
>
> --
> What most experimenters take for granted before they begin
> their experiments is infinitely more interesting than any
> results to which their experiments lead.
> -- Norbert Wiener
>
>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which
> their experiments lead.
> -- Norbert Wiener
More information about the petsc-users
mailing list