On Wed, 13 Jan 2016, David Knezevic wrote:

On Wed, Jan 13, 2016 at 10:23 AM, Roy Stogner <royst...@ices.utexas.edu> wrote:

      On Tue, 12 Jan 2016, David Knezevic wrote:

            On Tue, Jan 12, 2016 at 6:07 PM, David Knezevic 
<david.kneze...@akselos.com>
            wrote:

                  I'm assembling a non-local term (specifically some LHS values 
on either
                  side of a contact interface). Let's consider a simple case: 
node A on proc
                  0 is on one side of the interface, and node B on proc 1 is on 
the other
                  side. Suppose that node A has a dof_constraint_row associated 
with it
                  (stored on proc 0), and that we're assembling the term on 
proc 1.

                  The issue I'm running into is that the constraints on node A 
do not get
                  enforced because proc 1 doesn't know anything about that 
constraint row on
                  proc 0.


            It looks like DofMap::scatter_constraints is the method I had in 
mind. That
            doesn't scatter the non-local constraints in my case, though.


      No?  Why not?  scatter_constraints() doesn't know about nodes or
      sparsity patterns or anything, it just knows that if X is constrained
      in terms of Y, then the processor owning X needs to send that
      information to the processor owning Y.

In my case X is not constrained in terms of Y. I have a Dirichlet constraint on 
X, so the constraint is local. But the processor owning Y needs to know about 
that in order to
impose the Dirichlet constraint on X when we assemble the (X,Y) coupling term.

Ah!  I get it now.  In that case the DofMap really *does* need to know
about the sparsity pattern, and since our current approach to that
situation is "recompute the sparsity pattern on the fly from the
mesh", your only immediate option is to add your coupling to the mesh,
as you've done with the dummy edge.

One of these days we *really* need to go over the user coupling APIs.
There's several related communication, sparsity, etc. issues that
people are being forced to handle separately in application code
because we're not making it easy or natural enough to handle them
together via the library.
---
Roy
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to