On Thu, Sep 20, 2012 at 9:43 AM, Roy Stogner <royst...@ices.utexas.edu>wrote:
>
> libMesh currently supports overlapping boundary ids (which is good:
> e.g. the same boundary can be labeled with your application's
> NO_SLIP_FLOW id and with it's ISOTHERMAL_TEMP id). The easiest way to
> access boundary ids on sides has always been with
> BoundaryInfo::boundary_id(elem,side) (which is bad: boundary_id()
> returns the first id it sees and ignores all the rest) - looking at
> every id properly required getting a vector from boundary_ids() and
> then searching the vector.
>
Wait. Are you saying that you consider boundary_ids() difficult?
// pseudo code
ids = boundary_info.boundary_ids(elem, side)
for id in ids:
if id == right_boundary:
add_right_boundary_contributions()
elif id == left_boundary:
add_left_boundary_contributions()
// or, even better
ids = boundary_info.boundary_ids(elem, side)
for id in ids:
boundary_condition_map[id].add_contributions()
...
> We've now got a new API that's as easy to use for most simple cases:
> BoundaryInfo::has_boundary_id() (and something similar in FEMContext),
> which takes an id and returns true or false depending on whether that
> id is on the side. This has the advantage of letting you write one
> simple boundary-id-dependent physics class but not have that class
> break when it's composed with another physics class using different
> ids.
>
You prefer to loop over all possible boundary ids on each side calling
"has_boundary_id()" over just getting the ids for that side and doing the
correct thing directly? I don't really understand that...
> Is it time to mark BoundaryInfo::boundary_id() with
> libmesh_deprecated(), then get rid of it in a couple years?
>
Yes. I would say so. It could definitely lead to bugs and odd behavior.
Derek
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel