Files
LaGriT/docs/_site/pages/mstkla/MeshRegion.html
2025-12-17 11:00:57 +08:00

373 lines
15 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html lang="en-gb" dir="ltr">
<head>
<title>LaGriT</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="LaGriT : LaGriT is a library providing mesh generation and optimization for a variety of polyhedra and dimensions.">
<link href="https://fonts.googleapis.com/css?family=Do+Hyeon|Fira+Sans" rel="stylesheet">
<link rel="preload" href="https://getuikit.com/fonts/ProximaNova-Reg-webfont.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="preload" href="https://getuikit.com/fonts/ProximaNova-Light-webfont.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="stylesheet" href="/assets/css/uikit_theme.css">
<link rel="icon" type="image/x-icon" href="https://www.lanl.gov/favicon.ico">
<link rel="stylesheet" type="text/css" href="/assets/css/footer.css">
<!-- load stylesheets -->
<script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" defer=""></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/he/1.2.0/he.min.js" defer=""></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.6.2/marked.min.js" defer=""></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js" defer=""></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.0.2/vue-router.min.js" defer=""></script>
<script src="https://getuikit.com/assets/uikit/dist/js/uikit.min.js?1180" defer=""></script>
<script src="https://getuikit.com/assets/uikit/dist/js/uikit-icons.min.js?1180" defer=""></script>
<script src="https://getuikit.com/assets/highlightjs/highlight.min.js" defer=""></script>
<script src="https://getuikit.com/app/main.min.js?1180" defer=""></script>
<script src="https://www.googletagmanager.com/gtag/js?id=UA-42150424-1" async=""></script>
<!-- tipuesearch files -->
<link rel="stylesheet" href="/assets/tipuesearch/css/normalize.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="/assets/tipuesearch/tipuesearch_content.js"></script>
<link rel="stylesheet" href="/assets/tipuesearch/css/tipuesearch.css">
<script src="/assets/tipuesearch/tipuesearch_set.js"></script>
<script src="/assets/tipuesearch/tipuesearch.min.js"></script>
<!-- Finally, load global style to overwrite template, tipuesearch, etc. -->
<!--<link rel="stylesheet" href="/assets/globalstyle.css">-->
</head>
<body>
<div>
<!-- Header -->
<div uk-sticky="media: 960" class="uk-navbar-container tm-navbar-container uk-sticky uk-sticky-fixed" style="position: fixed; top: 0px; width: 100%; color: #212328;">
<div class="uk-container uk-container-expand">
<nav class="uk-navbar">
<div class="uk-navbar-left">
<a href="/" class="uk-navbar-item uk-logo" style="font-family: 'Do Hyeon', sans-serif; color: white;">
<img uk-img src="/assets/img/logo.png" width="50" class="uk-margin-small-right" alt="LANL logo">
LaGriT
</a>
</div>
<div class="uk-navbar-right">
<ul class="uk-navbar-nav uk-visible@m">
<li><a href="/pages/commands">Commands</a></li>
<li><a href="/pages/tutorial/index">Tutorials</a></li>
<li><a href="/pages/release">Release Notes</a></li>
<li><a href="/pages/publications">Publications</a></li>
<li><a href="http://github.com/lanl/LaGriT"><span uk-icon="github"></span></a></li>
<!-- Begin search bar -->
<div class="nav-overlay uk-navbar-right">
<a class="uk-navbar-toggle" uk-search-icon uk-toggle="target: .nav-overlay; animation: uk-animation-fade" href="#"></a>
</div>
<div class="nav-overlay uk-navbar-left uk-flex-1" hidden>
<div class="uk-navbar-item uk-width-expand">
<form class="uk-search uk-search-navbar uk-width-1-1" action="https://lanl.github.io/LaGriT/search/">
<input class="uk-search-input" name="q" type="search" id="tipue_search_input" placeholder="Search..." autofocus>
</form>
</div>
<a class="uk-navbar-toggle" uk-close uk-toggle="target: .nav-overlay; animation: uk-animation-fade" href="#"></a>
</div>
<script>
$(document).ready(function() {
$('#tipue_search_input').tipuesearch({
'show': 10,
'newWindow' : true,
'showURL' : true,
'showTitleCount' : true,
'descriptiveWords' : 20,
'highlightTerms' : true,
'mode': 'static',
});
});
</script>
<!-- End search bar -->
</ul>
<a uk-navbar-toggle-icon="" href="#offcanvas" uk-toggle="" class="uk-navbar-toggle uk-hidden@m uk-icon uk-navbar-toggle-icon">
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="navbar-toggle-icon">
<rect y="9" width="20" height="2"></rect>
<rect y="3" width="20" height="2"></rect>
<rect y="15" width="20" height="2"></rect>
</svg>
</a>
</div>
</nav>
</div>
</div>
<div class="uk-sticky-placeholder" style="height: 80px; margin: 0px;"></div>
<!-- End Header -->
<!-- Main Body text -->
<div class="tm-main uk-section uk-section-default">
<div class="uk-container uk-container-small uk-position-relative">
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow2.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/mstkla.md#MESH%20REGION:) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow3.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/Mesh.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow4.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/MeshFace.md)</p>
<p> </p>
<hr />
<hr />
<p>   <strong>MESH REGIONS</strong>:</p>
<hr />
<p> <em>int</em> <strong>MR_Number</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r);</p>
<p>Number ID for mesh region</p>
<hr />
<p><em>PGeomEntity</em> <strong>MR_GMEntity</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r);</p>
<p>Geometric entity (can only be a region) mesh region is classified on</p>
<hr />
<p><em>ElType</em> <strong>MR_Type</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r);</p>
<p>Type of element that mesh region is (TET, HEX etc)</p>
<hr />
<p><em>int</em> <strong>MR_NumVerts</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r);</p>
<p>Number of vertices in the element</p>
<hr />
<p><em>void</em> <strong>MR_Vertices</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>int</em>
<em>nv,
*PMeshVert</em>
*
*verts);</p>
<p>List of vertices of a mesh region</p>
<hr />
<p><em>void</em> <strong>MR_VerticesE</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>PMeshEdge</em> e,
<em>PMeshVert</em>
*rverts);</p>
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/note1.gif" />“31” “32”<strong>THIS OPERATOR IS
APPLICABLE ONLY TO TETS</strong></p>
<p>Return the vertices of the given tet w.r.t to the given edge. The</p>
<p>vertices v1 and v2 are vertices of the edge (maybe (0,1) or (1,0)) -</p>
<p>these are returned as rverts[0] and rverts[1]. The vertices
rverts[2]</p>
<p>(call it k1) and rverts[3] (k2) are returned such that if the
vertices</p>
<p>are above the edge then looking from vertex 0 to vertex 1 of the edge</p>
<p>k2 is to the left of k1. Mathematically,</p>
<p>   (v2k1 X v2k2) . v2v1 &gt; 0</p>
<p>where v2k1 is the vector from v2 to k1, etc.</p>
<hr />
<p><em>void</em> <strong>MR_VerticesLocE</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>int</em> enum,
<em>PMeshVert</em>
*rverts);</p>
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/note1.gif" />“31” “32”<strong>THIS OPERATOR IS
APPLICABLE ONLY TO TETS</strong></p>
<p>Same as MR_VerticesE (above) but the edge is specified by a local edge</p>
<p>number of the region instead of an explicit pointer.</p>
<hr />
<p><em>int</em> <strong>MR_NumFaces</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r);</p>
<p>Number of faces of element</p>
<hr />
<p><em>void</em> <strong>MR_Edges</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>int</em>
<em>num,
*PMeshEdge</em>
*
*edge);</p>
<p>List of edges of a mesh region</p>
<hr />
<p><em>void</em> <strong>MR_Faces</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>int</em>
<em>num,
*PMeshFace</em>
*
*faces);</p>
<p>List of faces of a mesh region</p>
<hr />
<p><em>int</em> <strong>MR_LocEdgeNum</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>PMeshEdge</em> e);</p>
<p>Local edge number of the given edge in the given region</p>
<hr />
<p><em>int</em> <strong>MR_LocFaceNum</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>PMeshFace</em> f);</p>
<p>Local face number of the given face in the given region.</p>
<hr />
<p><em>int <strong>MR_EntOnBdry</strong></em>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, MType mtype,
PMeshEntity pent);</p>
<p>Check if mesh entity of type mtype is on the boundary of mesh</p>
<p>region. mtype can be MFACE, MEDGE or MVERTEX. In other words, the</p>
<p>operator checks if mesh region is made up of mesh face, edge or vertex</p>
<p>in question.</p>
<p> </p>
<hr />
<p><em>PMeshRegn</em> <strong>MR_FaceNebr</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, <em>int</em>
lfnum);</p>
<p>Return the mesh region adjacent to face number lfnum of region r</p>
<p>The local face numbering starts from 0 in C style.</p>
<p> </p>
<hr />
<p>[]{#MR-Attribs<em>int</em> <strong>MR_GetAttVal</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r,
*char
**attname, *int
**ival,</p>
<p>*double
**rval, *char
**cval, *void
*
**pval, *AttType
**atype);</p>
<p>Depending on the type of the attribute, the appropriate field will be</p>
<p>filled on succesful completion. Arrays are returned in pval, integer in</p>
<p>ival and real number in rval (I dont think lagrit supports character</p>
<p>attributes)</p>
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/bullet12.gif" />“27” “31” Will only work for
solid meshes</p>
<hr />
<p><em>int</em> <strong>MR_SetAttVal</strong>(<em>PMeshObj</em> mesh, <em>PMeshRegn</em> r, *char</p>
<p><em>*attname, *int</em> ival,</p>
<p><em>double</em> rval, <em>char</em> cval, *void
**pval);</p>
<p>This is similar to the GetAttVal routine - depending on the type and</p>
<p>rank, one sends in a value with the right variable</p>
<p>*
*</p>
<ul>
<li>PERHAPS these routines need an additional variable, “rank” but
for</li>
</ul>
<p>now…..</p>
<p> </p>
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/bullet12.gif" />“27” “31” Will only work for
solid meshes</p>
<p> 
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow2.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/mstkla.md#MESH%20REGION:) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow3.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/Mesh.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/arrow4.gif" />“30”
“30”](http://www.ees.lanl.gov/staff/rao/mstkla/MeshFace.md)</p>
</div>
</div>
<!-- Begin footer -->
<footer class="footer-distributed">
<div class="footer-right">
<div><img src="/assets/img/lanl_logo_white.png" height="80"></div>
</div>
<div class="footer-left lg-background-color">
<p class="footer-links" style="font-family: 'Fira Sans', sans-serif; color: white;">
<a href="/">Home</a>
·
<a href="/pylagrit/original/index.html">PyLaGriT</a>
·
<a href="https://int.lanl.gov/org/ddste/aldcels/ees/index.shtml">EES-16</a>
·
<a href="/pages/licensing.html">License</a>
·
<a href="https://lagrit.lanl.gov/">Contact</a>
</p>
<p>&copy; 2019 Los Alamos National Laboratory</p>
<p>EES-16 | Computational Earth Science</p>
<p>LA-CC-15-069</p>
</div>
</footer>
<!-- Begin Navigation Bar -->
<div id="offcanvas" uk-offcanvas="mode: push; overlay: true" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<div class="uk-panel">
<ul class="uk-nav uk-nav-default tm-nav">
<form class="uk-search uk-search-default" action="https://lanl.github.io/LaGriT/search/">
<a href="" uk-search-icon></a>
<input class="uk-search-input" type="search" placeholder="" name="q" id="tipue_search_input_mobile">
</form>
<li class="uk-nav-header">General</li>
<li><a href="/">Home</a></li>
<li><a href="/pages/commands">Commands</a></li>
<li><a href="/pages/release">Release Notes</a></li>
<li><a href="/pages/publications">Publications</a></li>
<li><a href="http://github.com/lanl/LaGriT">GitHub</a></li>
</ul>
</div>
</div>
</div>
<!-- End Navigation Bar -->
</div>
</body>
</html>