What we currently do is provide all of the dimension information simultaneously:

1.  Mesh.dim()
2.  LIBMESH_DIM
3.  current_elem.dim()

And our users have to figure out which one is correct in different contexts.  Generally, we've been gravitating toward current_elem.dim() because it is more often what our users actually need (and usually is what you want when you have mixed element dimensions).  There are still reasons to use LIBMESH_DIM though... especially if you are looping over entries in a libmesh datastructure like TypeTensor.

Dimension is certainly starting to be a tricky subject around here....

Derek

Sent from my iPhone

On Aug 2, 2012, at 11:10 AM, Cody Permann <codypermann@gmail.com> wrote:



On Thu, Aug 2, 2012 at 9:02 AM, Roy Stogner <roystgnr@ices.utexas.edu> wrote:

On Thu, 2 Aug 2012, Paul T. Bauman wrote:

> On Wed, Aug 1, 2012 at 10:20 PM, Roy Stogner <roystgnr@ices.utexas.edu>
> wrote:
>
> > We ought to also clearly document what happens with dimension
> > mismatch: if a 2D Nedelec element is used while LIBMESH_DIM==3, should
> > the corresponding FunctionBase entries be
> > previous_variable,u,v,next_variable or should they be
> > previous_variable,u,v,w=0,next_variable?
>
> Just to triple check: we currently tie the number of components to the
> mesh_dimension() - this will return 2 for two-dimensional elements in 3
> spatial dimensions, correct?

Correct.

At least for now.  Eventually we'd like to support meshes with mixed
element dimensionality, in which case a mixed 2D/3D mesh would have
mesh_dimension()==3... no clue what we'd do here in that scenario,
though.

We're currently struggling with this issue as well.  We are now running a bunch of mixed dimension problems and the idea of dimension is difficult now, it very much depends on the context.  We'll keep you posted as we think of new ideas :)

Cody 

---
Roy

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel