<!DOCTYPE html><!-- BaNnErBlUrFlE-BoDy-start -->
<!-- Preheader Text : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
hi Matt, On 4/03/24 3: 25 pm, Matthew Knepley wrote: So here I am guessing that the interior cells (rock matrix) mess with the stratum consistency (ordering of dimension by stratum in the DAG). So some questions: 1) Are rock matrix cells always
</div>
<!-- Preheader Text : END -->
<!-- Email Banner : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>
<!--[if ((ie)|(mso))]>
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
<table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #90a4ae;background-color:#D0D8DC;"><tr><td valign="top">
<table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
<tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
This Message Is From an External Sender
</td></tr>
<tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
This message came from outside your organization.
</td></tr>
</table>
</td></tr></table>
</td></tr></table>
<![endif]-->
<![if !((ie)|(mso))]>
<div dir="ltr" id="pfptBannerpnt2ja3" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #D0D8DC !important; background-color: #D0D8DC; border-top: 4px solid #90a4ae !important; border-top: 4px solid #90a4ae;">
<div id="pfptBannerpnt2ja3" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
<div id="pfptBannerpnt2ja3" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
This Message Is From an External Sender
</div>
<div id="pfptBannerpnt2ja3" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
This message came from outside your organization.
</div>
</div>
<div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
</div>
<![endif]>
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->
<!-- BaNnErBlUrFlE-BoDy-end -->
<html><head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
#pfptBannerpnt2ja3 { all: revert !important; display: block !important;
visibility: visible !important; opacity: 1 !important;
background-color: #D0D8DC !important;
max-width: none !important; max-height: none !important }
.pfptPrimaryButtonpnt2ja3:hover, .pfptPrimaryButtonpnt2ja3:focus {
background-color: #b4c1c7 !important; }
.pfptPrimaryButtonpnt2ja3:active {
background-color: #90a4ae !important; }
</style>
<!-- BaNnErBlUrFlE-HeAdEr-end -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>hi Matt,<br>
</p>
<div class="moz-cite-prefix">On 4/03/24 3:25 pm, Matthew Knepley
wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAMYG4GkSbvHEAgNevd469Xhfq3Kh-dFfumgqAv2jfGA0Z4xYjQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>So here I am guessing that the interior cells (rock
matrix) mess with the stratum consistency</div>
<div>(ordering of dimension by stratum in the DAG). So some
questions:</div>
<div><br>
</div>
<div>1) Are rock matrix cells always associated with only one
regular cell?</div>
</div>
</div>
</blockquote>
Yes. In the simplest case, each regular cell with dual porosity has
one interior cell nested inside it. There is an interior "face"
between the regular cell and the interior one. (I also add an
interior "edge" and "vertex" so that the DAG has the same depth
everywhere.) As well as computing flows between regular cells I
compute flows between regular cells and their interior cells.<br>
<blockquote type="cite" cite="mid:CAMYG4GkSbvHEAgNevd469Xhfq3Kh-dFfumgqAv2jfGA0Z4xYjQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>2) Do the rock matrix cells hold values that need to be
communicated?</div>
</div>
</div>
</blockquote>
Yes. To begin with I add interior cells on the same process as their
parent regular cells. But if dual porosity is only in certain parts
of the mesh, this can lead to poor load balancing. So I
redistribute, but that can mean interior cells may no longer be on
the same process as their parent regular cells, in which case
communication is needed.<br>
<blockquote type="cite" cite="mid:CAMYG4GkSbvHEAgNevd469Xhfq3Kh-dFfumgqAv2jfGA0Z4xYjQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>3) Do you use the topological operations for them, or
might we reproduce this effect by just</div>
<div> marking the cells with rock matrix cells in them
using a DMLabel?</div>
</div>
</div>
</blockquote>
Once the dual-porosity mesh is set up, the interior cells and faces
are treated the same as the regular ones, so I use e.g.
DMPlexGetSupport() to get the cells on either side of an interior
face when computing flow across it. (Not sure if that is the kind of
topological operation you meant.)<br>
<p>It has all been working fine with PETSc 3.15 since 2020! But
because of the low-level surgery I guess it is vulnerable to
changes.<br>
</p>
<p>- Adrian<br>
</p>
<pre class="moz-signature" cols="72">--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated" href="mailto:a.croucher@auckland.ac.nz">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
</body>
</html>