Roy Stogner <[email protected]> wrote on 09/30/2010 04:42:01 PM:

> 
> On Thu, 30 Sep 2010, David Andrs wrote:
> 
> > Roy Stogner <[email protected]> wrote on 09/30/2010 11:29:39 
AM:
> > 
> > > My mistake - only one other function needs it,
> > > BoundaryInfo::side_with_boundary_id()
> > 
> > I looked at this function, but I cannot use the same approach as for
> > boundary_id(). This one is using _boundary_side_id mapping of elem
> > -> (side, bnd_id). However, when I refine the mesh, there are no
> > additional entries for newly created elements like for nodal ones in
> > _boudary_node_id (unless I'm supposed to call something in order to
> > get it, but I doubt that, since add_side has an assert for
> > elem->level() == 0). With these new entries, side_with_boundary_id()
> > should work with one little modification. Thus, the fix would have
> > to change adding and removing sides, where I could use the
> > above-mentioned approach.
> > 
> > Or is there another way how to achieve this?
> 
> This is trickier, yes, but I think the most efficient way to handle it
> would be to leave boundary ids defined on top level elements, and just
> add some checks before "return e.first->second.first;"  (who says C++
> isn't intuitive!)
> 
> Something like the attached (untested!) patch.

I tested that on my simple test case (mesh with 1 and 2 levels of 
refinements) and it works. So if it is ok, I'd commit the whole thing.

> ---
> Roy[attachment "bdy_side.diff" deleted by David 
Andrs/ANDRSD/FN/INEEL/US] 

Thanks for all your help,
--
David Andrs

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to