On Thu, 3 Dec 2015, David Knezevic wrote:

On Thu, Dec 3, 2015 at 10:08 AM, Roy Stogner <royst...@ices.utexas.edu> wrote:

      On Thu, 3 Dec 2015, li....@siat.ac.cn wrote:

      > I have a question on the default ordering of multi-variables in a
      > system, e.g. u_x, u_y and p in Navier-Stokes equaiton.  Is the
      > default ordering of unknowns  (1) node by node with each node has
      > all variables;  or  (2)  field by field with each field (like, u_x)
      > has all node's values  ?

      The outermost ordering is always processor-by-processor: e.g. degree
      of freedom indices owned by MPI rank 0 will always have lower numbers
      than dof indices owned by rank 1.

      The default ordering within each processor's dofs is field by field.

      If you want node-by-node ordering (still within each processor's dofs)
      then you can pass the argument "--node_major_dofs" on the command
      line.

If all variables are the same type, then I thought "node major dofs" is the 
default. I thought this was changed when Ben added the blocked-dofs
optimization. I could be mis-remembering though?

Ah, hell - I think you're right!  Thanks for the correction!

Okay, here's where it gets trickier.

The default ordering isn't "processor by processor, then field by
field, then node by node" anymore; now it's "processor by processor,
then variable group by variable group, then node by node, then
field-within-group by field-within-group".  Variable groups are
collections of field variables which all have the exact same
structure (same FE type and supported on the same subdomains), and
libMesh now creates variable groups automatically when you add
identically structured variables contiguously.

So if we imagine the u_x, u_y, p case, the variable ordering actually
depends on whether you're using equal-order stabilized elements or
Taylor-Hood elements!  In the former case you'll get node-by-node
ordering; in the latter case on each processor's block you'll get
node-by-node ordering of u_x,u_y but then all the p dofs will be at
the end.
---
Roy
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to