<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Feb 22, 2015 at 7:05 PM, Justin Chang <span dir="ltr"><<a href="mailto:jychang48@gmail.com" target="_blank">jychang48@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div>Hi Matt,<br><br></div>Bringing this thread back from the dead.<br><br></div>1) Have you had the chance to implement things like RT and DG in DMPlex? <br></div></div></div></div></blockquote><div><br></div><div>No, there has not been much call. Its on my stack of things to do.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>2) Are examples/tests that illustrate how to do dualspaces?<br></div></div></div></div></blockquote><div><br></div><div>I have commented the dual space routines now. Basically, you just create a set of functionals,</div><div>and in this world a functional is just a quadrature rule. If you have a hard time understanding</div><div>something, feel free to mail.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div></div><div>3) Or quantities like cell size h, jump, average?</div></div></div></div></blockquote><div><br></div><div>The first thing is to declare the adjacency correctly, so that you get neighboring cells. Once you</div><div>have that all these are simple local calculations.</div><div><br></div><div>Why don't we start with RT0 since it is the simplest to think about.</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 dir="ltr"><div><div>I was originally trying to implement DG and RT0 in FEniCS but I am having lots of trouble getting the FEniCS code to scale on our university's clusters, so that's why I want to attempt going back to PETSc's DMPlex to do strong scaling studies.<br><br></div>Thanks,<br></div>Justin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 6, 2014 at 3:58 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div>On Fri, Sep 5, 2014 at 10:55 PM, Justin Chang <span dir="ltr"><<a href="mailto:jychang48@gmail.com" target="_blank">jychang48@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi all,<br>
<br>
So I understand how the FEM code works in the DMPlex examples (ex12 and 62). Pardon me if this is a silly question.<br>
<br>
1) If I wanted to solve either the poisson or stokes using the discontinuous Galerkin method, is there a way to do this with the built-in DMPlex/FEM functions? Basically each cell/element has its own set of degrees of freedom, and jump/average operations would be needed to "connect" the dofs across element interfaces.<br>
<br>
2) Or how about using something like Raviart-Thomas spaces (we'll say lowest order for simplicity). Where the velocity dofs are not nodal quantities, instead they are denoted by edge fluxes (or face fluxes for tetrahedrals). Pressure would be piecewise constant.<br>
<br>
Intuitively these should be doable if I were to write my own DMPlex/PetscSection code, but I was wondering if the above two discretizations are achievable in the way ex12 and ex62 are.<br></blockquote><div><br></div></div></div><div>Lets do RT first since its easier. The primal space is</div><div><br></div><div>  P_K = Poly_{q--1}(K) + x Poly_{q-1}(K)</div><div><br></div><div>so at lowest order its just Poly_1. The dual space is moments of the normal component</div><div>of velocity on the edges. So you would write a dual space where the functionals integrated</div><div>the normal component. This is the tricky part:</div><div><br></div><div>  <a href="http://www.math.chalmers.se/~logg/pub/papers/KirbyLoggEtAl2010a.pdf" target="_blank">http://www.math.chalmers.se/~logg/pub/papers/KirbyLoggEtAl2010a.pdf</a><br></div><div><br></div><div>DG is just a generalization of this kind of thing where you need to a) have some geometric</div><div>quantities available to the pointwise functions (like h), and also some field quantities (like</div><div>the jump and average).</div><div><br></div><div>I understand exactly how I want to do the RT, BDM, BDMF, and NED elements, and those</div><div>will be in soon. I think DG is fairly messy and am not completely sure what I want here.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Thanks,<br>
Justin<span><font color="#888888"><br>
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br>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
</font></span></font></span></div></div>
</blockquote></div><br></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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></div>