initial upload

This commit is contained in:
2025-12-17 11:00:57 +08:00
parent 2bc7b24a71
commit a09a73537f
4614 changed files with 3478433 additions and 2 deletions

View File

@@ -0,0 +1,253 @@
<html lang="en-gb" dir="ltr">
<head>
<title>Add Node attribute voronoi volume</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">
<h1 id="add-node-attribute-voronoi-volume">Add Node attribute voronoi volume</h1>
<p>For a tet or tri mesh, an attribute can be added for each node giving the voronoi volume.
This uses the same routine used to calculate voronoi volumes for the FEHM stor file.
The commands for 3D tet and 2D tri are slightly different.</p>
<h2 id="2d-voronoi-area-node-attribute">2D Voronoi area node attribute</h2>
<p>We do not have a voronoi area option for 2D except as represented each of the x y z components for the Voronoi areas formed by the nodes. As long your surface is planar, you will get the values you want.
That is if your surface has normal in z direction, the z component will be your voronoi area.</p>
<p>In this example we create the attributes xvarea, yvarea, zvarea and write a truncated AVS file
which writes only node attributes. The file can be written for all nodes, or just a selected set.</p>
<p>After reading the tri surface into a mesh object named <em>mo_tri</em>:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># add attribute to save node id as attribute
# this is important if you subset or re-order nodes
cmo/set_id/mo_tri/ node / id_node
# create 3 attributes with voronoi areas
cmo/addatt/mo_tri/ voronoi_varea / xvarea yvarea zvarea
# display the min and max values of attributes
cmo printatt mo_tri -all- minmax
# turn off extra attributes for writing
cmo/modatt/mo_tri/ itp / ioflag / l
cmo/modatt/mo_tri/ isn / ioflag / l
cmo/modatt/mo_tri/ icr / ioflag / l
# write node attributes with avs flag
dump/avs/node_values.dat/ mo_tri 0 0 1 0
# find nodes along well and subset to the well nodes
# we copy nodes to new cmo to remove connectivity
cmo/create/motmp
copypts/motmp/mo_tri
cmo/select/motmp
pset/pwell/attribute imt/1,0,0/ eq 4
pset/pdel/ not pwell
rmpoint/pset,get,pdel
rmpoint compress
dump/avs/node_well_values.dat/ motmp 0 0 1 0
finish
</code></pre></div></div>
<p>The output AVS attribute file will look similar to this with attribute names first,
and the attribute values for rest of file. In this example
the triangle surface is xz, so voronoi areas are in yvarea attribute.</p>
<p>If you have a planar mesh, only one component of the xvarea, yvarea, zvarea will be non-zero. You can turn off all the attributes you dont want so that when you write out the AVS attributes file it will just be a single column of floating point values, or perhaps more useful would be a file with two columns of output where column 1 would be the integer vertex id number and the second column would be the floating point area.</p>
<p>node_well_values.dat</p>
<pre class="lg-output">
0 0 5 0 0
00005 1 1 1 1 1
imt1, integer
id_node, integer
xvarea, real
yvarea, real
zvarea, real
1 4 182 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
2 4 210 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
3 4 238 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
4 4 266 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
</pre>
<h2 id="3d-voronoi-volume-node-attribute">3D Voronoi volume node attribute</h2>
<p>The following will create a node attribute with the voronoi volume for each tet node.
The mesh object name is <em>cmotet</em> and the added attribute name is <em>vorvol</em>.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>quality
cmo/addatt/cmotet/vor_volume/vorvol
cmo/printatt/cmotet/vovol/minmax
# select set of points by imt and sum voronoi volume
cmo setatt cmotet vol_tot 0.
pset/p1/attribute imt/1,0,0/ eq MATNO
math/sum/cmotet/vol_tot/pset,get,p1/cmotet/vorvol
pset/p1/delete
</code></pre></div></div>
</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>

View File

