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

378 lines
14 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#UTILITIES:) <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/GeomVertex.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/example.md)</p>
<p><img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/construction14.gif" />“169” “131”</p>
<hr />
<hr />
<p>   <strong>UTILITIES:</strong></p>
<hr />
<p> </p>
<p><em>void</em> <strong>ReportError</strong>(<em>char</em>
<em>modulename, *char</em>
<em>message, *ErrType</em>
severity);</p>
<p>Report an error message. The severity may be specified as</p>
<p><strong>MESSG</strong>: Print a message to the screen</p>
<p><strong>WARNING</strong>: Print message with additional attention grabbing text</p>
<p><strong>ERROR</strong>: Print message with additional attention grabbing text</p>
<p><strong>FATAL</strong>: Print attention grabbing message and exit.</p>
<p> </p>
<p> </p>
<hr />
<hr />
<p> <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/new1.gif" />“31” “12” <strong>VECTOR FUNCTIONS:</strong></p>
<hr />
<p><em>void</em> <strong>vdiff</strong>(<em>double</em>
<em>a, *double</em>
<em>b, *double</em>
*a_minus_b);</p>
<hr />
<p><em>void</em> <strong>vsum</strong>(<em>double</em>
<em>a, *double</em>
<em>b, *double</em>
*a_plus_b);</p>
<hr />
<p><em>double</em> <strong>vmag2</strong>(<em>double</em>
*v);</p>
<hr />
<p><em>double</em> <strong>vmag</strong>(<em>double</em>
*v);</p>
<hr />
<p><em>void</em> <strong>vcross</strong>(<em>double</em>
<em>a, *double</em>
<em>b, *double</em>
*a_cross_b);</p>
<hr />
<p><em>double</em> <strong>vdot</strong>(<em>double</em>
<em>a, *double</em>
*b);</p>
<hr />
<p><em>void</em> <strong>vnorm</strong>(<em>double</em>
<em>a, *double</em>
*unita);</p>
<hr />
<hr />
<p>  <strong> <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/new1.gif" />“31” “12”REAL NUMBER
COMPARISON FUNCTIONS:</strong></p>
<hr />
<p> </p>
<p><em>int</em> <strong>REAL_le</strong>(<em>double</em> a, <em>double</em> b);</p>
<hr />
<p><em>int</em> <strong>REAL_ge</strong>(<em>double</em> a, <em>double</em> b);</p>
<hr />
<p><em>int</em> <strong>REAL_eq</strong>(<em>double</em> a, <em>double</em> b);</p>
<hr />
<p> </p>
<hr />
<hr />
<p> <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/new1.gif" />“31” “12” <strong>COMP GEOM
FUNCTIONS:</strong></p>
<hr />
<p><em>int</em> <strong>pntInTriangle2</strong>(<em>double</em>
<em>pnt, *double</em> (
<em>tri)[3], *double</em>
tol, <em>int</em> flag, <em>int</em>
<em>mtype, *int</em>
*locID);</p>
<p> </p>
<p>Check if a point that is guaranteed to be in the plane of a triangle is
inside the triangle itself.</p>
<p>If <strong>flag = 1</strong>, check if point is strictly inside</p>
<p>    <strong>flag = 0</strong>, check if point is inside or on the boundary within a
real tolerance tol</p>
<p>Return <strong>value =  1 (inside), 0 (outside), -1 (on boundary)</strong></p>
<p>If point is on the boundary, <strong>mtype</strong> indicates type of entity it is
on</p>
<p><strong>locID</strong> indicates the local ID number of the vertex or edge it is on</p>
<p> </p>
<hr />
<p><em>int</em> <strong>pntInTet</strong>(<em>double</em>
<em>pnt, *double</em> (
<em>tet)[3], *double</em> tol,
<em>int</em> flag, <em>int</em>
<em>mtype, *int</em>
*locID);</p>
<p>Check if a point is inside a tet</p>
<p>If <strong>flag = 1</strong>, check if point is strictly inside</p>
<p>    <strong>flag = 0</strong>, check if point is inside or on the booundary</p>
<p>              within a real tolerance tol</p>
<p>Return <strong>value =  1 (inside), 0 (outside), -1 (on boundary)</strong></p>
<p>If point is on the boundary, <strong>mtype</strong> indicates type of entity it is
on</p>
<p><strong>locID</strong> indicates the local ID number of the vertex or edge it is on</p>
<p> </p>
<hr />
<p><em>void</em> <strong>Tri_CircumCen</strong>(<em>double</em> (
<em>xyz)[3], *double</em>
*cen);</p>
<hr />
<p><em>double</em> <strong>Tri_Area</strong>(<em>double</em> (
*xyz)[3]);</p>
<hr />
<p><em>void</em>   <strong>Tri_Normal</strong>(<em>double</em> (
<em>xyz)[3], *double</em>
*normal);</p>
<hr />
<p><em>double</em> <strong>Tet_Volume</strong>(<em>double</em> (
*xyz)[3]);</p>
<hr />
<p><em>void</em>   <strong>Tet_CircumCen</strong>(<em>double</em> (
<em>xyz)[3], *double</em>
*cen);</p>
<hr />
<p> </p>
<p> </p>
<p> </p>
<p> </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#UTILITIES:) <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/GeomVertex.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/example.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>