<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hello All,<div class=""><br class=""></div><div class="">I am currently working on rewriting an existing code into PETSc. This particular code performs tight binding and works on a tiled hexagonal carbon lattice as a mesh. I am wondering what the best DM format is to represent this? Some potentially relevant info:</div><div class=""><br class=""></div><div class="">1. General setup looks like this (<a href="https://www.iconfinder.com/icons/3417099/carbon_structure_geometric_pattern_graphene_technology_hexagonal_lattice_molecular_structure_icon" class="">https://www.iconfinder.com/icons/3417099/carbon_structure_geometric_pattern_graphene_technology_hexagonal_lattice_molecular_structure_icon</a>), initially in 2D, however it should be extensible to 3D in the Z direction by layering these configurations on top of one another. They are not necessarily layered nicely, i.e. having one layer directly above the other, but should be able to handle offsets in the X or Y directions.</div><div class="">2. A “Cell” is a pair of atoms, so in the above link 2 connected circles represents 1 cell.</div><div class="">3. Connectivity between cells is always structured.</div><div class="">4. The mesh should only be interpolated (in the DMPlex sense) once, i.e. I need the 2 atom “cell" to store some geometric information about its internal bond.</div><div class="">5. Computational stencil should always be pointing “outwards”, i.e. it should not loop back on itself.</div><div class="">6. The computational kernel is a band-diagonal Hamiltonian matrix generated from the tight binding wave function (function of vectors between atoms, some known constants, and stencil size)</div><div class=""><br class=""></div><div class="">Granted some of these are not necessarily things that PETSc should facilitate on its own (most likely point #4 and #5) but there may be DM implementations that make writing this by hand easier than others. From looking into this some potential contenders I identified were DMNetwork, (a modified) DMDA, DMStag, DMPlex, or DMMOAB, but I welcome any and all input here!</div><div class=""><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Best regards,<br class=""><br class="">Jacob Faibussowitsch<br class="">(Jacob Fai - booss - oh - vitch)<br class="">Cell: (312) 694-3391</div></div>

</div>
<br class=""></div></body></html>