On Fri, 10 Sep 2010, Tim Kroeger wrote:

> Ah, perhaps you mean, that there should be *two* versions of
> System::solve_only_on(), one taking a std::set of dof ids, and the
> other like this:
>
> System::solve_only_on(const std::vector<subdomain_id_type>*const);
>
> where using "vector" rather than "set" avoids problems in the case that 
> someone defines subdomain_id_type as unsigned int.  Is this what you mean?

Exactly.

Either that, or we have some sort of SystemSubset class to abstract
everything out.  Our functions exclusively take SystemSubset& args,
SystemSubset::get_dof_ids() gives them the dof ids to restrict to, and
then at our leisure we can give users member functions which allow
applications to specify a set of dof ids, a set of subdomain ids, a
set of elements, whatever.

> Well, as always with boundary conditions, you get what you assemble. That is 
> (if using the subdomain_id version), the dofs on the boundary of your active 
> domain will be included in the solve, and you can assemble whatever you like.

"assemble whatever you like" is a good point - I was imagining us
being restricted to subsets of a global formulation, and then needing
multiple options to handle different types of local boundaries, but
there'd be nothing stopping a user from evaluating a boundary-aware
local formulation instead.
---
Roy

------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful, 
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance. 
http://p.sf.net/sfu/dell-sfdev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to