<div class="gmail_quote">On Wed, Mar 7, 2012 at 09:45, Lorenzo Alessio Botti <span dir="ltr"><<a href="mailto:ihabiamx@yahoo.it">ihabiamx@yahoo.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Yes, thanks. I think the option within brackets is achievable with the current behavior of exchange_tags...</div><div>Only not owned interface entities would know the ids of the "ghost" interfaces.</div><div>
I can create a ghost vector, scatter the values and remember that I have to assemble local matrices only if the interface is not owned. </div><div>As a result I might have stashed entries in the matrix but I don't integrate redundantly over interfaces.</div>
<div>Is this what you meant?</div></blockquote></div><br><div>I was thinking of residual evaluation where the second round of communication is more latency-sensitive.</div><div><br></div><div>1. Take state vector X, residual vector F (starts empty)</div>
<div>2. Evaluate X onto local interface quadrature points QX (your ghost Vec).</div><div>3. Gather parts of QX to owner of each quadrature point.</div><div>4. Solve Riemann problems at owned interface quadrature points to produce interface fluxes QF.</div>
<div>5. Broadcast QF from owner to ghoster.</div><div>6. (perhaps concurrently with above) evaluate interior and use fluxes QF when they arrive.</div><div><br></div><div>Alternatively:</div><div>3. Both sides get Q at quadrature points.</div>
<div>4. Riemann problems solved redundantly.</div><div>5. No QF broadcast needed because problems were solved redundantly.</div><div><br></div><div><br></div><div>In the case of matrices, you had to differentiate QX with respect to X or you had to move cells anyway. There is still a choice between redundant computation and more communication, but it's more complicated.</div>