<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jun 23, 2017 at 1:15 AM, Adrian Croucher <span dir="ltr"><<a href="mailto:a.croucher@auckland.ac.nz" target="_blank">a.croucher@auckland.ac.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<p>On 23/06/17 00:48, Matthew Knepley wrote:<br>
</p>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote"><span></span><br>
<span></span> If I understand what you mean, I
considered doing something like that- basically just
defining extra degrees of freedom in the cells where dual
porosity is to be applied.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <br>
It seemed to me that if I then went ahead and created
the Jacobian matrix using DMCreateMatrix(), it would
give me extra nonzero entries that shouldn't be there -
interactions between the dual porosity variables in
neighbouring cells. Is there any way to avoid that?</div>
</blockquote>
<div><br>
</div>
<div>Ah, this is a very good point. You would like sparse
structure in the Jacobian blocks. Currently I do not have
it,</div>
<div>but DMNetwork does. I have been planning to unify the
sparsity determination between the two. It is on the list.</div>
</div>
</div>
</div>
</blockquote>
<br>
I can see another possible problem with this approach, which is that
the extra dual-porosity unknowns would presumably be interlaced with
the others (the fracture unknowns) in the resulting vector. This
might make it harder to apply PCFIELDSPLIT (I think?), where I want
to partition the Jacobian into fracture and matrix parts to solve it
more efficiently, as Jed and Barry suggested. <br></div></blockquote><div><br></div><div>Actually that part will work fine.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
I have played around a bit more with including the dual-porosity
topology in the DMPlex. It seems to work OK if I just extend the DAG
on the dual-porosity faces up to the maximum depth (so there is an
unused edge and vertex associated with each dual-porosity face).<br>
<br>
I also had a closer look inside DMPlexStratify() and I can see that
it won't work if different parts of the DAG have different heights.
For my case I could possibly stratify it differently (starting from
the cell end rather than the vertex end) and it might work, but I
don't know if there are other DMPlex functions that might not like
that kind of DAG either.</div></blockquote><div><br></div><div>Having different parts have different heights does throw a wrench in things. In your case, this would not happen if you put an unused edge and vertex on top of the dual porosity face.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class="HOEnZb"><font color="#888888"><br>
- Adrian<br>
<pre class="m_-2060204193881894498moz-signature" cols="72">--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: <a class="m_-2060204193881894498moz-txt-link-abbreviated" href="mailto:a.croucher@auckland.ac.nz" target="_blank">a.croucher@auckland.ac.nz</a>
tel: <a href="tel:+64%209-923%204611" value="+6499234611" target="_blank">+64 (0)9 923 4611</a>
</pre>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">http://www.caam.rice.edu/~mk51/</a><br></div></div></div>
</div></div>