@@ -0,0 +1,93 @@
# Add Node attribute voronoi volume
For a tet or tri mesh, an attribute can be added for each node giving the voronoi volume.
This uses the same routine used to calculate voronoi volumes for the FEHM stor file.
The commands for 3D tet and 2D tri are slightly different.
## 2D Voronoi area node attribute
We do not have a voronoi area option for 2D except as represented each of the x y z components for the Voronoi areas formed by the nodes. As long your surface is planar, you will get the values you want.
That is if your surface has normal in z direction, the z component will be your voronoi area.
In this example we create the attributes xvarea, yvarea, zvarea and write a truncated AVS file
which writes only node attributes. The file can be written for all nodes, or just a selected set.
After reading the tri surface into a mesh object named *mo_tri*:
```
# add attribute to save node id as attribute
# this is important if you subset or re-order nodes
cmo/set_id/mo_tri/ node / id_node
# create 3 attributes with voronoi areas
cmo/addatt/mo_tri/ voronoi_varea / xvarea yvarea zvarea
# display the min and max values of attributes
cmo printatt mo_tri -all- minmax
# turn off extra attributes for writing
cmo/modatt/mo_tri/ itp / ioflag / l
cmo/modatt/mo_tri/ isn / ioflag / l
cmo/modatt/mo_tri/ icr / ioflag / l
# write node attributes with avs flag
dump/avs/node_values.dat/ mo_tri 0 0 1 0
# find nodes along well and subset to the well nodes
# we copy nodes to new cmo to remove connectivity
cmo/create/motmp
copypts/motmp/mo_tri
cmo/select/motmp
pset/pwell/attribute imt/1,0,0/ eq 4
pset/pdel/ not pwell
rmpoint/pset,get,pdel
rmpoint compress
dump/avs/node_well_values.dat/ motmp 0 0 1 0
finish
```
The output AVS attribute file will look similar to this with attribute names first,
and the attribute values for rest of file. In this example
the triangle surface is xz, so voronoi areas are in yvarea attribute.
If you have a planar mesh, only one component of the xvarea, yvarea, zvarea will be non-zero. You can turn off all the attributes you dont want so that when you write out the AVS attributes file it will just be a single column of floating point values, or perhaps more useful would be a file with two columns of output where column 1 would be the integer vertex id number and the second column would be the floating point area.
node_well_values.dat
<pre class="lg-output">
0 0 5 0 0
00005 1 1 1 1 1
imt1, integer
id_node, integer
xvarea, real
yvarea, real
zvarea, real
1 4 182 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
2 4 210 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
3 4 238 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
4 4 266 0.000000000000E+00 -0.100000000000E+05 0.000000000000E+00
</pre>
## 3D Voronoi volume node attribute
The following will create a node attribute with the voronoi volume for each tet node.
The mesh object name is *cmotet* and the added attribute name is *vorvol*.
```
quality
cmo/addatt/cmotet/vor_volume/vorvol
cmo/printatt/cmotet/vovol/minmax
# select set of points by imt and sum voronoi volume
cmo setatt cmotet vol_tot 0.
pset/p1/attribute imt/1,0,0/ eq MATNO
math/sum/cmotet/vol_tot/pset,get,p1/cmotet/vorvol
pset/p1/delete
```

View File

@@ -0,0 +1,177 @@
<html lang="en-gb" dir="ltr">
<head>
<title>Convert Between Feet and Meters</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">
<h1 id="convert-between-feet-and-meters">Convert Between Feet and Meters</h1>
<p>This is a short macro that can be used to convert a meshs node
coordinate space from feet to meters or vice-versa.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Convert feet to meters.
scale / 1 0 0 / relative / xyz / 0.3048 0.3048 0.3048
# Meters to Feet: *(1/.3048) = 3.280839895...
math / divide / -def- / xic / 1 0 0 / -def- / xic / 0.3048
math / divide / -def- / yic / 1 0 0 / -def- / yic / 0.3048
math / divide / -def- / zic / 1 0 0 / -def- / zic / 0.3048
</code></pre></div></div>
</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>

