On Tue, 8 Jul 2014, Sahai, Amal wrote:

> Why exactly is "elem->node(c) == pressure_node" condition being
> used?

As the "laziest" way of constraining away the kernel of the
Incompressible Navier-Stokes problem.

In the lid-driven cavity problem there are no boundary conditions for
the pressure, and the PDE on the interior only defines *relative*
pressure: you could add a constant pressure to any solution of the PDE
and get another solution.

If you simply discretize an operator like this with a 1-D kernel, you
get a matrix with a 1-D kernel.  Not all solvers are happy with a
singular matrix, so we make the problem well-posed by adding a
constraint for the pressure - in this case by pinning the pressure at
a single point; in another example by using a Lagrange multiplier to
constrain the average pressure in the domain.

> In that case why are nodes with the global id number 0 being
> considered? Also, since Pressure is a First order approximation, how
> does LibMesh decide on which nodes (in a given element) would be
> used be for storing Pressure values.

libMesh uses vertex nodes to store pressure values, numbers vertex
nodes before non-vertex nodes, and numbers Lagrange degrees of freedom
in the same order as node numbering.  All of those assumptions are
necessary to make the code you were looking at correct.  For a less
"brittle" pressure pinning code you could see fem_system_ex1; the only
assumption in that one is that the problem domain includes the origin.
The least fragile technique is probably the Lagrange multiplier in
systems_of_equations_ex5; the only implicit assumption there is that
your domain is connected.
---
Roy

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to