Hi Tim,

You can specify variables that are defined only on X2 by specifying the 
appropriate subdomain id(s) when you add the variable to the system. See 
add_variable in system.h

David



On 09/09/2010 09:27 AM, Tim Kroeger wrote:
> Dear all,
>
> Let X be a computational domain, covered by a Mesh on which an
> EquationSystems object is based on.  Let X2 be a subset of X, given by
> the union of selected grid elements (which are, say, marked by certain
> values of subdomain_id).
>
> Assume I want (at some point in my application) to solve a system only
> on X2 (say, using Dirichlet boundary conditions on all boundaries of
> X2 that are not boundaries of X).
>
> I can easily achieve this by assembling Dirichlet conditions
> everywhere ouside X2 and then solving as usual.  However, then I
> cannot benefit from the performance gain that I should theoretically
> have if X2 contains much less elements than X.  This is in particular
> true if I am using a direct solver (such as SuperLU_DIST, wrapped via
> PETSc).
>
> What is the easiest way to do this more efficiently, that is,
>
> (1) let SuperLU_DIST only see the necessary part of the matrix,
>
> (2) if possible, guarantee a sensible load-balancing, and
>
> (3) not run into problems due to dofs that appear free if viewed from
> inside X2 but are actually constrained in X
>
> ?
>
> Thank you in advance for your ideas.
>
> Best Regards,
>
> Tim
>

------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to