View File

@@ -0,0 +1,14 @@
# Convert Between Feet and Meters
This is a short macro that can be used to convert a mesh's node
coordinate space from feet to meters or vice-versa.
```
# Convert feet to meters.
scale / 1 0 0 / relative / xyz / 0.3048 0.3048 0.3048
# Meters to Feet: *(1/.3048) = 3.280839895...
math / divide / -def- / xic / 1 0 0 / -def- / xic / 0.3048
math / divide / -def- / yic / 1 0 0 / -def- / yic / 0.3048
math / divide / -def- / zic / 1 0 0 / -def- / zic / 0.3048
```

View File

@@ -0,0 +1,217 @@
<html lang="en-gb" dir="ltr">
<head>
<title>reset imt values of truncated mesh</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">
<h1 id="reset-imt-values-of-truncated-mesh">reset imt values of truncated mesh</h1>
<p>Source imt values are the truncated imt values minus the node values that need to be reset.</p>
<p>This example removes materials greater than MAX_MAT.
The removal can leave behind node values that need to be reset.
We do not want to remove the nodes as we want to keep these cells.</p>
<p>Main command file with the truncation calls:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
# truncate top of mesh, remove materials gt 8
define CMO cmotet
define MAX_MAT 8
eltset/edel/ itetclr / gt MAX_MAT
rmpoint element eltset,get,edel
rmpoint/compress
resetpts/itp
# FIX imt of nodes left behind after removal of cells
infile reset_truncated_nodes_imt.mlgi
</code></pre></div></div>
<p>Macro File reset_truncated_nodes_imt.mlgi:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># macro to fix node imt values left over from truncation
# must define CMO when calling this macro
# must define MAX_MAT
# create set of points with good values
# fix using nearest interpolation from good set
cmo/create/cmotmp
copypts/cmotmp/CMO
cmo/select/cmotmp
pset/pbad/attribute imt/1,0,0/gt MAX_MAT
rmpoint/pset,get,pbad
rmpoint/compress
cmo/select/CMO
pset/pfix/attribute imt/1,0,0/gt MAX_MAT
interpolate/voronoi/CMO imt/pset,get,pfix/ cmotmp imt
cmo/delete/cmotmp
cmo/printatt/CMO/imt minmax
finish
</code></pre></div></div>
</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>

View File

@@ -0,0 +1,55 @@
# reset imt values of truncated mesh
Source imt values are the truncated imt values minus the node values that need to be reset.
This example removes materials greater than MAX_MAT.
The removal can leave behind node values that need to be reset.
We do not want to remove the nodes as we want to keep these cells.
Main command file with the truncation calls:
```
# truncate top of mesh, remove materials gt 8
define CMO cmotet
define MAX_MAT 8
eltset/edel/ itetclr / gt MAX_MAT
rmpoint element eltset,get,edel
rmpoint/compress
resetpts/itp
# FIX imt of nodes left behind after removal of cells
infile reset_truncated_nodes_imt.mlgi
```
Macro File reset_truncated_nodes_imt.mlgi:
```
# macro to fix node imt values left over from truncation
# must define CMO when calling this macro
# must define MAX_MAT
# create set of points with good values
# fix using nearest interpolation from good set
cmo/create/cmotmp
copypts/cmotmp/CMO
cmo/select/cmotmp
pset/pbad/attribute imt/1,0,0/gt MAX_MAT
rmpoint/pset,get,pbad
rmpoint/compress
cmo/select/CMO
pset/pfix/attribute imt/1,0,0/gt MAX_MAT
interpolate/voronoi/CMO imt/pset,get,pfix/ cmotmp imt
cmo/delete/cmotmp
cmo/printatt/CMO/imt minmax
finish
```