> I would like to use libmesh to solve different sets of equations on
> different parts of the domain as read in from the subdomain_id()
> of an exodus file. I am planning to just put an 'if' statement in my
> assembly routines but I was curious as to if there is any existing
> functionality
> to handle multiphysics applications that I could take a look at.


Easy enough, but not exactly in any of our examples now.  Here is a snippet
from an application code:

if (GotGas) {  //if the pressure variable is needed, go ahead and add it but
                    //only for the set of subdomains that we generated in
                    // the previous step
          
          system.add_variable ("P",
                               Utility::string_to_enum<Order>   (FEOrder),
                               Utility::string_to_enum<FEFamily>(family),
                               &GasFlowSubdomainSet);

}

Here GasFlowSubdomainSet contains all the subdomain indices on which we want
the variable "P" to be active.

Then in your assembly code you can either use an if test to see if the
element lives on a relevant subdomain or, better yet, use the

mesh.active_local_subdomain_elements_begin(sub)

iterators - that's what they are for!

-Ben



------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to