initial upload
87
docs/pages/tutorial/lagrit_introduction/index.md
Executable file
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: Tutorial LaGriT Introduction
|
||||
---
|
||||
|
||||
# Tutorial - LaGriT Introduction
|
||||
|
||||
<div class="button" id="button-3">
|
||||
<div id="circle"></div>
|
||||
<a href="{{ "/pages/tutorial/lagrit_introduction/" | relative_url }}">Tutorial on GitHub</a>
|
||||
</div>
|
||||
|
||||
|
||||
## Running LaGriT
|
||||
|
||||
LaGriT consists of mesh **commands** and options that are used to create, modify, optimize, and write files. LaGriT can be run on the command line interactively, so commands are entered one at a time at the prompt, or with one or more files containing the LaGriT commands. By convention we use ".lgi" for lagrit input file names and ".mlgi" for macro files called from main command file.
|
||||
|
||||
Run LaGriT from the command line interactively or put commands in a file and redirect.
|
||||
```
|
||||
lagrit
|
||||
```
|
||||
or
|
||||
```
|
||||
lagrit < input.lgi
|
||||
```
|
||||
**Important Note:** the **`finish`** command must be used to exit interactive session and must be at end of command file.
|
||||
|
||||
## LaGriT Syntax Conventions
|
||||
|
||||
LaGriT reads commands and command options from each line at prompt or each line in a file. Each line starts with a **command** followed by command options. Syntax is very important and the [commands](https://lanl.github.io/LaGriT/pages/commands.html) reference pages should be followed, or errors may occur. The following conventions apply:
|
||||
|
||||
- Lines are a maximum of 80 characters long, identifiers and file names are a maximum of 32 characters long.
|
||||
- A line can be continued by an “&” as the last character of a line to be wrapped.
|
||||
- Command and token separators are comma, slash, or blank. (‘,’ ‘/’ ‘ ‘).
|
||||
- White space is ignored except between slashes with empty space indicating default for that option should be used.
|
||||
- LaGriT will ignore lines that start with comment indicators '*' or '#'.
|
||||
See more at [Syntax Conventions](https://lanl.github.io/LaGriT/pages/docs/conventions.html)
|
||||
|
||||
## General Meshing Definitions
|
||||
|
||||
- **Mesh = Grid** = elements defining geometric shapes allowing numerical computations for simulations
|
||||
- **Node = Vertex** = point = mesh object nodes that can be used to connect into elements.
|
||||
- **Element = cell** = nodes are connected into element types such as line, triangle, or tetrahedral (see page)
|
||||
- **Structured mesh** = a mesh whose connectivity (topology) can be defined implicitly, and cell neighbors are predictable. Generally, a quadrilateral mesh in 2D and hexahedral mesh in 3D.
|
||||
- **Unstructured mesh** = a mesh that requires explicit connectivity information to describe cell topology. Generally used to represent complex shapes.
|
||||
- **Delaunay Triangulation** = a Delaunay mesh (triangles in 2D, tetrahedra in 3D) has cells such that the circumcircle(2D)/circumsphere(3D) contains no vertices other than the cell vertices. A Delaunay triangulation maximizes the minimum interior angle.
|
||||
- **Voronoi Tessellation** = the dual of a Delaunay triangulation, meaning that the vertices of one correspond to the cells of the other, and the edges of one correspond to the edges of the other.
|
||||
- Defined as ```V(pi) = {x | d(x, pi) ≤ d(x, pj) for all pj ∈ S, j ≠ i}```
|
||||
- The Voronoi cell V(pi) contains all points x that are "closest" to the site pi.
|
||||
- "Closeness" is determined by the distance function d(x, p).
|
||||
- The inequality d(x, pi) ≤ d(x, pj) ensures that x is closer to pi than to any other site pj.
|
||||
- **Control volume (CV) method** = in context of computational hydrology, the discretization method used by physics codes such as FEHM and PFLOTRAN for solving multiphase flow of fluid and energy (heat) in porous media. The CV method guarantees conservation of mass and heat.
|
||||
|
||||
|
||||
## LaGriT Meshing Definitions
|
||||
|
||||
- **Current Mesh Object = mo** = is the mesh data structure used in LaGriT.
|
||||
- **imt** = integer material type = default name for vertex array with positive integer values indicating material ID or color.
|
||||
- **itetclr** = integer tet color = default name for cell array with positive integer values indicating material ID or color (legacy name convention)
|
||||
- **itp** = integer type = vertex integer tag indicating type such as interior, exterior, interior boundary, or exterior boundary.
|
||||
- **geometry** = is created with surface and region commands and is used to set mesh material values.
|
||||
- **LaGriT (.lgi and .mlgi)** = LaGriT command files suffix where .mlgi is a macro called from main command files. (Optional suffix convention)
|
||||
- **AVS (.inp)** = Advanced Visual Systems ascii file format for mesh information (vertex coordinates, cell connectivity, vertex attributes, cell attributes) recognized by most VIS applications. LaGriT can read and write AVS files.
|
||||
- **Exodus II (.exo)** = Binary mesh file format built on NetCDF data storage structures used for Amanzi/ATS and recognized by most VIS applications. LaGriT can write Exodus II files but does not read Exodus II files.
|
||||
|
||||
|
||||
## LaGriT Basics Tutorial
|
||||
|
||||
|
||||
This tutorial shows how to use LaGriT commands to create a simple structured multi-material mesh and files for simulations. This workflow starts with a hexahedral mesh which is connected into a Delaunay tetrahedral mesh. Materials are assigned to the cells and vertices using surfaces. The final step writes files used for simulations such as FEHM.
|
||||
|
||||
You do not need to run LaGriT as the example output files are included in this tutorial. But new users will benefit from running the examples and making modifications to better understand results of different commands and their options. Paraview is used to create the images in this tutorial and can read any of the AVS *.inp files.
|
||||
|
||||
|
||||
## [Step 1. Create a Hex Mesh](step_01.md)
|
||||
|
||||
## [Step 2. Convert Hex Mesh to Tet Mesh](step_02.md)
|
||||
|
||||
## [Step 3. Assign materials to the Mesh](step_03.md)
|
||||
|
||||
## [Step 4. Write Mesh and FEHM Setup Files](step_04.md)
|
||||
|
||||
|
||||
## Final Word
|
||||
|
||||
|
||||
Meshing with LaGriT is not automatic and methods can be complex. But LaGriT tools provide a robust variety of meshing tools with capabilities specific to geologic applications and Voronoi control volume solvers. For some modeling applications, the LaGriT workflow can be generalized and easier to use. Applications using LaGriT for meshing include dfnWorks and Tinerator, both on GitHub and available for download. We hope this Tutorial provides insight into LaGriT and how it may solve your meshing needs.
|
||||
|
||||
154
docs/pages/tutorial/lagrit_introduction/step_01.md
Executable file
@@ -0,0 +1,154 @@
|
||||
---
|
||||
title: Tutorial LaGriT Introduction Step 01
|
||||
---
|
||||
|
||||
# Step 1. Build a Hex Mesh
|
||||
|
||||
<!-- Begin image -->
|
||||
<p><a href="step_01/01_hex_mesh.png"> <img width="500" src="step_01/01_hex_mesh.png" /> </a></p>
|
||||
<br>
|
||||
<!-- End image -->
|
||||
|
||||
|
||||
#### LaGriT command file: [01_create_hex.lgi](step_01/01_create_hex.lgi.txt)
|
||||
#### LaGriT output file: [lagrit.out](step_01/01_create_hex.out.txt)
|
||||
#### LaGriT all run files: [Folder step_01](https://github.com/lanl/LaGriT/tree/master/docs/pages/tutorial/lagrit_introduction/step_01)
|
||||
|
||||
|
||||
## Create a Mesh Object
|
||||
|
||||
|
||||
A mesh object can be created by reading a mesh, ie ```read/avs/mesh.inp/ 3dmesh```
|
||||
or the mesh can be created. For this example, we will start with one of the [`createpts`](../../docs/commands/createpts.md) commands. These are used to add points to a mesh object with defined distributions.
|
||||
|
||||
For your first command you will create a 3D mesh object and name it `3dmesh`. This will be a structured hex mesh, so we add the element type to the end of the command syntax.
|
||||
|
||||
See more on the Mesh Object data structure at [LaGriT Mesh Object](https://lanl.github.io/LaGriT/pages/docs/meshobject.html)
|
||||
|
||||
*Note on spacing: the slashes separate keywords. The slashes with empty spaces are place holders if the user wants to define npoints or nelements in the command. We do not define these here since these values will be updated in the mesh object as points are created.*
|
||||
|
||||
```
|
||||
cmo / create / 3dmesh / / / hex
|
||||
```
|
||||
|
||||
View the contents of this empty mesh object. Note the mesh attributes nnodes and nelements is currently 0. LaGriT book-keeping routines will update the mesh object as it is modified.
|
||||
|
||||
```
|
||||
cmo/status/3dmesh
|
||||
```
|
||||
|
||||
*Note: the command **cmo/select/3dmesh** can be added here, but not necessary because there is only one mesh. Also, the **create** command makes the created mesh the current mesh.*
|
||||
|
||||
|
||||
## Create Points for Hex Mesh
|
||||
|
||||
We will use one of the simple **`createpts`** commands, this version will create a structured rectangular mesh. Checking the syntax for [createpts/brick/](https://lanl.github.io/LaGriT/pages/docs/commands/createpts/CRTPTBRICK.html) we see options that can be defined as variables, making them easy to change.
|
||||
|
||||
In LaGriT, variables are assigned using the `define` keyword. We define the variables before the commands. It is good practice to locate these all together with comments at the top of the command file. You can also use the **define** command multiple times, the last will overwrite previous values. This is an easy way to keep track of resolutions as you try them.
|
||||
|
||||
```
|
||||
# Mesh domain 100x50x80
|
||||
define / XMIN / 0.
|
||||
define / XMAX / 100.
|
||||
define / YMIN / 0.
|
||||
define / YMAX / 50.
|
||||
define / ZMIN / 0.
|
||||
define / ZMAX / 80.
|
||||
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define / NX / 11
|
||||
define / NY / 6
|
||||
|
||||
# try 10 meter spacing with 9 nodes first
|
||||
# overwrite and use 5 meter spacing with 17 nodes
|
||||
define / NZ / 9
|
||||
define / NZ / 17
|
||||
```
|
||||
|
||||
Above, the spatial domain (MIN and MAX values) and node density (`NX/NY/NZ`) have been defined.
|
||||
Now we can use the define values to add points to the mesh object.
|
||||
The [`createpts / brick`](../../docs/commands/createpts/CRTPTBRICK.md) command will generate a defined number of
|
||||
hex elements across a defined domain.
|
||||
|
||||
`NX` number of hex elements, along with their corresponding vertices, will be created in the spatial domain along the X axis, with `NY` elements in the Y domain and `NZ` elements in the Z domain.
|
||||
|
||||
```
|
||||
createpts/brick/xyz/ NX NY NZ / XMIN YMIN ZMIN/ XMAX YMAX ZMAX / 1,1,1
|
||||
```
|
||||
|
||||
As shown in the screen report, **`createpts/brick`** creates 1122 hex points and 800 hex elements. The connect option should not be used for the **brick** option because the hex connectivity is created automatically.
|
||||
|
||||
|
||||
## Set Materials and Boundary Tags
|
||||
|
||||
|
||||
It is good practice to set materials for nodes (imt) and elements (itetlcr) to 1 before continuing. A 0 value in these arrays will cause some viewers to ignore that point or element. These attributes must be positive non-zero integers.
|
||||
|
||||
*Note 1,0,0 represents all for node start,stride,end*
|
||||
|
||||
```
|
||||
cmo / setatt / 3dmesh / imt / 1,0,0 / 1
|
||||
cmo / setatt / 3dmesh / itetclr / 1,0,0 / 1
|
||||
```
|
||||
|
||||
It is also good practice to reset the itp attribute anytime materials are changed. This attribute indicates which nodes are on the boundary and which are internal and is used in many of the meshing routines.
|
||||
|
||||
```
|
||||
resetpts/itp
|
||||
```
|
||||
|
||||
## Check the Mesh
|
||||
|
||||
|
||||
View the Mesh Object status, brief version. This report affirms the creation of a 3D hex mesh. The **brief** option shows the cmo header without all the attributes.
|
||||
```
|
||||
cmo/status/ 3dmesh / brief
|
||||
```
|
||||
|
||||
View the min max values of the mesh attributes of the coordinates as another check.
|
||||
The keyword -all- or -xyz- can be used to view mesh object attributes.
|
||||
```
|
||||
cmo/printatt/3dmesh/ -xyz- minmax
|
||||
```
|
||||
|
||||
Check the mesh with the **`quality`** command. There should be no negative or zero volumes.
|
||||
|
||||
```
|
||||
quality
|
||||
```
|
||||
|
||||
## Write the Mesh and View
|
||||
|
||||
|
||||
Write an AVS format mesh file for viewing the mesh.
|
||||
This file can be rendered in certain scientific 3D visualization applications such as Paraview.
|
||||
|
||||
Viewing this mesh, you should see something like the image at the top of the page.
|
||||
By default, Paraview will color the mesh by imt values which are all equal to 1.
|
||||
|
||||
View the mesh using the node attribute itp to see the boundary nodes. The outside nodes will have value of 10 and internal nodes will have value 0. Note when viewing a mesh colored by a node, the colors will "bleed" from one node to the next. Views colored by cell or element will be more distinct.
|
||||
|
||||
Image shows hex mesh with node itp colors. The mesh is clipped in half to see the inside nodes of the mesh.
|
||||
<p><a href="step_01/01_hex_mesh_itp.png"> <img width="300" src="step_01/01_hex_mesh_itp.png" /> </a></p>
|
||||
|
||||
```
|
||||
dump/ avs / 01_hex_mesh.inp / 3dmesh
|
||||
```
|
||||
|
||||
## finish
|
||||
|
||||
Always end a session or a file with the **finish** command and a line return after the finish command. The command line parser will not parse a command without a line return.
|
||||
|
||||
```
|
||||
finish
|
||||
|
||||
```
|
||||
|
||||
#### [LaGriT Introduction Index](index.html)
|
||||
#### [Step 1. Create a Hex Mesh](step_01.html)
|
||||
#### [Step 2. Convert Hex Mesh to Tet Mesh](step_02.html)
|
||||
#### [Step 3. Assign materials to the Mesh](step_03.html)
|
||||
#### [Step 4. Write Mesh and FEHM Setup Files](step_04.html)
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 1. Build a Hex Mesh
|
||||
|
||||
# Create an empty hex mesh object called 3dmesh
|
||||
cmo / create / 3dmesh / / / hex
|
||||
|
||||
# View the mesh object attributes
|
||||
cmo / status / 3dmesh
|
||||
|
||||
# Define parameters that will be used to create a mesh.
|
||||
# Values used will be the last written
|
||||
|
||||
# Mesh domain 100x50x80
|
||||
define / XMIN / 0.
|
||||
define / XMAX / 100.
|
||||
define / YMIN / 0.
|
||||
define / YMAX / 50.
|
||||
define / ZMIN / 0.
|
||||
define / ZMAX / 80.
|
||||
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define / NX / 11
|
||||
define / NY / 6
|
||||
define / NZ / 9
|
||||
define / NZ / 17
|
||||
|
||||
# Create points and connect into a hex mesh
|
||||
createpts/brick/xyz/ NX NY NZ / XMIN YMIN ZMIN/ XMAX YMAX ZMAX / 1,1,1
|
||||
|
||||
# Set materials for nodes (imt) and elements (itetlcr) to 1
|
||||
# This is good practice and avoids 0 values in these atttributes
|
||||
# Note 1,0,0 represents all for node start,stride,end
|
||||
cmo / setatt / 3dmesh / imt / 1,0,0 / 1
|
||||
cmo / setatt / 3dmesh / itetclr / 1,0,0 / 1
|
||||
|
||||
# Set node boundary flags in the itp attribute
|
||||
# This is good practice and can be called anytime to update this array
|
||||
resetpts/itp
|
||||
|
||||
# View Mesh Object status, brief version
|
||||
cmo/status/ 3dmesh / brief
|
||||
|
||||
# Report the min max values of the mesh attributes
|
||||
# keyword -all- or -xyz- can be used
|
||||
cmo/printatt/3dmesh/ -xyz- minmax
|
||||
|
||||
# Check mesh with quality command
|
||||
# There should be no negative or zero volumes
|
||||
quality
|
||||
|
||||
# Write an AVS format mesh file for viewing
|
||||
dump/ avs / 01_hex_mesh.inp / 3dmesh
|
||||
|
||||
# END of command file
|
||||
finish
|
||||
@@ -0,0 +1,56 @@
|
||||
# Tutorial Example 1
|
||||
#
|
||||
|
||||
# Create an empty hex mesh object called 3dmesh
|
||||
cmo / create / 3dmesh / / / hex
|
||||
|
||||
# View the mesh object attributes
|
||||
cmo / status / 3dmesh
|
||||
|
||||
# Define parameters that will be used to create a mesh.
|
||||
# Values used will be the last written
|
||||
|
||||
# Mesh domain 100x50x80
|
||||
define / XMIN / 0.
|
||||
define / XMAX / 100.
|
||||
define / YMIN / 0.
|
||||
define / YMAX / 50.
|
||||
define / ZMIN / 0.
|
||||
define / ZMAX / 80.
|
||||
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define / NX / 11
|
||||
define / NY / 6
|
||||
define / NZ / 9
|
||||
define / NZ / 17
|
||||
|
||||
# Create points and connect into a hex mesh
|
||||
createpts/brick/xyz/ NX NY NZ / XMIN YMIN ZMIN/ XMAX YMAX ZMAX / 1,1,1
|
||||
|
||||
# Set materials for nodes (imt) and elements (itetlcr) to 1
|
||||
# This is good practice and avoids 0 values in these atttributes
|
||||
# Note 1,0,0 represents all for node start,stride,end
|
||||
cmo / setatt / 3dmesh / imt / 1,0,0 / 1
|
||||
cmo / setatt / 3dmesh / itetclr / 1,0,0 / 1
|
||||
|
||||
# Set node boundary flags in the itp attribute
|
||||
# This is good practice and can be called anytime to update this array
|
||||
resetpts/itp
|
||||
|
||||
# View Mesh Object status, brief version
|
||||
cmo/status/ 3dmesh / brief
|
||||
|
||||
# Report the min max values of the mesh attributes
|
||||
# keyword -all- or -xyz- can be used
|
||||
cmo/printatt/3dmesh/ -xyz- minmax
|
||||
|
||||
# Check mesh with quality command
|
||||
# There should be no negative or zero volumes
|
||||
quality
|
||||
|
||||
# Write an AVS format mesh file for viewing
|
||||
dump/ avs / 01_hex_mesh.inp / 3dmesh
|
||||
|
||||
# END of command file
|
||||
finish
|
||||
@@ -0,0 +1,21 @@
|
||||
cmo/create/3dmesh///hex
|
||||
cmo/status/3dmesh
|
||||
define/XMIN/0.
|
||||
define/XMAX/100.
|
||||
define/YMIN/0.
|
||||
define/YMAX/50.
|
||||
define/ZMIN/0.
|
||||
define/ZMAX/80.
|
||||
define/NX/11
|
||||
define/NY/6
|
||||
define/NZ/9
|
||||
define/NZ/17
|
||||
createpts/brick/xyz/NX NY NZ/XMIN YMIN ZMIN/XMAX YMAX ZMAX/1,1,1
|
||||
cmo/setatt/3dmesh/imt/1,0,0/1
|
||||
cmo/setatt/3dmesh/itetclr/1,0,0/1
|
||||
resetpts/itp
|
||||
cmo/status/3dmesh/brief
|
||||
cmo/printatt/3dmesh/-xyz- minmax
|
||||
quality
|
||||
dump/avs/01_hex_mesh.inp/3dmesh
|
||||
finish
|
||||
@@ -0,0 +1,197 @@
|
||||
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * *
|
||||
* * Program: LaGriT V3.3.4 Linux *
|
||||
* * Compiler Name: GNU *
|
||||
* * Compiler Version: 9.4.0 *
|
||||
* * Date Compile: 2024/05/06 *
|
||||
* * Run Time: 2025/Jan 16 16:17:30 *
|
||||
* * Manual: https://lagrit.lanl.gov *
|
||||
* * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
-----oOo-----
|
||||
LaGriT V3 LA-CC-15-069 https://github.com/lanl/LaGriT
|
||||
Copyright 2016. Triad National Security, LLC. All rights reserved. This
|
||||
program was produced under U.S. Government contract 89233218CNA000001
|
||||
for Los Alamos National Laboratory (LANL), which is operated by Triad
|
||||
National Security, LLC for the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. All rights in the program are reserved by Triad
|
||||
National Security, LLC, and the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. The Government is granted for itself and others
|
||||
acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license
|
||||
in this material to reproduce, prepare derivative works, distribute copies
|
||||
to the public, perform publicly and display publicly, and to permit others to
|
||||
do so. This software is open source and available under the BSD-3 License.
|
||||
-----oOo-----
|
||||
|
||||
|
||||
Output log file: lagrit.out
|
||||
Command log file: lagrit.log
|
||||
|
||||
# Tutorial Example 1
|
||||
#
|
||||
# Create an empty hex mesh object called 3dmesh
|
||||
cmo/create/3dmesh///hex
|
||||
# View the mesh object attributes
|
||||
cmo/status/3dmesh
|
||||
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 0 number of elements = 0
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
NAME TYPE RANK LENGTH INTER PERSI IO VALUE
|
||||
|
||||
1 -def- VDOU scalar nnodes linea tempo agl 0.000E+00
|
||||
2 scalar INT scalar scalar const perma l 1.000E+00
|
||||
3 vector INT scalar scalar const perma l 3.000E+00
|
||||
4 nnodes INT scalar scalar const perma l 0.000E+00
|
||||
5 nedges INT scalar scalar const perma l 0.000E+00
|
||||
6 nfaces INT scalar scalar const perma l 0.000E+00
|
||||
7 nelements INT scalar scalar const perma l 0.000E+00
|
||||
8 mbndry INT scalar scalar const perma l 1.600E+07
|
||||
9 ndimensions_top INT scalar scalar const perma l 3.000E+00
|
||||
10 ndimensions_geo INT scalar scalar const perma l 3.000E+00
|
||||
11 nodes_per_eleme INT scalar scalar const perma l 8.000E+00
|
||||
12 edges_per_eleme INT scalar scalar const perma l 1.200E+01
|
||||
13 faces_per_eleme INT scalar scalar const perma l 6.000E+00
|
||||
14 isetwd VDOU scalar nnodes or perma l 0.000E+00
|
||||
15 ialias VINT scalar nnodes seque perma l 0.000E+00
|
||||
16 imt1 VINT scalar nnodes max perma gal 0.000E+00
|
||||
17 itp1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
18 icr1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
19 isn1 VINT scalar nnodes user perma gal 0.000E+00
|
||||
20 xic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
21 yic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
22 zic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
23 xtetwd VDOU scalar nelements or perma l 0.000E+00
|
||||
24 itetclr VINT scalar nelements user perma l 0.000E+00
|
||||
25 itettyp VINT scalar nelements user perma l 0.000E+00
|
||||
26 itetoff VINT scalar nelements user perma l 0.000E+00
|
||||
27 jtetoff VINT scalar nelements user perma l 0.000E+00
|
||||
28 itet VINT nodes_per_ nelements user perma l 0.000E+00
|
||||
29 jtet VINT faces_per_ nelements user perma l 0.000E+00
|
||||
30 ipolydat CHAR scalar scalar const perma l no
|
||||
31 vor2d CHAR scalar scalar const perma l yes
|
||||
32 vor3d CHAR scalar scalar const perma l no
|
||||
33 epsilon REAL scalar scalar const perma l 1.000E-15
|
||||
34 epsilonl REAL scalar scalar const perma l 1.000E-08
|
||||
35 epsilona REAL scalar scalar const perma l 1.000E-08
|
||||
36 epsilonv REAL scalar scalar const perma l 1.000E-08
|
||||
37 ipointi INT scalar scalar const perma l 0.000E+00
|
||||
38 ipointj INT scalar scalar const perma l 0.000E+00
|
||||
39 idebug INT scalar scalar const perma l 0.000E+00
|
||||
40 itypconv_sm INT scalar scalar const perma l 1.000E+00
|
||||
41 maxiter_sm INT scalar scalar const perma l 2.500E+01
|
||||
42 tolconv_sm REAL scalar scalar const perma l 1.000E+00
|
||||
43 nnfreq INT scalar scalar const perma l 1.000E+00
|
||||
44 ivoronoi INT scalar scalar const perma l 1.000E+00
|
||||
45 iopt2to2 INT scalar scalar const perma l 2.000E+00
|
||||
46 dumptype CHAR scalar scalar const perma l binary
|
||||
47 velname CHAR scalar scalar const perma l vels
|
||||
48 densname CHAR scalar scalar const perma l ric
|
||||
49 presname CHAR scalar scalar const perma l pic
|
||||
50 enername CHAR scalar scalar const perma l eic
|
||||
51 xmin REAL scalar scalar const perma l -1.000E+00
|
||||
52 ymin REAL scalar scalar const perma l -1.000E+00
|
||||
53 zmin REAL scalar scalar const perma l -1.000E+00
|
||||
54 xmax REAL scalar scalar const perma l 1.000E+00
|
||||
55 ymax REAL scalar scalar const perma l 1.000E+00
|
||||
56 zmax REAL scalar scalar const perma l 1.000E+00
|
||||
57 kdtree_level INT scalar scalar const perma l 0.000E+00
|
||||
58 max_number_sets INT scalar scalar const perma l 6.400E+01
|
||||
59 number_of_psets INT scalar scalar const perma l 0.000E+00
|
||||
60 number_of_eltse INT scalar scalar const perma l 0.000E+00
|
||||
61 psetnames VCHA scalar max_number_sets const perma l
|
||||
62 eltsetnames VCHA scalar max_number_sets const perma l
|
||||
63 geom_name CHAR scalar max_number_sets const perma l -defaultge
|
||||
64 fsetnames VCHA scalar max_number_sets const perma l
|
||||
65 number_of_fsets INT scalar scalar const perma l 0.000E+00
|
||||
# Define parameters that will be used to create a mesh.
|
||||
# Values used will be the last written
|
||||
# Mesh domain 100x50x80
|
||||
define/XMIN/0.
|
||||
define/XMAX/100.
|
||||
define/YMIN/0.
|
||||
define/YMAX/50.
|
||||
define/ZMIN/0.
|
||||
define/ZMAX/80.
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define/NX/11
|
||||
define/NY/6
|
||||
define/NZ/9
|
||||
define/NZ/17
|
||||
# Create points and connect into a hex mesh
|
||||
createpts/brick/xyz/NX NY NZ/XMIN YMIN ZMIN/XMAX YMAX ZMAX/1,1,1
|
||||
Number of nodes: 1122
|
||||
Number of elements: 800
|
||||
Number of negative volume elements: 0
|
||||
Total volume: 0.400000000000E+06
|
||||
# Set materials for nodes (imt) and elements (itetlcr) to 1
|
||||
# This is good practice and avoids 0 values in these atttributes
|
||||
# Note 1,0,0 represents all for node start,stride,end
|
||||
cmo/setatt/3dmesh/imt/1,0,0/1
|
||||
1122 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/3dmesh/itetclr/1,0,0/1
|
||||
800 values reset for attribute itetclr
|
||||
|
||||
# Set node boundary flags in the itp attribute
|
||||
# This is good practice and can be called anytime to update this array
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
# View Mesh Object status, brief version
|
||||
cmo/status/3dmesh/brief
|
||||
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
# Report the min max values of the mesh attributes
|
||||
# keyword -all- or -xyz- can be used
|
||||
cmo/printatt/3dmesh/-xyz- minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 1122
|
||||
yic 0.000000000E+00 5.000000000E+01 5.000000000E+01 1122
|
||||
zic 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
|
||||
# Check mesh with quality command
|
||||
# There should be no negative or zero volumes
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 0
|
||||
elements with aspect ratio b/w .5 and 1. : 800
|
||||
min aspect ratio = 0.1000E+01 max aspect ratio = 0.1000E+01
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
All elements have volume 5.0000000E+02
|
||||
-----------------------------------------------------------
|
||||
800 total elements evaluated.
|
||||
|
||||
# Write an AVS format mesh file for viewing
|
||||
dump/avs/01_hex_mesh.inp/3dmesh
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
# END of command file
|
||||
finish
|
||||
LaGriT successfully completed
|
||||
3050
docs/pages/tutorial/lagrit_introduction/step_01/01_hex_mesh.inp
Normal file
BIN
docs/pages/tutorial/lagrit_introduction/step_01/01_hex_mesh.png
Normal file
|
After Width: | Height: | Size: 336 KiB |
|
After Width: | Height: | Size: 485 KiB |
21
docs/pages/tutorial/lagrit_introduction/step_01/lagrit.log
Normal file
@@ -0,0 +1,21 @@
|
||||
cmo/create/3dmesh///hex
|
||||
cmo/status/3dmesh
|
||||
define/XMIN/0.
|
||||
define/XMAX/100.
|
||||
define/YMIN/0.
|
||||
define/YMAX/50.
|
||||
define/ZMIN/0.
|
||||
define/ZMAX/80.
|
||||
define/NX/11
|
||||
define/NY/6
|
||||
define/NZ/9
|
||||
define/NZ/17
|
||||
createpts/brick/xyz/NX NY NZ/XMIN YMIN ZMIN/XMAX YMAX ZMAX/1,1,1
|
||||
cmo/setatt/3dmesh/imt/1,0,0/1
|
||||
cmo/setatt/3dmesh/itetclr/1,0,0/1
|
||||
resetpts/itp
|
||||
cmo/status/3dmesh/brief
|
||||
cmo/printatt/3dmesh/-xyz- minmax
|
||||
quality
|
||||
dump/avs/01_hex_mesh.inp/3dmesh
|
||||
finish
|
||||
306
docs/pages/tutorial/lagrit_introduction/step_02.md
Normal file
@@ -0,0 +1,306 @@
|
||||
---
|
||||
title: Tutorial LaGriT Introduction Step 02
|
||||
---
|
||||
|
||||
# Step 2. Create Tet Mesh from the Hex Mesh
|
||||
|
||||
<!-- Begin image -->
|
||||
<p><a href="step_02/02_hextotet.png"> <img width="500" src="step_02/02_hextotet.png"> </a></p>
|
||||
<!-- End image -->
|
||||
|
||||
#### LaGriT command file: [02_hex_to_tet.lgi](step_02/02_hex_to_tet.lgi.txt)
|
||||
#### LaGriT output file: [lagrit.out](step_02/02_hex_to_tet.out.txt)
|
||||
#### LaGriT all run files: [Folder step_02](https://github.com/lanl/LaGriT/tree/master/docs/pages/tutorial/lagrit_introduction/step_02)
|
||||
|
||||
|
||||
This example will use 2 methods for creating a tet mesh from a hex mesh.
|
||||
- Method 1 will use the mesh points to [**'connect'**](https://lanl.github.io/LaGriT/pages/docs/commands/CONNECT1.html) into a Delaunay tet mesh.
|
||||
- Method 2 will use [**'grid2grid'**](https://lanl.github.io/LaGriT/pages/docs/commands/GRID2GRID.html) to convert hex elements into tetrahedrals.
|
||||
|
||||
Use of **hextotet** (or **grid2grid**) to convert a 3D mesh to a tetrahedral mesh may result in a non-Delaunay tetrahedral mesh. If the target simulator is one that uses two-point flux approximation and Voronoi control volumes (FEHM, PFLOTRAN, TOUGH2) then the **connect** command should be used to create a Delaunay mesh.
|
||||
|
||||
|
||||
[Click here for Delaunay Definition](https://en.wikipedia.org/wiki/Delaunay_triangulation)
|
||||
|
||||
[Click here for Voronoi Definition](https://en.wikipedia.org/wiki/Voronoi_diagram)
|
||||
|
||||
[Click here for more details on the connect algorithm](https://lanl.github.io/LaGriT/pages/docs/connect_notes.html)
|
||||
|
||||
|
||||
|
||||
|
||||
# Method 1 using Connect Delaunay
|
||||
|
||||
The Delaunay algorithm is applied to a set of points. In this example we will use the nodes from the hex mesh in Step 1. The point distribution will impact the success of a connected tet mesh. A point distribution where spacing varies from very small to very large can result in high aspect ratios and boundary problems. This hex mesh provides structured regular spacing and is topologically consistent and will result in a successful Delaunay connection.
|
||||
|
||||
|
||||
## Create the Hex Mesh from Step 1
|
||||
|
||||
|
||||
The **'infile'** command is used to read and run a LaGriT command file. In this case we read and run the same command file that was used to create a hex mesh in Step 1.
|
||||
Use the **'cmo/status'** commands to confirm the mesh object named "3dmesh" was created.
|
||||
|
||||
```
|
||||
infile 01_create_hex.lgi
|
||||
cmo/status/ 3dmesh / brief
|
||||
```
|
||||
|
||||
The status report should indicate the current mesh object is a hex mesh with 1122 nodes and 800 hex elements.
|
||||
<pre class="lg-output">
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
</pre>
|
||||
|
||||
|
||||
## Create a new mesh object with points to connect
|
||||
|
||||
The [**'connect'**](https://lanl.github.io/LaGriT/pages/docs/commands/CONNECT1.html) command will create connectivity from a cloud of points. There should be no duplicate points, and the **imt** material should be a single value.
|
||||
|
||||
Copy the hex points into a new mesh object, this removed the connectivity so new elements can be created.
|
||||
```
|
||||
cmo / create / mo_tet
|
||||
copypts / mo_tet / 3dmesh
|
||||
```
|
||||
|
||||
We now have multiple mesh objects that can be listed. Use **cmo/select** command to make "mo_tet" mesh object current for the next commands.
|
||||
Note the **cmo/status** command shows there are no elements in this mesh object. The "brief" option will show the mesh object summary without the long list of associated attributes.
|
||||
|
||||
```
|
||||
cmo / list
|
||||
cmo/ select / mo_tet
|
||||
cmo/ status / mo_tet / brief
|
||||
```
|
||||
<pre class="lg-output">
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
0 Mesh Object name: -default-
|
||||
1 Mesh Object name: 3dmesh
|
||||
2 Mesh Object name: mo_tet
|
||||
cmo/select/mo_tet
|
||||
cmo/status/mo_tet/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
2 Mesh Object name: mo_tet
|
||||
number of nodes = 1122 number of elements = 0
|
||||
dimensions geometry = 3 element type = tet
|
||||
dimensions topology = 3 4 nodes 4 faces 6 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
</pre>
|
||||
|
||||
Prepare the points by removing duplicates and setting imt to a single value and boundary tags to 0. The **filter** command will mark duplicate points as "dudded" points; the **rmpoint/compress** command will remove the dudded nodes from the mesh object. These commands will not make any changes if there are no duplicate points.
|
||||
|
||||
*Note: the special token ";" can be used to call multiple commands on the same line.*
|
||||
|
||||
```
|
||||
# Remove duplicate points if they exist
|
||||
filter/1,0,0 ; rmpoint/compress
|
||||
|
||||
# Set some defaults for the connect routine
|
||||
cmo / setatt / mo_tet / imt / 1 0 0 / 1
|
||||
cmo / setatt / mo_tet / itp / 1 0 0 / 0
|
||||
|
||||
# Create Delaunay tet connectivity of all nodes in the mesh
|
||||
connect
|
||||
|
||||
```
|
||||
|
||||
The result of the **connect** command should show success.
|
||||
<pre class="lg-output">
|
||||
Coordinates of enclosing tetrahedron are:
|
||||
-0.20000D+03 -0.37500D+02 -0.60000D+02
|
||||
0.50000D+02 -0.37500D+02 0.34000D+03
|
||||
0.30000D+03 -0.37500D+02 -0.60000D+02
|
||||
0.50000D+02 0.21250D+03 0.40000D+02
|
||||
|
||||
Successfully eliminated all multimaterial connections.
|
||||
|
||||
The mesh is now complete!
|
||||
</pre>
|
||||
|
||||
|
||||
It is good practice to check the results to make sure there are no zero or negative volume elements with the **quality** command.
|
||||
```
|
||||
quality
|
||||
```
|
||||
|
||||
<pre class="lg-output">
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 926
|
||||
elements with aspect ratio b/w .5 and 1. : 3874
|
||||
min aspect ratio = 0.4483E+00 max aspect ratio = 0.6202E+00
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
All elements have volume 8.3333333E+01
|
||||
-----------------------------------------------------------
|
||||
4800 total elements evaluated.
|
||||
|
||||
</pre>
|
||||
|
||||
Set the tet materials to 1 and update the **itp** array.
|
||||
|
||||
```
|
||||
cmo / setatt / mo_tet / itetclr / 1
|
||||
resetpts / itp
|
||||
```
|
||||
|
||||
# Method 2 converts each hex into 5 tets
|
||||
|
||||
The [**'grid2grid'**](https://lanl.github.io/LaGriT/pages/docs/commands/GRID2GRID.html) is a wrapper that simplifies many of the grid-to-grid conversions. In this case we will use the option that converts each hex element into 5 tets (with no points added). This command requires the creation of a new mesh object, the new name is given first, with the source mesh object name at the end.
|
||||
|
||||
```
|
||||
grid2grid / hextotet5 / mo_hex2tet / 3dmesh
|
||||
```
|
||||
|
||||
Check the list of mesh objects, the new "mo_hex2tet" mesh object should now be current as the newly created object.
|
||||
Check for positive volumes and set mesh default values.
|
||||
|
||||
```
|
||||
cmo / list
|
||||
quality
|
||||
cmo / setatt / mo_hex2tet / itetclr / 1
|
||||
resetpts / itp
|
||||
```
|
||||
|
||||
There are now 3 mesh objects. "3dmesh" is the hex mesh created at start of this run. "mo_tet" was created with the **connect** command. "mo_hex2tet" was created by the **grid2grid/hextotet5** command.
|
||||
Note the **quality** command is evaluating the current mesh object, "cmo_hex2tet".
|
||||
|
||||
<pre class="lg-output">
|
||||
The current-mesh-object(CMO) is: mo_hex2tet
|
||||
|
||||
0 Mesh Object name: -default-
|
||||
1 Mesh Object name: 3dmesh
|
||||
2 Mesh Object name: mo_tet
|
||||
3 Mesh Object name: mo_hex2tet
|
||||
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 0
|
||||
elements with aspect ratio b/w .5 and 1. : 4000
|
||||
min aspect ratio = 0.6202E+00 max aspect ratio = 0.8165E+00
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
element volumes b/w 0.8333E+02 and 0.9572E+02: 3200
|
||||
element volumes b/w 0.9572E+02 and 0.1100E+03: 0
|
||||
element volumes b/w 0.1100E+03 and 0.1263E+03: 0
|
||||
element volumes b/w 0.1263E+03 and 0.1451E+03: 0
|
||||
element volumes b/w 0.1451E+03 and 0.1667E+03: 800
|
||||
min volume = 8.3333333E+01 max volume = 1.6666667E+02
|
||||
-----------------------------------------------------------
|
||||
4000 total elements evaluated.
|
||||
|
||||
</pre>
|
||||
|
||||
Now we have two tet meshes, one created with **connect** and the other with **grid2grid**. In general, we use the connect algorithm to create Delaunay meshes using Voronoi control volumes (FEHM, PFLOTRAN, TOUGH2). Converting hex elements into tet elements will not be Delaunay and may affect results depending on the physics used.
|
||||
|
||||
For viewing these new meshes, we can add node and element attributes. With the following commands we add values for each tet volume and for the voronoi volume around each mesh node.
|
||||
See a list of attributes that can be created at [**`cmo/addatt`**](https://lanl.github.io/LaGriT/pages/docs/commands/cmo/cmo_addatt.html)
|
||||
|
||||
|
||||
```
|
||||
cmo/addatt / mo_tet / volume / tet_vol
|
||||
cmo/addatt / mo_tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/addatt / mo_hex2tet / volume / tet_vol
|
||||
cmo/addatt / mo_hex2tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/printatt/ mo_tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_tet / vor_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / vor_vol / minmax
|
||||
|
||||
dump/avs/02_tet_connect.inp/mo_tet
|
||||
dump/avs/02_hex2tet5.inp/mo_hex2tet
|
||||
```
|
||||
|
||||
We can use the **cmo/printatt** command to view the minmax values of the attributes in named mesh objects.
|
||||
|
||||
```
|
||||
cmo/printatt/ mo_tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_tet / vor_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / vor_vol / minmax
|
||||
```
|
||||
|
||||
The connect mesh and the hextotet mesh have the same 1122 number of nodes. But the connectivity created 4800 tet elements with connect and 4000 for hextotet mesh. Notice the tet element minmax volumes have different results, the connected mesh has volumes all equal. For this structured point distribution, the voronoi volumes for each node have the same min max range.
|
||||
|
||||
<pre class="lg-output">
|
||||
cmo/printatt/mo_tet/tet_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
tet_vol 8.333333333E+01 8.333333333E+01 0.000000000E+00 4800
|
||||
|
||||
cmo/printatt/mo_tet/vor_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
vor_vol 6.250000000E+01 5.000000000E+02 4.375000000E+02 1122
|
||||
|
||||
cmo/printatt/mo_hex2tet/tet_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
tet_vol 8.333333333E+01 1.666666667E+02 8.333333333E+01 4000
|
||||
|
||||
cmo/printatt/mo_hex2tet/vor_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
vor_vol 6.250000000E+01 5.000000000E+02 4.375000000E+02 1122
|
||||
</pre>
|
||||
|
||||
|
||||
# Viewing the Tet Meshes
|
||||
|
||||
The following images were created by using Paraview reading the AVS mesh files. Click to see full resolution images.
|
||||
|
||||
Paraview images show tet elements colored by element volumes of connected Delaunay mesh (left) and grid2grid (right). The grid2grid view is clipped to see the internal tet elements that are larger than the tets formed at the hex corners.
|
||||
|
||||
<!-- Begin image -->
|
||||
<p><a href="step_02/02_connect_vol_clipped.png"> <img width="400" src="step_02/02_connect_vol_clipped.png"> </a>
|
||||
<a href="step_02/02_hex2tet_vol_clipped.png"> <img width="400" src="step_02/02_hex2tet_vol_clipped.png"> </a>
|
||||
</p>
|
||||
|
||||
Paraview images show the mesh colored by node voronoi volumes. The boundary nodes will have half volumes, the corner nodes will have quarter volumes. Internal voronoi volumes are all the same. Image is clipped to show internal mesh nodes. Both meshes have the same voronoi volumes.
|
||||
|
||||
<!-- Begin image -->
|
||||
<p><a href="step_02/02_connect_vorvol_clipped.png"> <img width="400" src="step_02/02_connect_vorvol_clipped.png"> </a>
|
||||
<a href="step_02/02_hex2tet_vorvol_clipped.png"> <img width="400" src="step_02/02_hex2tet_vorvol_clipped.png"> </a>
|
||||
</p>
|
||||
<!-- End image -->
|
||||
|
||||
This is a snapshot showing the Paraview settings for the clipped mesh. The full 02_hex2tet5.inp mesh displayed with red wire frame. The mesh is clipped -10, and threshold is used to display tet volumes over 116.
|
||||
|
||||
<p><a href="step_02/02_hex2tet_vol_clipped_para.png"> <img width="400" src="step_02/02_hex2tet_vol_clipped_para.png"> </a>
|
||||
</p>
|
||||
|
||||
## finish
|
||||
|
||||
Always end a session or a file with the **finish** command and a line return after the finish command. The command line parser will not parse a command without a line return.
|
||||
|
||||
```
|
||||
finish
|
||||
|
||||
```
|
||||
|
||||
#### [LaGriT Introduction Index](index.html)
|
||||
#### [Step 1. Create a Hex Mesh](step_01.html)
|
||||
#### [Step 2. Convert Hex Mesh to Tet Mesh](step_02.html)
|
||||
#### [Step 3. Assign materials to the Mesh](step_03.html)
|
||||
#### [Step 4. Write Mesh and FEHM Setup Files](step_04.html)
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 1. Build a Hex Mesh
|
||||
|
||||
# Create an empty hex mesh object called 3dmesh
|
||||
cmo / create / 3dmesh / / / hex
|
||||
|
||||
# View the mesh object attributes
|
||||
cmo / status / 3dmesh
|
||||
|
||||
# Define parameters that will be used to create a mesh.
|
||||
# Values used will be the last written
|
||||
|
||||
# Mesh domain 100x50x80
|
||||
define / XMIN / 0.
|
||||
define / XMAX / 100.
|
||||
define / YMIN / 0.
|
||||
define / YMAX / 50.
|
||||
define / ZMIN / 0.
|
||||
define / ZMAX / 80.
|
||||
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define / NX / 11
|
||||
define / NY / 6
|
||||
define / NZ / 9
|
||||
define / NZ / 17
|
||||
|
||||
# Create points and connect into a hex mesh
|
||||
createpts/brick/xyz/ NX NY NZ / XMIN YMIN ZMIN/ XMAX YMAX ZMAX / 1,1,1
|
||||
|
||||
# Set materials for nodes (imt) and elements (itetlcr) to 1
|
||||
# This is good practice and avoids 0 values in these atttributes
|
||||
# Note 1,0,0 represents all for node start,stride,end
|
||||
cmo / setatt / 3dmesh / imt / 1,0,0 / 1
|
||||
cmo / setatt / 3dmesh / itetclr / 1,0,0 / 1
|
||||
|
||||
# Set node boundary flags in the itp attribute
|
||||
# This is good practice and can be called anytime to update this array
|
||||
resetpts/itp
|
||||
|
||||
# View Mesh Object status, brief version
|
||||
cmo/status/ 3dmesh / brief
|
||||
|
||||
# Report the min max values of the mesh attributes
|
||||
# keyword -all- or -xyz- can be used
|
||||
cmo/printatt/3dmesh/ -xyz- minmax
|
||||
|
||||
# Check mesh with quality command
|
||||
# There should be no negative or zero volumes
|
||||
quality
|
||||
|
||||
# Write an AVS format mesh file for viewing
|
||||
dump/ avs / 01_hex_mesh.inp / 3dmesh
|
||||
|
||||
# END of command file
|
||||
finish
|
||||
3050
docs/pages/tutorial/lagrit_introduction/step_02/01_hex_mesh.inp
Normal file
|
After Width: | Height: | Size: 535 KiB |
|
After Width: | Height: | Size: 696 KiB |
10253
docs/pages/tutorial/lagrit_introduction/step_02/02_hex2tet5.inp
Normal file
|
After Width: | Height: | Size: 590 KiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 696 KiB |
@@ -0,0 +1,78 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 2. Convert Hex Mesh to Tet Mesh
|
||||
# Use commands connect and grid2grid
|
||||
|
||||
# Create hex mesh from Example 1
|
||||
infile 01_create_hex.lgi
|
||||
|
||||
# Check that mesh was created
|
||||
cmo/status/ 3dmesh / brief
|
||||
|
||||
# -----------------------------------------
|
||||
# Method using connect command
|
||||
|
||||
# Copy the hex points into a new mesh object
|
||||
cmo / create / mo_tet
|
||||
copypts / mo_tet / 3dmesh
|
||||
|
||||
# Make mo_tet the current mesh object for commands
|
||||
cmo /list
|
||||
cmo/ select / mo_tet
|
||||
cmo/ status / mo_tet /brief
|
||||
|
||||
# Mark duplicate points as dudded points
|
||||
# Remove dudded points from the mesh object
|
||||
# Nothing will happen if there are no duplicate points
|
||||
filter/1,0,0 ; rmpoint/compress
|
||||
|
||||
# Set some defaults for the connect routine
|
||||
cmo / setatt / mo_tet / imt / 1 0 0 / 1
|
||||
cmo / setatt / mo_tet / itp / 1 0 0 / 0
|
||||
|
||||
# Create Delaunay tet connectivity of all nodes in the mesh
|
||||
connect
|
||||
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo / setatt / mo_tet / itetclr / 1
|
||||
resetpts / itp
|
||||
|
||||
|
||||
# -----------------------------------------
|
||||
# Method using grid2grid command
|
||||
|
||||
|
||||
# Convert each hex into 5 tets
|
||||
grid2grid / hextotet5 / mo_hex2tet / 3dmesh
|
||||
|
||||
# The new mesh object should be current
|
||||
cmo / list
|
||||
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo / setatt / mo_hex2tet / itetclr / 1
|
||||
resetpts / itp
|
||||
|
||||
# -----------------------------------------
|
||||
# Add Attributes and write tet mesh files
|
||||
|
||||
cmo/addatt / mo_tet / volume / tet_vol
|
||||
cmo/addatt / mo_tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/addatt / mo_hex2tet / volume / tet_vol
|
||||
cmo/addatt / mo_hex2tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/printatt/ mo_tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_tet / vor_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / vor_vol / minmax
|
||||
|
||||
dump/avs/02_tet_connect.inp/mo_tet
|
||||
dump/avs/02_hex2tet5.inp/mo_hex2tet
|
||||
|
||||
# END of command file
|
||||
finish
|
||||
@@ -0,0 +1,78 @@
|
||||
# LaGriT Tutorial Example 2
|
||||
# Create tet mesh from hex mesh
|
||||
# Use commands connect and grid2grid
|
||||
|
||||
# Create hex mesh from Example 1
|
||||
infile 01_create_hex.lgi
|
||||
|
||||
# Check that mesh was created
|
||||
cmo/status/ 3dmesh / brief
|
||||
|
||||
# -----------------------------------------
|
||||
# Method using connect command
|
||||
|
||||
# Copy the hex points into a new mesh object
|
||||
cmo / create / mo_tet
|
||||
copypts / mo_tet / 3dmesh
|
||||
|
||||
# Make mo_tet the current mesh object for commands
|
||||
cmo /list
|
||||
cmo/ select / mo_tet
|
||||
cmo/ status / mo_tet /brief
|
||||
|
||||
# Mark duplicate points as dudded points
|
||||
# Remove dudded points from the mesh object
|
||||
# Nothing will happen if there are no duplicate points
|
||||
filter/1,0,0 ; rmpoint/compress
|
||||
|
||||
# Set some defaults for the connect routine
|
||||
cmo / setatt / mo_tet / imt / 1 0 0 / 1
|
||||
cmo / setatt / mo_tet / itp / 1 0 0 / 0
|
||||
|
||||
# Create Delaunay tet connectivity of all nodes in the mesh
|
||||
connect
|
||||
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo / setatt / mo_tet / itetclr / 1
|
||||
resetpts / itp
|
||||
|
||||
|
||||
# -----------------------------------------
|
||||
# Method using grid2grid command
|
||||
|
||||
|
||||
# Convert each hex into 5 tets
|
||||
grid2grid / hextotet5 / mo_hex2tet / 3dmesh
|
||||
|
||||
# The new mesh object should be current
|
||||
cmo / list
|
||||
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo / setatt / mo_hex2tet / itetclr / 1
|
||||
resetpts / itp
|
||||
|
||||
# -----------------------------------------
|
||||
# Add Attributes and write tet mesh files
|
||||
|
||||
cmo/addatt / mo_tet / volume / tet_vol
|
||||
cmo/addatt / mo_tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/addatt / mo_hex2tet / volume / tet_vol
|
||||
cmo/addatt / mo_hex2tet / voronoi_volume / vor_vol
|
||||
|
||||
cmo/printatt/ mo_tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_tet / vor_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / tet_vol / minmax
|
||||
cmo/printatt/ mo_hex2tet / vor_vol / minmax
|
||||
|
||||
dump/avs/02_tet_connect.inp/mo_tet
|
||||
dump/avs/02_hex2tet5.inp/mo_hex2tet
|
||||
|
||||
# END of command file
|
||||
finish
|
||||
@@ -0,0 +1,439 @@
|
||||
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * *
|
||||
* * Program: LaGriT V3.3.4 Linux *
|
||||
* * Compiler Name: GNU *
|
||||
* * Compiler Version: 9.4.0 *
|
||||
* * Date Compile: 2024/05/06 *
|
||||
* * Run Time: 2025/Jan 21 12:03:38 *
|
||||
* * Manual: https://lagrit.lanl.gov *
|
||||
* * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
-----oOo-----
|
||||
LaGriT V3 LA-CC-15-069 https://github.com/lanl/LaGriT
|
||||
Copyright 2016. Triad National Security, LLC. All rights reserved. This
|
||||
program was produced under U.S. Government contract 89233218CNA000001
|
||||
for Los Alamos National Laboratory (LANL), which is operated by Triad
|
||||
National Security, LLC for the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. All rights in the program are reserved by Triad
|
||||
National Security, LLC, and the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. The Government is granted for itself and others
|
||||
acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license
|
||||
in this material to reproduce, prepare derivative works, distribute copies
|
||||
to the public, perform publicly and display publicly, and to permit others to
|
||||
do so. This software is open source and available under the BSD-3 License.
|
||||
-----oOo-----
|
||||
|
||||
|
||||
Output log file: lagrit.out
|
||||
Command log file: lagrit.log
|
||||
|
||||
# LaGriT Tutorial Example 2
|
||||
# Create tet mesh from hex mesh
|
||||
# Use commands connect and grid2grid
|
||||
# Create hex mesh from Example 1
|
||||
infile 01_create_hex.lgi
|
||||
# Tutorial Example 1
|
||||
#
|
||||
# Create an empty hex mesh object called 3dmesh
|
||||
cmo/create/3dmesh///hex
|
||||
# View the mesh object attributes
|
||||
cmo/status/3dmesh
|
||||
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 0 number of elements = 0
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
NAME TYPE RANK LENGTH INTER PERSI IO VALUE
|
||||
|
||||
1 -def- VDOU scalar nnodes linea tempo agl 0.000E+00
|
||||
2 scalar INT scalar scalar const perma l 1.000E+00
|
||||
3 vector INT scalar scalar const perma l 3.000E+00
|
||||
4 nnodes INT scalar scalar const perma l 0.000E+00
|
||||
5 nedges INT scalar scalar const perma l 0.000E+00
|
||||
6 nfaces INT scalar scalar const perma l 0.000E+00
|
||||
7 nelements INT scalar scalar const perma l 0.000E+00
|
||||
8 mbndry INT scalar scalar const perma l 1.600E+07
|
||||
9 ndimensions_top INT scalar scalar const perma l 3.000E+00
|
||||
10 ndimensions_geo INT scalar scalar const perma l 3.000E+00
|
||||
11 nodes_per_eleme INT scalar scalar const perma l 8.000E+00
|
||||
12 edges_per_eleme INT scalar scalar const perma l 1.200E+01
|
||||
13 faces_per_eleme INT scalar scalar const perma l 6.000E+00
|
||||
14 isetwd VDOU scalar nnodes or perma l 0.000E+00
|
||||
15 ialias VINT scalar nnodes seque perma l 0.000E+00
|
||||
16 imt1 VINT scalar nnodes max perma gal 0.000E+00
|
||||
17 itp1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
18 icr1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
19 isn1 VINT scalar nnodes user perma gal 0.000E+00
|
||||
20 xic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
21 yic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
22 zic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
23 xtetwd VDOU scalar nelements or perma l 0.000E+00
|
||||
24 itetclr VINT scalar nelements user perma l 0.000E+00
|
||||
25 itettyp VINT scalar nelements user perma l 0.000E+00
|
||||
26 itetoff VINT scalar nelements user perma l 0.000E+00
|
||||
27 jtetoff VINT scalar nelements user perma l 0.000E+00
|
||||
28 itet VINT nodes_per_ nelements user perma l 0.000E+00
|
||||
29 jtet VINT faces_per_ nelements user perma l 0.000E+00
|
||||
30 ipolydat CHAR scalar scalar const perma l no
|
||||
31 vor2d CHAR scalar scalar const perma l yes
|
||||
32 vor3d CHAR scalar scalar const perma l no
|
||||
33 epsilon REAL scalar scalar const perma l 1.000E-15
|
||||
34 epsilonl REAL scalar scalar const perma l 1.000E-08
|
||||
35 epsilona REAL scalar scalar const perma l 1.000E-08
|
||||
36 epsilonv REAL scalar scalar const perma l 1.000E-08
|
||||
37 ipointi INT scalar scalar const perma l 0.000E+00
|
||||
38 ipointj INT scalar scalar const perma l 0.000E+00
|
||||
39 idebug INT scalar scalar const perma l 0.000E+00
|
||||
40 itypconv_sm INT scalar scalar const perma l 1.000E+00
|
||||
41 maxiter_sm INT scalar scalar const perma l 2.500E+01
|
||||
42 tolconv_sm REAL scalar scalar const perma l 1.000E+00
|
||||
43 nnfreq INT scalar scalar const perma l 1.000E+00
|
||||
44 ivoronoi INT scalar scalar const perma l 1.000E+00
|
||||
45 iopt2to2 INT scalar scalar const perma l 2.000E+00
|
||||
46 dumptype CHAR scalar scalar const perma l binary
|
||||
47 velname CHAR scalar scalar const perma l vels
|
||||
48 densname CHAR scalar scalar const perma l ric
|
||||
49 presname CHAR scalar scalar const perma l pic
|
||||
50 enername CHAR scalar scalar const perma l eic
|
||||
51 xmin REAL scalar scalar const perma l -1.000E+00
|
||||
52 ymin REAL scalar scalar const perma l -1.000E+00
|
||||
53 zmin REAL scalar scalar const perma l -1.000E+00
|
||||
54 xmax REAL scalar scalar const perma l 1.000E+00
|
||||
55 ymax REAL scalar scalar const perma l 1.000E+00
|
||||
56 zmax REAL scalar scalar const perma l 1.000E+00
|
||||
57 kdtree_level INT scalar scalar const perma l 0.000E+00
|
||||
58 max_number_sets INT scalar scalar const perma l 6.400E+01
|
||||
59 number_of_psets INT scalar scalar const perma l 0.000E+00
|
||||
60 number_of_eltse INT scalar scalar const perma l 0.000E+00
|
||||
61 psetnames VCHA scalar max_number_sets const perma l
|
||||
62 eltsetnames VCHA scalar max_number_sets const perma l
|
||||
63 geom_name CHAR scalar max_number_sets const perma l -defaultge
|
||||
64 fsetnames VCHA scalar max_number_sets const perma l
|
||||
65 number_of_fsets INT scalar scalar const perma l 0.000E+00
|
||||
# Define parameters that will be used to create a mesh.
|
||||
# Values used will be the last written
|
||||
# Mesh domain 100x50x80
|
||||
define/XMIN/0.
|
||||
define/XMAX/100.
|
||||
define/YMIN/0.
|
||||
define/YMAX/50.
|
||||
define/ZMIN/0.
|
||||
define/ZMAX/80.
|
||||
# Set the number of points along each axis
|
||||
# Spacing of 10 will have 11 points for length 100
|
||||
define/NX/11
|
||||
define/NY/6
|
||||
define/NZ/9
|
||||
define/NZ/17
|
||||
# Create points and connect into a hex mesh
|
||||
createpts/brick/xyz/NX NY NZ/XMIN YMIN ZMIN/XMAX YMAX ZMAX/1,1,1
|
||||
Number of nodes: 1122
|
||||
Number of elements: 800
|
||||
Number of negative volume elements: 0
|
||||
Total volume: 0.400000000000E+06
|
||||
# Set materials for nodes (imt) and elements (itetlcr) to 1
|
||||
# This is good practice and avoids 0 values in these atttributes
|
||||
# Note 1,0,0 represents all for node start,stride,end
|
||||
cmo/setatt/3dmesh/imt/1,0,0/1
|
||||
1122 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/3dmesh/itetclr/1,0,0/1
|
||||
800 values reset for attribute itetclr
|
||||
|
||||
# Set node boundary flags in the itp attribute
|
||||
# This is good practice and can be called anytime to update this array
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
# View Mesh Object status, brief version
|
||||
cmo/status/3dmesh/brief
|
||||
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
# Report the min max values of the mesh attributes
|
||||
# keyword -all- or -xyz- can be used
|
||||
cmo/printatt/3dmesh/-xyz- minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 1122
|
||||
yic 0.000000000E+00 5.000000000E+01 5.000000000E+01 1122
|
||||
zic 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
|
||||
# Check mesh with quality command
|
||||
# There should be no negative or zero volumes
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 0
|
||||
elements with aspect ratio b/w .5 and 1. : 800
|
||||
min aspect ratio = 0.1000E+01 max aspect ratio = 0.1000E+01
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
All elements have volume 5.0000000E+02
|
||||
-----------------------------------------------------------
|
||||
800 total elements evaluated.
|
||||
|
||||
# Write an AVS format mesh file for viewing
|
||||
dump/avs/01_hex_mesh.inp/3dmesh
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
# END of command file
|
||||
finish
|
||||
# Check that mesh was created
|
||||
cmo/status/3dmesh/brief
|
||||
|
||||
The current-mesh-object(CMO) is: 3dmesh
|
||||
|
||||
1 Mesh Object name: 3dmesh
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
# -----------------------------------------
|
||||
# Method using connect command
|
||||
# Copy the hex points into a new mesh object
|
||||
cmo/create/mo_tet
|
||||
copypts/mo_tet/3dmesh
|
||||
copypts added nodes 1 to 1122
|
||||
# Make mo_tet the current mesh object for commands
|
||||
cmo/list
|
||||
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
0 Mesh Object name: -default-
|
||||
1 Mesh Object name: 3dmesh
|
||||
2 Mesh Object name: mo_tet
|
||||
cmo/select/mo_tet
|
||||
cmo/status/mo_tet/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
2 Mesh Object name: mo_tet
|
||||
number of nodes = 1122 number of elements = 0
|
||||
dimensions geometry = 3 element type = tet
|
||||
dimensions topology = 3 4 nodes 4 faces 6 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
# Mark duplicate points as dudded points
|
||||
# Remove dudded points from the mesh object
|
||||
# Nothing will happen if there are no duplicate points
|
||||
filter/1,0,0
|
||||
FILTER:Use internal epsilonl value = 0.305260862918E-10
|
||||
FILTER:Dudding duplicate points: 0
|
||||
rmpoint/compress
|
||||
0 points removed and 0 elements removed.
|
||||
RMPOINT: new point count is 1122
|
||||
RMPOINT: new element count is 0
|
||||
# Set some defaults for the connect routine
|
||||
cmo/setatt/mo_tet/imt/1 0 0/1
|
||||
Warning: nelements = 0
|
||||
1122 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/mo_tet/itp/1 0 0/0
|
||||
Warning: nelements = 0
|
||||
1122 values reset for attribute itp1
|
||||
|
||||
# Create Delaunay tet connectivity of all nodes in the mesh
|
||||
connect
|
||||
Coordinates of enclosing tetrahedron are:
|
||||
-0.20000D+03 -0.37500D+02 -0.60000D+02
|
||||
0.50000D+02 -0.37500D+02 0.34000D+03
|
||||
0.30000D+03 -0.37500D+02 -0.60000D+02
|
||||
0.50000D+02 0.21250D+03 0.40000D+02
|
||||
|
||||
Successfully eliminated all multimaterial connections.
|
||||
|
||||
The mesh is now complete!
|
||||
|
||||
LaGriT FINISH: connect
|
||||
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 926
|
||||
elements with aspect ratio b/w .5 and 1. : 3874
|
||||
min aspect ratio = 0.4483E+00 max aspect ratio = 0.6202E+00
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
All elements have volume 8.3333333E+01
|
||||
-----------------------------------------------------------
|
||||
4800 total elements evaluated.
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo/setatt/mo_tet/itetclr/1
|
||||
4800 values reset for attribute itetclr
|
||||
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
# -----------------------------------------
|
||||
# Method using grid2grid command
|
||||
# Convert each hex into 5 tets
|
||||
grid2grid/hextotet5/mo_hex2tet/3dmesh
|
||||
hextotet/5/mo_hex2tet/3dmesh
|
||||
iremove_vol= 0 iremove_dup= 0 icheckpt= 1
|
||||
Input Mesh type hex using option 5
|
||||
Element Material ID, min/max/range: 1 1 0
|
||||
Epsilon-dist, distmax, distmin: -1.0000000E-05 1.0000000E+02 2.5000000E+01
|
||||
Epsilon-volume, volmax: 5.0000000E-04 5.0000000E+02
|
||||
cmo/addatt/mo_hex2tet/iign/vint/scalar/nnodes/-def-/-def-/gx/-def-
|
||||
finish
|
||||
WARNING: Volumes le zero not removed, nelements= 4000
|
||||
No duplicate points
|
||||
WARNING: Duplicate points not removed, nnodes = 1122
|
||||
finish
|
||||
# The new mesh object should be current
|
||||
cmo/list
|
||||
|
||||
|
||||
The current-mesh-object(CMO) is: mo_hex2tet
|
||||
|
||||
0 Mesh Object name: -default-
|
||||
1 Mesh Object name: 3dmesh
|
||||
2 Mesh Object name: mo_tet
|
||||
3 Mesh Object name: mo_hex2tet
|
||||
# Check for 0 or negative elements
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 0
|
||||
elements with aspect ratio b/w .5 and 1. : 4000
|
||||
min aspect ratio = 0.6202E+00 max aspect ratio = 0.8165E+00
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
element volumes b/w 0.8333E+02 and 0.9572E+02: 3200
|
||||
element volumes b/w 0.9572E+02 and 0.1100E+03: 0
|
||||
element volumes b/w 0.1100E+03 and 0.1263E+03: 0
|
||||
element volumes b/w 0.1263E+03 and 0.1451E+03: 0
|
||||
element volumes b/w 0.1451E+03 and 0.1667E+03: 800
|
||||
min volume = 8.3333333E+01 max volume = 1.6666667E+02
|
||||
-----------------------------------------------------------
|
||||
4000 total elements evaluated.
|
||||
|
||||
# set default materials and boundary tags
|
||||
cmo/setatt/mo_hex2tet/itetclr/1
|
||||
4000 values reset for attribute itetclr
|
||||
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
# -----------------------------------------
|
||||
# Add Attributes and write tet mesh files
|
||||
cmo/addatt/mo_tet/volume/tet_vol
|
||||
ADDATT/volume: creating new attribute: tet_vol
|
||||
cmo/addatt/mo_tet/voronoi_volume/vor_vol
|
||||
ADDATT/voronoi_volume: creating new attribute: vor_vol
|
||||
|
||||
AMatbld3d_stor: Matrix compress_eps: 0.1000000E-07
|
||||
AMatbld3d_stor: Local epsilon: 0.1000000E-14
|
||||
AMatbld3d_stor: *****Zero Negative Coefficients ******
|
||||
AMatbld3d_stor: Number of 'zero' (< compress_eps) coefs 0
|
||||
AMatbld3d_stor: npoints = 1122 ncoefs = 7144
|
||||
AMatbld3d_stor: Number of unique coefs = 4133
|
||||
AMatbld3d_stor: Maximum num. connections to a node = 7
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
AMatbld3d_stor: Total Volume: 4.0000000E+05
|
||||
AMatbld3d_stor: abs(Aij/xij) min = 0.0000000E+00
|
||||
AMatbld3d_stor: abs(Aij/xij) max = 2.0000000E+01
|
||||
AMatbld3d_stor: (Aij/xij) max = 0.0000000E+00
|
||||
AMatbld3d_stor: (Aij/xij) min = -2.0000000E+01
|
||||
AMatbld3d_stor Matrix coefficient values stored as scalar area/distance
|
||||
AMatbld3d_stor Matrix compression used for graph, not coefficient values
|
||||
mo_tet attribute with voronoi volumes created with name vor_vol
|
||||
|
||||
*** SPARSE COEFFICIENT MATRIX _gstor SUCCESSFUL ***
|
||||
|
||||
3D Matrix Coefficient file written with name -notset-
|
||||
|
||||
cmo/addatt/mo_hex2tet/volume/tet_vol
|
||||
ADDATT/volume: creating new attribute: tet_vol
|
||||
cmo/addatt/mo_hex2tet/voronoi_volume/vor_vol
|
||||
ADDATT/voronoi_volume: creating new attribute: vor_vol
|
||||
|
||||
AMatbld3d_stor: Matrix compress_eps: 0.1000000E-07
|
||||
AMatbld3d_stor: Local epsilon: 0.1000000E-14
|
||||
AMatbld3d_stor: *****Zero Negative Coefficients ******
|
||||
AMatbld3d_stor: Number of 'zero' (< compress_eps) coefs 0
|
||||
AMatbld3d_stor: npoints = 1122 ncoefs = 7144
|
||||
AMatbld3d_stor: Number of unique coefs = 4133
|
||||
AMatbld3d_stor: Maximum num. connections to a node = 7
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
AMatbld3d_stor: Total Volume: 4.0000000E+05
|
||||
AMatbld3d_stor: abs(Aij/xij) min = 0.0000000E+00
|
||||
AMatbld3d_stor: abs(Aij/xij) max = 2.0000000E+01
|
||||
AMatbld3d_stor: (Aij/xij) max = 0.0000000E+00
|
||||
AMatbld3d_stor: (Aij/xij) min = -2.0000000E+01
|
||||
AMatbld3d_stor Matrix coefficient values stored as scalar area/distance
|
||||
AMatbld3d_stor Matrix compression used for graph, not coefficient values
|
||||
mo_hex2tet attribute with voronoi volumes created with name vor_vol
|
||||
|
||||
*** SPARSE COEFFICIENT MATRIX _gstor SUCCESSFUL ***
|
||||
|
||||
3D Matrix Coefficient file written with name -notset-
|
||||
|
||||
cmo/printatt/mo_tet/tet_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
tet_vol 8.333333333E+01 8.333333333E+01 0.000000000E+00 4800
|
||||
|
||||
cmo/printatt/mo_tet/vor_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
vor_vol 6.250000000E+01 5.000000000E+02 4.375000000E+02 1122
|
||||
|
||||
cmo/printatt/mo_hex2tet/tet_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
tet_vol 8.333333333E+01 1.666666667E+02 8.333333333E+01 4000
|
||||
|
||||
cmo/printatt/mo_hex2tet/vor_vol/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
vor_vol 6.250000000E+01 5.000000000E+02 4.375000000E+02 1122
|
||||
|
||||
dump/avs/02_tet_connect.inp/mo_tet
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
dump/avs/02_hex2tet5.inp/mo_hex2tet
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
# END of command file
|
||||
finish
|
||||
LaGriT successfully completed
|
||||
BIN
docs/pages/tutorial/lagrit_introduction/step_02/02_hextotet.png
Normal file
|
After Width: | Height: | Size: 654 KiB |
11853
docs/pages/tutorial/lagrit_introduction/step_02/02_tet_connect.inp
Normal file
7050
docs/pages/tutorial/lagrit_introduction/step_02/02_tet_mesh.inp
Normal file
52
docs/pages/tutorial/lagrit_introduction/step_02/lagrit.log
Normal file
@@ -0,0 +1,52 @@
|
||||
infile 01_create_hex.lgi
|
||||
cmo/create/3dmesh///hex
|
||||
cmo/status/3dmesh
|
||||
define/XMIN/0.
|
||||
define/XMAX/100.
|
||||
define/YMIN/0.
|
||||
define/YMAX/50.
|
||||
define/ZMIN/0.
|
||||
define/ZMAX/80.
|
||||
define/NX/11
|
||||
define/NY/6
|
||||
define/NZ/9
|
||||
define/NZ/17
|
||||
createpts/brick/xyz/NX NY NZ/XMIN YMIN ZMIN/XMAX YMAX ZMAX/1,1,1
|
||||
cmo/setatt/3dmesh/imt/1,0,0/1
|
||||
cmo/setatt/3dmesh/itetclr/1,0,0/1
|
||||
resetpts/itp
|
||||
cmo/status/3dmesh/brief
|
||||
cmo/printatt/3dmesh/-xyz- minmax
|
||||
quality
|
||||
dump/avs/01_hex_mesh.inp/3dmesh
|
||||
finish
|
||||
cmo/status/3dmesh/brief
|
||||
cmo/create/mo_tet
|
||||
copypts/mo_tet/3dmesh
|
||||
cmo/list
|
||||
cmo/select/mo_tet
|
||||
cmo/status/mo_tet/brief
|
||||
filter/1,0,0
|
||||
rmpoint/compress
|
||||
cmo/setatt/mo_tet/imt/1 0 0/1
|
||||
cmo/setatt/mo_tet/itp/1 0 0/0
|
||||
connect
|
||||
quality
|
||||
cmo/setatt/mo_tet/itetclr/1
|
||||
resetpts/itp
|
||||
grid2grid/hextotet5/mo_hex2tet/3dmesh
|
||||
cmo/list
|
||||
quality
|
||||
cmo/setatt/mo_hex2tet/itetclr/1
|
||||
resetpts/itp
|
||||
cmo/addatt/mo_tet/volume/tet_vol
|
||||
cmo/addatt/mo_tet/voronoi_volume/vor_vol
|
||||
cmo/addatt/mo_hex2tet/volume/tet_vol
|
||||
cmo/addatt/mo_hex2tet/voronoi_volume/vor_vol
|
||||
cmo/printatt/mo_tet/tet_vol/minmax
|
||||
cmo/printatt/mo_tet/vor_vol/minmax
|
||||
cmo/printatt/mo_hex2tet/tet_vol/minmax
|
||||
cmo/printatt/mo_hex2tet/vor_vol/minmax
|
||||
dump/avs/02_tet_connect.inp/mo_tet
|
||||
dump/avs/02_hex2tet5.inp/mo_hex2tet
|
||||
finish
|
||||
372
docs/pages/tutorial/lagrit_introduction/step_03.md
Executable file
@@ -0,0 +1,372 @@
|
||||
---
|
||||
title: Tutorial LaGriT Introduction Step 03
|
||||
---
|
||||
|
||||
# Step 3. Assign Materials to Hex Mesh and Tet Mesh
|
||||
|
||||
<p>
|
||||
<a href="step_03/step_03_3_meshes.png"> <img width="600" src="step_03/step_03_3_meshes.png" /> </a>
|
||||
</p>
|
||||
<br>
|
||||
<!-- End image -->
|
||||
|
||||
|
||||
#### LaGriT command file: [03_assign_materials.lgi](step_03/03_assign_materials.lgi.txt)
|
||||
#### LaGriT output file: [lagrit.out](step_03/03_assign_materials.out.txt)
|
||||
#### LaGriT all run files: [Folder step_03](https://github.com/lanl/LaGriT/tree/master/docs/pages/tutorial/lagrit_introduction/step_03)
|
||||
|
||||
This example will show how to use some basic commands to assign materials to mesh nodes and elements. Interpolation of materials from the hex mesh to the tet mesh is used to ensure block shaped interfaces.
|
||||
|
||||
|
||||
Methods include:
|
||||
|
||||
- Set selections using [**`pset`**](https://lanl.github.io/LaGriT/pages/docs/commands/PSET.html) for mesh points and [**`eltset`**](https://lanl.github.io/LaGriT/pages/docs/commands/ELTSET2.html).
|
||||
- Regions defined by surfaces using [**`surface`**](https://lanl.github.io/LaGriT/pages/docs/commands/SURFACE.html) and [**`region`**](https://lanl.github.io/LaGriT/pages/docs/commands/REGION.html)
|
||||
- Interpolation from hex materials to tet mesh materials using [**`interpolate`**](https://lanl.github.io/LaGriT/pages/docs/commands/main_interpolate.html)
|
||||
- Use LaGriT commands to report material node and element counts for the final mesh
|
||||
|
||||
|
||||
## Define Mesh Names
|
||||
|
||||
In this example we assign materials (color) to the hex mesh, then interpolate hex mesh materials to the tet mesh. This method ensures nice interfaces between materials. If the tet mesh is colored with following methods, the tet interfaces will be ragged, with tet elements sticking out.
|
||||
|
||||
Define input and output file names for easy switch between mesh types. As seen here, the second set of file names are last defined and will be used. If you want to see how it looks to use the tet mesh, simply copy and paste the first 2 lines after the hex file names.
|
||||
|
||||
Results are shown in image at top of page. Image a. This example hex_colors.inp b. Run with tet_colors.inp c. This example using interpolation for tet_colors.inp
|
||||
|
||||
```
|
||||
define IN_FILE 02_tet_mesh.inp
|
||||
define OUT_FILE tet_colors.inp
|
||||
|
||||
define IN_FILE 01_hex_mesh.inp
|
||||
define OUT_FILE hex_colors.inp
|
||||
```
|
||||
|
||||
## Read the Hex Mesh
|
||||
|
||||
We start with the hex mesh created in Step 1. of this tutorial. Instead of creating it again, we just read the AVS mesh file. Note the variable IN_FILE is define above as "01_hex_mesh.inp". We have given the mesh object the name mo_mat to indicate it is the mesh object we will assign materials to. You can name the mesh anything you want if it is clear and consistent with your usage.
|
||||
|
||||
```
|
||||
read/avs/ IN_FILE / mo_mat
|
||||
cmo/status/mo_mat/ brief
|
||||
cmo/select/mo_mat
|
||||
```
|
||||
|
||||
## Assign Materials by Selected Sets (pset and eltset)
|
||||
|
||||
Define some elevations for layers between top and bottom of mesh between 0. and 80.
|
||||
|
||||
```
|
||||
define MAT1_Ztop 40.
|
||||
define MAT2_Ztop 62.
|
||||
```
|
||||
|
||||
For the current mesh, select node sets based on the attribute zic (Z coordinate). Name the psets "pmat1", "pmat2", and "pmat3" for use in assigning materials. Note reminder the "1,0,0" refers to node numbers start, stride, stop where "0,0" indicates "all".
|
||||
|
||||
```
|
||||
pset/pmat1/attribute zic/1,0,0/ lt MAT1_Ztop
|
||||
pset/pmat2/attribute zic/1,0,0/ lt MAT2_Ztop
|
||||
pset/pmat3/attribute zic/1,0,0/ ge MAT2_Ztop
|
||||
```
|
||||
|
||||
Based on the set selections above, we can now assign integer values to node materials in the **imt** attribute.
|
||||
In this example ordering of assignment matters as both "pmat1" and "pmat2" overlap below zic=40. This is ok, we simply overwrite by assigning the lowest set last.
|
||||
|
||||
```
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat3 / 3
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat2 / 2
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat1 / 1
|
||||
```
|
||||
|
||||
To assign materials to the elements, we use the psets above to create element sets. Note elements can be formed to make sure each vertice of the element is in the pset, or such that only one needs to be in the pset.
|
||||
In this example we use **inclusive** which will include more elements than the **exclusive** option.
|
||||
|
||||
After setting the element sets, assign material integers to the **itetclr** element attribute in same order as the psets.
|
||||
|
||||
```
|
||||
eltset/emat1/inclusive/pset,get,pmat1
|
||||
eltset/emat2/inclusive/pset,get,pmat2
|
||||
eltset/emat3/inclusive/pset,get,pmat3
|
||||
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat3/ 3
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat2/ 2
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat1/ 1
|
||||
```
|
||||
|
||||
Write a temporary file to view node and element colors so far.
|
||||
|
||||
```
|
||||
dump/ tmp_layers.inp / mo_mat
|
||||
```
|
||||
|
||||
Viewing the mesh file tmp_layers.inp we can check if node **imt** and element Materials are set as we intended. The result is a mesh with 3 layers with material 1 at the bottom and 3 at the top.
|
||||
|
||||
These images were created from Paraview showing the mesh colored by node attribute **imt** left. The mesh is colored by element materials on the right, mesh nodes colored by **imt**. Though modeling software such as FEHM use only the node materials, viewing the mesh by element color presents a better picture. Click on images to view full resolution image.
|
||||
|
||||
<p>
|
||||
<a href="step_03/step_03_hex_layers_imt.png"> <img width="350" src="step_03/step_03_hex_layers_imt.png" /> </a>
|
||||
<a href="step_03/step_03_hex_layers_imt_itetclr.png"> <img width="350" src="step_03/step_03_hex_layers_imt_itetclr.png" /> </a>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
## Assign Materials by Surfaces
|
||||
|
||||
|
||||
The **region** command is extremely useful for defining nodes or elements based on surfaces or geometric shapes. Most of these are represented by their equations, but a surface can also be a mesh that is created or read from file as used in this example. We create two surfaces using **surface/sheet/**/*mo_name* which will be used to define a region representing a fourth material.
|
||||
|
||||
Note. In this case we use a mesh object name that implies it is temporary and will be deleted after use. Creating naming conventions for your objects will help you to keep track of objects during the workflow.
|
||||
|
||||
```
|
||||
cmo / create / motmp
|
||||
cmo / select / motmp
|
||||
```
|
||||
|
||||
Create a quad mesh based on corner coordinates, since this will be used to define regions on the mesh, make sure the surface coordinates extend equal or greater to the mesh. A surface that truncates inside the mesh domain will be ill defined with respect to below or above. These two surfaces could also be created with the **surface/plane** command and used in the same way, but are internal and can not be viewed with respect to the mesh.
|
||||
|
||||
The **brick** option for **createpts** is used to create a quad mesh from the point distribution. The quads are converted to triangles with the **hextotet** command. After the surface is created, print the minmax coordinates and view the surface to make sure it where you want it.
|
||||
|
||||
```
|
||||
quadxy / 10 5 /-1. -1. 10. /100.1 -1. 100./ &
|
||||
100.1 51. 100./ -1. 51. 10.
|
||||
createpts/brick/xyz/ 10 5 1 /1,0,0/connect
|
||||
hextotet/4/ mosurf1 / motmp
|
||||
cmo / printatt / mosurf1 / -xyz- / minmax
|
||||
dump/ tmp_surf1.inp / mosurf1
|
||||
```
|
||||
|
||||
Create a second surface offset from first surface by a distance of 15 in the positive direction.
|
||||
|
||||
```
|
||||
offsetsurf/ mosurf2 / mosurf1 / 15.
|
||||
dump/ tmp_surf2.inp / mosurf2
|
||||
```
|
||||
|
||||
View the mesh and the surfaces together to be sure it is correct. The nodes colored red in the image is the region we will set to material 4.
|
||||
|
||||
<p>
|
||||
<a href="step_03/step_03_hex_colors_surfs.png"> <img width="420" src="step_03/step_03_hex_colors_surfs.png" /> </a>
|
||||
</p>
|
||||
|
||||
To use the geometry commands such as surfaces and regions, FIRST make sure your mesh object is current. Otherwise, these geometry command will not be available for use on the mesh object. Use the **cmo/select** command to make sure you apply these commands to the "mo_mat" mesh object.
|
||||
|
||||
In the previous steps we created two mesh objects, mosurf1 and mosurf2. We now tell LaGriT to use those mesh objects to define surfaces of type **sheet**. There are many types of surfaces such as cone, and box. See more at [**`surface`**](https://lanl.github.io/LaGriT/pages/docs/commands/SURFACE.html).
|
||||
|
||||
```
|
||||
cmo / select / mo_mat
|
||||
surface / s_mosurf1 / reflect / sheet / mosurf1
|
||||
surface / s_mosurf2 / reflect / sheet / mosurf2
|
||||
```
|
||||
|
||||
Now that LaGriT has sheets named "s_mosurf1" and "s_mosurf2" defined for the mesh object geometry, we can use them to define a region between the surfaces.
|
||||
The **le** and **ge** operators are used with the [**`region`***](https://lanl.github.io/LaGriT/pages/docs/commands/REGION.html) command to define regions. For instance, **ge** for a surface means the space on the same side as the surface normal direction, **le** means the space opposite of the normal direction. Use **le, ge** to include nodes equal to the surface, otherwise use **lt, gt**.
|
||||
```
|
||||
region/ r_slant / ge s_mosurf1 and le s_mosurf2
|
||||
```
|
||||
|
||||
Now use this region named "r_slant" to define node and elements in the slanted region. Use the **cmo/setatt** command with these sets to assign the value 4 to node **imt** and element **itetclr** arrays, but only to the defined sets. The value 4 will overwrite previous values of 1-3 set earlier.
|
||||
|
||||
```
|
||||
pset/ pslant / region / r_slant
|
||||
eltset/ eslant / region / r_slant
|
||||
|
||||
cmo/ setatt / mo_mat / imt / pset,get,pslant / 4
|
||||
cmo/ setatt / mo_mat / itetclr / eltset,get,eslant / 4
|
||||
```
|
||||
|
||||
Since the materials have changed, it is good practice to update the boundary and interface attribute **itp** mesh arrays.
|
||||
Write the mesh with materials using the "OUT_FILE" variable defined at the beginning.
|
||||
|
||||
```
|
||||
resetpts/itp
|
||||
dump / OUT_FILE / mo_mat
|
||||
cmo / status / mo_mat / brief
|
||||
```
|
||||
|
||||
Debug hint: things often go wrong early in the script, make sure there are no errors before continuing. You can do this by adding an early finish and observing the output report. If there are no errors reported, and the mesh looks as expected, comment the **finish** command so the LaGriT command continues.
|
||||
|
||||
```
|
||||
# Uncomment Early finish to check results
|
||||
# finish
|
||||
```
|
||||
|
||||
|
||||
## Assign Materials by Interpolation
|
||||
|
||||
If you color the tetrahedral mesh using the above steps, you might get ragged edges that do not look as nice as the colored hex mesh. And if you added refinement to your mesh, using your original coarse hex mesh colors will better preserve the layers as you intended. This will preserve the stair-step interfaces of materials
|
||||
|
||||
It is good practice to remove mesh objects that are no longer needed. The more mesh objects that exist, the greater possibility of things getting tangled or mistakes with typos.
|
||||
|
||||
```
|
||||
cmo/delete/motmp
|
||||
cmo/delete/mosurf1
|
||||
cmo/delete/mosurf2
|
||||
cmo/list
|
||||
```
|
||||
|
||||
Now that we have a hex mesh with materials the way we like them. Read the computational tetrahedral mesh (from Step 2), and interpolate the hex (source) values to the tet mesh.
|
||||
|
||||
|
||||
```
|
||||
read/avs/ 02_tet_mesh.inp / mo_tet
|
||||
cmo/select/mo_tet
|
||||
```
|
||||
|
||||
The **interpolate/map** command copies the value from the enclosing source element to the element (centroid).
|
||||
The **interpolate/voronoi** command copies the value from the nearest source node to the sink node.
|
||||
|
||||
```
|
||||
interpolate/map/mo_tet/ itetclr /1,0,0/ mo_mat itetclr
|
||||
interpolate/voronoi/mo_tet/ imt /1,0,0/ mo_mat imt
|
||||
```
|
||||
|
||||
<p>Mesh left shows results if these steps are applied to the tet mesh. Mesh right shows hex mesh interpolated to tet mesh.
|
||||
<a href="step_03/step_03_tet_colors_bad.png"> <img width="350" src="step_03/step_03_tet_colors_bad.png" /> </a>
|
||||
<a href="step_03/step_03_tet_colors_good.png"> <img width="350" src="step_03/step_03_tet_colors_good.png" /> </a>
|
||||
</p>
|
||||
|
||||
Check the interpolated materials with the **printatt** commands. There should be minmax values 1 and 4.
|
||||
|
||||
```
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
```
|
||||
|
||||
<pre class="lg-output">
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
itetclr 1 4 3 4800
|
||||
</pre>
|
||||
|
||||
Set the boundary nodes based on these new materials and write an AVS mesh file for viewing.
|
||||
|
||||
```
|
||||
resetpts/itp
|
||||
dump/avs/tet_interp_materials.inp mo_tet
|
||||
```
|
||||
|
||||
|
||||
## Report Material Quantities
|
||||
|
||||
Sometimes it helps to see node and element material quantities before viewing the mesh. This is a good way to catch easy mistakes. These results are also useful to include in reports as part of the setup description. Scripts can be written to parse "lagrit.out" results for nice tables and other summary information.
|
||||
|
||||
The minmax option is a quick easy way to check for mistakes. The **imt1** (same as **imt**) attribute are the node materials, so length of the array is 1122, the number of nodes in this mesh. The **itetclr** attribute are the element materials with a length of 4800, the number of elements in this mesh. As expected, they both have values from 1 to 4.
|
||||
**Note: these material attributes must have integer numbers greater than 0**
|
||||
|
||||
Note. Unless the tet mesh is modified to be different from the source hex mesh, they will have the same number of nodes. Only the element type and count will change.
|
||||
|
||||
```
|
||||
cmo/select/mo_tet
|
||||
cmo/printatt/mo_tet/ imt minmax
|
||||
cmo/printatt/mo_tet/ itetclr minmax
|
||||
```
|
||||
LaGriT will show the following results.
|
||||
<pre class="lg-output">
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
itetclr 1 4 3 4800
|
||||
</pre>
|
||||
|
||||
This command will report element volumes by material ID, default is all, but single value reports are an option.
|
||||
|
||||
```
|
||||
quality/ volume / material
|
||||
```
|
||||
|
||||
The summary of element volume materials should look like this:
|
||||
|
||||
<pre class="lg-output">
|
||||
SUMMARY VOLUME/AREA of ELEMENT COLORS for mo_tet 1 4
|
||||
...........................................................
|
||||
Color Num. Elements Volume Fractional Volume
|
||||
1 2160 0.1800000E+06 0.450000000
|
||||
2 1140 0.9500000E+05 0.237500000
|
||||
3 720 0.6000000E+05 0.150000000
|
||||
4 780 0.6500000E+05 0.162500000
|
||||
Total elements: 4800 Total Volume: 0.4000000E+06
|
||||
-----------------------------------------------------------
|
||||
4800 total elements evaluated.
|
||||
</pre>
|
||||
|
||||
For modeling applications such as FEHM, the node materials are used, not the elements. This **dump/zone_imt** command is part of the FEHM commands available to write material zone files. It also creates a good summary of the node materials.
|
||||
|
||||
```
|
||||
dump/zone_imt/ tet / mo_tet
|
||||
```
|
||||
|
||||
The summary of node counts by material will look like this:
|
||||
<pre class="lg-output">
|
||||
*********dump_material_lists********
|
||||
Minimum material ID value = 1
|
||||
Maximum material ID value = 4
|
||||
Total possible materials = 4
|
||||
Material 1 has 468 nodes. #nodes/nnodes is 0.417112290859
|
||||
Material 2 has 270 nodes. #nodes/nnodes is 0.240641713142
|
||||
Material 3 has 204 nodes. #nodes/nnodes is 0.181818187237
|
||||
Material 4 has 180 nodes. #nodes/nnodes is 0.160427808762
|
||||
</pre>
|
||||
|
||||
We do not currently have an easy wrapper command for a summary of voronoi volumes, but a summary can be generated by using the following commands.
|
||||
|
||||
1. Use the command [**`cmo/addatt`**](https://lanl.github.io/LaGriT/pages/docs/commands/cmo/cmo_addatt.html) to create a node attribute with values of voronoi volumes for each node.
|
||||
2. Create a pset for each material value.
|
||||
3. Use the [**`math`**](https://lanl.github.io/LaGriT/pages/docs/commands/MATH.html) command to sum all voronoi values in the indicated **pset,get,p1** set of nodes.
|
||||
|
||||
*Note: the [**`loop`**](https://lanl.github.io/LaGriT/pages/docs/commands/loop.html) command can be used to loop through each of the material values.*
|
||||
|
||||
```
|
||||
cmo addatt/mo_tet/vor_volume/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 1
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 2
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 3
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 4
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
```
|
||||
|
||||
There will be some extra LaGriT output during the run including "AMatbld3d_stor" output regarding the voronoi volumes and associated coefficients. Extra lines can be removed for a summary that looks like this:
|
||||
<pre class="lg-output">
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
AMatbld3d_stor: Total Volume: 4.0000000E+05
|
||||
|
||||
THE PSET p1 HAS 468 POINTS
|
||||
vorvol sum = 0.167500000000E+06
|
||||
|
||||
THE PSET p1 HAS 270 POINTS
|
||||
vorvol sum = 0.100000000000E+06
|
||||
|
||||
THE PSET p1 HAS 204 POINTS
|
||||
vorvol sum = 0.650000000000E+05
|
||||
|
||||
THE PSET p1 HAS 180 POINTS
|
||||
vorvol sum = 0.675000000000E+05
|
||||
</pre>
|
||||
|
||||
|
||||
## finish
|
||||
|
||||
Always end a session or a file with the **finish** command and a line return after the finish command. The command line parser will not parse a command without a line return.
|
||||
|
||||
```
|
||||
finish
|
||||
|
||||
```
|
||||
|
||||
#### [LaGriT Introduction Index](index.html)
|
||||
#### [Step 1. Create a Hex Mesh](step_01.html)
|
||||
#### [Step 2. Convert Hex Mesh to Tet Mesh](step_02.html)
|
||||
#### [Step 3. Assign materials to the Mesh](step_03.html)
|
||||
#### [Step 4. Write Mesh and FEHM Setup Files](step_04.html)
|
||||
|
||||
|
||||
3050
docs/pages/tutorial/lagrit_introduction/step_03/01_hex_mesh.inp
Normal file
7050
docs/pages/tutorial/lagrit_introduction/step_03/02_tet_mesh.inp
Normal file
@@ -0,0 +1,157 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 3. Assign Materials to the Tet Mesh
|
||||
# Using commands pset, regions, and interpolation
|
||||
|
||||
define IN_FILE 02_tet_mesh.inp
|
||||
define OUT_FILE tet_colors.inp
|
||||
|
||||
define IN_FILE 01_hex_mesh.inp
|
||||
define OUT_FILE hex_colors.inp
|
||||
|
||||
# Read the IN_FILE to color materials
|
||||
|
||||
read/avs/ IN_FILE / mo_mat
|
||||
cmo/status/mo_mat/ brief
|
||||
cmo/select/mo_mat
|
||||
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Selected sets
|
||||
|
||||
# define some elevations for layers between Z= 0 and 80
|
||||
|
||||
define MAT1_Ztop 40.
|
||||
define MAT2_Ztop 62.
|
||||
|
||||
|
||||
# SELECT NODE SETS based on attribute zic (Z coordinate)
|
||||
pset/pmat1/attribute zic/1,0,0/ lt MAT1_Ztop
|
||||
pset/pmat2/attribute zic/1,0,0/ lt MAT2_Ztop
|
||||
pset/pmat3/attribute zic/1,0,0/ ge MAT2_Ztop
|
||||
|
||||
# SET NODE IMT in order such that last overwrites previous
|
||||
# layer 2 overwrites layer 3, layer 1 overwrites layer 2
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat3 / 3
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat2 / 2
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat1 / 1
|
||||
|
||||
# SELECT ELEMENT SETS based on point sets
|
||||
# Use inclusive for any node of element is in set
|
||||
|
||||
eltset/emat1/inclusive/pset,get,pmat1
|
||||
eltset/emat2/inclusive/pset,get,pmat2
|
||||
eltset/emat3/inclusive/pset,get,pmat3
|
||||
|
||||
# SET ELEMENT ITETCLR in order
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat3/ 3
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat2/ 2
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat1/ 1
|
||||
|
||||
# write a temporary file to view colors so far
|
||||
dump/ tmp_layers.inp / mo_mat
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Surfaces and Regions
|
||||
|
||||
# Create surfaces to define a fourth material
|
||||
|
||||
cmo / create / motmp
|
||||
cmo / select / motmp
|
||||
|
||||
# Create a quad mesh based on corner coordinates
|
||||
# The surface must be equal or larger than the mesh domain
|
||||
|
||||
quadxy / 10 5 /-1. -1. 10. /100.1 -1. 100./ &
|
||||
100.1 51. 100./ -1. 51. 10.
|
||||
createpts/brick/xyz/ 10 5 1 /1,0,0/connect
|
||||
hextotet/4/ mosurf1 / motmp
|
||||
cmo / printatt / mosurf1 / -xyz- / minmax
|
||||
dump/ tmp_surf1.inp / mosurf1
|
||||
|
||||
# Create a second surface offset from first
|
||||
offsetsurf/ mosurf2 / mosurf1 / 15.
|
||||
dump/ tmp_surf2.inp / mosurf2
|
||||
|
||||
# Define mesh objects as surfaces for geometry
|
||||
# Make mesh current so geometry is assigned to it
|
||||
|
||||
cmo / select / mo_mat
|
||||
surface / s_mosurf1 / reflect / sheet / mosurf1
|
||||
surface / s_mosurf2 / reflect / sheet / mosurf2
|
||||
|
||||
# Define region between the surfaces
|
||||
region/ r_slant / ge s_mosurf1 and le s_mosurf2
|
||||
|
||||
# Select node and element sets in the slanted region
|
||||
pset/ pslant / region / r_slant
|
||||
eltset/ eslant / region / r_slant
|
||||
|
||||
# SET element and node materials
|
||||
cmo/ setatt / mo_mat / imt / pset,get,pslant / 4
|
||||
cmo/ setatt / mo_mat / itetclr / eltset,get,eslant / 4
|
||||
|
||||
# set boundary and interface nodes
|
||||
resetpts/itp
|
||||
|
||||
dump / OUT_FILE / mo_mat
|
||||
|
||||
cmo / status / mo_mat / brief
|
||||
|
||||
# uncomment Early finish to check results
|
||||
# finish
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Interpolation
|
||||
# This will preserve the stair-step interfaces of materials
|
||||
|
||||
# remove unneeded mesh objects
|
||||
cmo/delete/motmp
|
||||
cmo/delete/mosurf1
|
||||
cmo/delete/mosurf2
|
||||
cmo/list
|
||||
|
||||
# Read tet mesh from Step 2
|
||||
read/avs/ 02_tet_mesh.inp / mo_tet
|
||||
cmo/select/mo_tet
|
||||
|
||||
interpolate/map/mo_tet/ itetclr /1,0,0/ mo_mat itetclr
|
||||
interpolate/voronoi/mo_tet/ imt /1,0,0/ mo_mat imt
|
||||
|
||||
# check interpolated values
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
|
||||
# Set boundary nodes and write view file
|
||||
resetpts/itp
|
||||
dump/avs/tet_interp_materials.inp mo_tet
|
||||
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Report Material Quantities
|
||||
|
||||
# Report minmax for node and element materials
|
||||
cmo/select/mo_tet
|
||||
cmo/printatt/mo_tet/ imt minmax
|
||||
cmo/printatt/mo_tet/ itetclr minmax
|
||||
|
||||
# Report element volumes by material
|
||||
quality/ volume / material
|
||||
|
||||
# Report node imt quantities
|
||||
# These are what FEHM will use
|
||||
dump/zone_imt/ tet / mo_tet
|
||||
|
||||
# Report node voronoi volume totals by node material
|
||||
# First add attribute vorvol, then report sums
|
||||
cmo addatt/mo_tet/vor_volume/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 1
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 2
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 3
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 4
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
|
||||
|
||||
finish
|
||||
@@ -0,0 +1,157 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 3. Assign Materials to the Tet Mesh
|
||||
# Using commands pset, regions, and interpolation
|
||||
|
||||
define IN_FILE 02_tet_mesh.inp
|
||||
define OUT_FILE tet_colors.inp
|
||||
|
||||
define IN_FILE 01_hex_mesh.inp
|
||||
define OUT_FILE hex_colors.inp
|
||||
|
||||
# Read the IN_FILE to color materials
|
||||
|
||||
read/avs/ IN_FILE / mo_mat
|
||||
cmo/status/mo_mat/ brief
|
||||
cmo/select/mo_mat
|
||||
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Selected sets
|
||||
|
||||
# define some elevations for layers between Z= 0 and 80
|
||||
|
||||
define MAT1_Ztop 40.
|
||||
define MAT2_Ztop 62.
|
||||
|
||||
|
||||
# SELECT NODE SETS based on attribute zic (Z coordinate)
|
||||
pset/pmat1/attribute zic/1,0,0/ lt MAT1_Ztop
|
||||
pset/pmat2/attribute zic/1,0,0/ lt MAT2_Ztop
|
||||
pset/pmat3/attribute zic/1,0,0/ ge MAT2_Ztop
|
||||
|
||||
# SET NODE IMT in order such that last overwrites previous
|
||||
# layer 2 overwrites layer 3, layer 1 overwrites layer 2
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat3 / 3
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat2 / 2
|
||||
cmo/setatt/mo_mat/imt/ pset,get,pmat1 / 1
|
||||
|
||||
# SELECT ELEMENT SETS based on point sets
|
||||
# Use inclusive for any node of element is in set
|
||||
|
||||
eltset/emat1/inclusive/pset,get,pmat1
|
||||
eltset/emat2/inclusive/pset,get,pmat2
|
||||
eltset/emat3/inclusive/pset,get,pmat3
|
||||
|
||||
# SET ELEMENT ITETCLR in order
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat3/ 3
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat2/ 2
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat1/ 1
|
||||
|
||||
# write a temporary file to view colors so far
|
||||
dump/ tmp_layers.inp / mo_mat
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Surfaces and Regions
|
||||
|
||||
# Create surfaces to define a fourth material
|
||||
|
||||
cmo / create / motmp
|
||||
cmo / select / motmp
|
||||
|
||||
# Create a quad mesh based on corner coordinates
|
||||
# The surface must be equal or larger than the mesh domain
|
||||
|
||||
quadxy / 10 5 /-1. -1. 10. /100.1 -1. 100./ &
|
||||
100.1 51. 100./ -1. 51. 10.
|
||||
createpts/brick/xyz/ 10 5 1 /1,0,0/connect
|
||||
hextotet/4/ mosurf1 / motmp
|
||||
cmo / printatt / mosurf1 / -xyz- / minmax
|
||||
dump/ tmp_surf1.inp / mosurf1
|
||||
|
||||
# Create a second surface offset from first
|
||||
offsetsurf/ mosurf2 / mosurf1 / 15.
|
||||
dump/ tmp_surf2.inp / mosurf2
|
||||
|
||||
# Define mesh objects as surfaces for geometry
|
||||
# Make mesh current so geometry is assigned to it
|
||||
|
||||
cmo / select / mo_mat
|
||||
surface / s_mosurf1 / reflect / sheet / mosurf1
|
||||
surface / s_mosurf2 / reflect / sheet / mosurf2
|
||||
|
||||
# Define region between the surfaces
|
||||
region/ r_slant / ge s_mosurf1 and le s_mosurf2
|
||||
|
||||
# Select node and element sets in the slanted region
|
||||
pset/ pslant / region / r_slant
|
||||
eltset/ eslant / region / r_slant
|
||||
|
||||
# SET element and node materials
|
||||
cmo/ setatt / mo_mat / imt / pset,get,pslant / 4
|
||||
cmo/ setatt / mo_mat / itetclr / eltset,get,eslant / 4
|
||||
|
||||
# set boundary and interface nodes
|
||||
resetpts/itp
|
||||
|
||||
dump / OUT_FILE / mo_mat
|
||||
|
||||
cmo / status / mo_mat / brief
|
||||
|
||||
# uncomment Early finish to check results
|
||||
# finish
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Interpolation
|
||||
# This will preserve the stair-step interfaces of materials
|
||||
|
||||
# remove unneeded mesh objects
|
||||
cmo/delete/motmp
|
||||
cmo/delete/mosurf1
|
||||
cmo/delete/mosurf2
|
||||
cmo/list
|
||||
|
||||
# Read tet mesh from Step 2
|
||||
read/avs/ 02_tet_mesh.inp / mo_tet
|
||||
cmo/select/mo_tet
|
||||
|
||||
interpolate/map/mo_tet/ itetclr /1,0,0/ mo_mat itetclr
|
||||
interpolate/voronoi/mo_tet/ imt /1,0,0/ mo_mat imt
|
||||
|
||||
# check interpolated values
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
|
||||
# Set boundary nodes and write view file
|
||||
resetpts/itp
|
||||
dump/avs/tet_interp_materials.inp mo_tet
|
||||
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Report Material Quantities
|
||||
|
||||
# Report minmax for node and element materials
|
||||
cmo/select/mo_tet
|
||||
cmo/printatt/mo_tet/ imt minmax
|
||||
cmo/printatt/mo_tet/ itetclr minmax
|
||||
|
||||
# Report element volumes by material
|
||||
quality/ volume / material
|
||||
|
||||
# Report node imt quantities
|
||||
# These are what FEHM will use
|
||||
dump/zone_imt/ tet / mo_tet
|
||||
|
||||
# Report node voronoi volume totals by node material
|
||||
# First add attribute vorvol, then report sums
|
||||
cmo addatt/mo_tet/vor_volume/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 1
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 2
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 3
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/ eq 4
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
|
||||
|
||||
finish
|
||||
@@ -0,0 +1,583 @@
|
||||
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * *
|
||||
* * Program: LaGriT V3.3.4 Linux *
|
||||
* * Compiler Name: GNU *
|
||||
* * Compiler Version: 9.4.0 *
|
||||
* * Date Compile: 2024/05/06 *
|
||||
* * Run Time: 2025/Jan 28 17:40:45 *
|
||||
* * Manual: https://lagrit.lanl.gov *
|
||||
* * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
-----oOo-----
|
||||
LaGriT V3 LA-CC-15-069 https://github.com/lanl/LaGriT
|
||||
Copyright 2016. Triad National Security, LLC. All rights reserved. This
|
||||
program was produced under U.S. Government contract 89233218CNA000001
|
||||
for Los Alamos National Laboratory (LANL), which is operated by Triad
|
||||
National Security, LLC for the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. All rights in the program are reserved by Triad
|
||||
National Security, LLC, and the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. The Government is granted for itself and others
|
||||
acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license
|
||||
in this material to reproduce, prepare derivative works, distribute copies
|
||||
to the public, perform publicly and display publicly, and to permit others to
|
||||
do so. This software is open source and available under the BSD-3 License.
|
||||
-----oOo-----
|
||||
|
||||
|
||||
Output log file: lagrit.out
|
||||
Command log file: lagrit.log
|
||||
|
||||
# LaGriT Tutorial Example 3
|
||||
# Assign materials based on methods pset, regions, and interpolation
|
||||
define IN_FILE 02_tet_mesh.inp
|
||||
define OUT_FILE tet_colors.inp
|
||||
define IN_FILE 01_hex_mesh.inp
|
||||
define OUT_FILE hex_colors.inp
|
||||
# Read the IN_FILE to color materials
|
||||
read/avs/IN_FILE/mo_mat
|
||||
geniee
|
||||
finish
|
||||
cmo/status/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_mat
|
||||
|
||||
1 Mesh Object name: mo_mat
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
finish
|
||||
cmo/status/mo_mat/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_mat
|
||||
|
||||
1 Mesh Object name: mo_mat
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
cmo/select/mo_mat
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Selected sets
|
||||
# define some elevations for layers between Z= 0 and 80
|
||||
define MAT1_Ztop 40.
|
||||
define MAT2_Ztop 62.
|
||||
# SELECT NODE SETS based on attribute zic (Z coordinate)
|
||||
pset/pmat1/attribute zic/1,0,0/lt MAT1_Ztop
|
||||
|
||||
THE PSET pmat1 HAS 528 POINTS
|
||||
pset/pmat2/attribute zic/1,0,0/lt MAT2_Ztop
|
||||
|
||||
THE PSET pmat2 HAS 858 POINTS
|
||||
pset/pmat3/attribute zic/1,0,0/ge MAT2_Ztop
|
||||
|
||||
THE PSET pmat3 HAS 264 POINTS
|
||||
# SET NODE IMT in order such that last overwrites previous
|
||||
# layer 2 overwrites layer 3, layer 1 overwrites layer 2
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat3/3
|
||||
264 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat2/2
|
||||
858 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat1/1
|
||||
528 values reset for attribute imt1
|
||||
|
||||
# SELECT ELEMENT SETS based on point sets
|
||||
# Use inclusive for any node of element is in set
|
||||
eltset/emat1/inclusive/pset,get,pmat1
|
||||
|
||||
THE ELTSET emat1 HAS 400 ELEMENTS
|
||||
eltset/emat2/inclusive/pset,get,pmat2
|
||||
|
||||
THE ELTSET emat2 HAS 650 ELEMENTS
|
||||
eltset/emat3/inclusive/pset,get,pmat3
|
||||
|
||||
THE ELTSET emat3 HAS 200 ELEMENTS
|
||||
# SET ELEMENT ITETCLR in order
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat3/3
|
||||
200 values reset for attribute itetclr
|
||||
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat2/2
|
||||
650 values reset for attribute itetclr
|
||||
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat1/1
|
||||
400 values reset for attribute itetclr
|
||||
|
||||
# write a temporary file to view colors so far
|
||||
dump/tmp_layers.inp/mo_mat
|
||||
dump/avs/tmp_layers.inp/mo_mat
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
finish
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Surfaces and Regions
|
||||
# Create surfaces to define a fourth material
|
||||
cmo/create/motmp
|
||||
cmo/select/motmp
|
||||
# Create a quad mesh based on corner coordinates
|
||||
# The surface must be equal or larger than the mesh domain
|
||||
quadxy/10 5/-1. -1. 10./100.1 -1. 100./100.1 51. 100./-1. 51. 10.
|
||||
QUADXY GENERATED POINTS 1 TO 50
|
||||
createpts/brick/xyz/10 5 1/1,0,0/connect
|
||||
Number of nodes: 50
|
||||
Number of elements: 36
|
||||
Number of negative volume elements: 0
|
||||
Total volume: 0.703850494352E+04
|
||||
hextotet/4/mosurf1/motmp
|
||||
iremove_vol= 0 iremove_dup= 0 icheckpt= 1
|
||||
Input Mesh type qua using option 4
|
||||
Element Material ID, min/max/range: 1 1 0
|
||||
Epsilon-dist, distmax, distmin: -1.5039540E-05 2.2618778E+02 1.6900000E+02
|
||||
Epsilon-volume, volmax: 1.9551403E-04 1.9551403E+02
|
||||
cmo/addatt/mosurf1/iign/vint/scalar/nnodes/-def-/-def-/gx/-def-
|
||||
finish
|
||||
WARNING: Volumes le zero not removed, nelements= 144
|
||||
No duplicate points
|
||||
WARNING: Duplicate points not removed, nnodes = 86
|
||||
cmo/printatt/mosurf1/-xyz-/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
xic -1.000000000E+00 1.001000000E+02 1.011000000E+02 86
|
||||
yic -1.000000000E+00 5.100000000E+01 5.200000000E+01 86
|
||||
zic 1.000000000E+01 1.000000000E+02 9.000000000E+01 86
|
||||
|
||||
dump/tmp_surf1.inp/mosurf1
|
||||
dump/avs/tmp_surf1.inp/mosurf1
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
finish
|
||||
# Create a second surface offset from first
|
||||
offsetsurf/mosurf2/mosurf1/15.
|
||||
dump/tmp_surf2.inp/mosurf2
|
||||
dump/avs/tmp_surf2.inp/mosurf2
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
finish
|
||||
# Define mesh objects as surfaces for geometry
|
||||
# Make mesh current so geometry is assigned to it
|
||||
cmo/select/mo_mat
|
||||
surface/s_mosurf1/reflect/sheet/mosurf1
|
||||
cmo/addatt//v2/INT/scalar/scalar/constant/permanent//2.0
|
||||
finish
|
||||
cmo/addatt//linkt/VINT/v2/nelements//permanent/x/0.0
|
||||
finish
|
||||
cmo/addatt//v12/INT/scalar/scalar/constant/permanent//12.0
|
||||
finish
|
||||
cmo/addatt//sbox/VDOUBLE/v12/nelements/linear/permanent/x/0.0
|
||||
finish
|
||||
log/tty/off
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 isetwd
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 ialias
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 imt1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 itp1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 icr1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 isn1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 xtetwd
|
||||
finish
|
||||
cmo/DELATT/s_mosurf1 itetclr
|
||||
finish
|
||||
log/tty/on
|
||||
finish
|
||||
cmo/addatt//ncon50/INT/scalar/scalar/constant/permanent/l/0
|
||||
finish
|
||||
cmo/addatt//nconbnd/INT/scalar/scalar/constant/permanent/l/0
|
||||
finish
|
||||
cmo/addatt//icontab/VINT/scalar/ncon50/constant/permanent/l/0.0
|
||||
finish
|
||||
surface/s_mosurf2/reflect/sheet/mosurf2
|
||||
cmo/addatt//v2/INT/scalar/scalar/constant/permanent//2.0
|
||||
finish
|
||||
cmo/addatt//linkt/VINT/v2/nelements//permanent/x/0.0
|
||||
finish
|
||||
cmo/addatt//v12/INT/scalar/scalar/constant/permanent//12.0
|
||||
finish
|
||||
cmo/addatt//sbox/VDOUBLE/v12/nelements/linear/permanent/x/0.0
|
||||
finish
|
||||
log/tty/off
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 isetwd
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 ialias
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 imt1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 itp1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 icr1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 isn1
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 xtetwd
|
||||
finish
|
||||
cmo/DELATT/s_mosurf2 itetclr
|
||||
finish
|
||||
log/tty/on
|
||||
finish
|
||||
# Define region between the surfaces
|
||||
region/r_slant/ge s_mosurf1 and le s_mosurf2
|
||||
# Select node and element sets in the slanted region
|
||||
pset/pslant/region/r_slant
|
||||
|
||||
THE PSET pslant HAS 180 POINTS
|
||||
eltset/eslant/region/r_slant
|
||||
|
||||
THE ELTSET eslant HAS 130 ELEMENTS
|
||||
# SET element and node materials
|
||||
cmo/setatt/mo_mat/imt/pset,get,pslant/4
|
||||
180 values reset for attribute imt1
|
||||
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,eslant/4
|
||||
130 values reset for attribute itetclr
|
||||
|
||||
# set boundary and interface nodes
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
dump/OUT_FILE/mo_mat
|
||||
dump/avs/hex_colors.inp/mo_mat
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
finish
|
||||
cmo/status/mo_mat/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_mat
|
||||
|
||||
1 Mesh Object name: mo_mat
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
# uncomment Early finish to check results
|
||||
# finish
|
||||
# -----------------------------------------------------------
|
||||
# Assign materials by Interpolation
|
||||
# This will preserve the stair-step interfaces of materials
|
||||
# remove unneeded mesh objects
|
||||
cmo/delete/motmp
|
||||
Released Mesh Object: motmp
|
||||
cmo/delete/mosurf1
|
||||
Released Mesh Object: mosurf1
|
||||
cmo/delete/mosurf2
|
||||
Released Mesh Object: mosurf2
|
||||
cmo/list
|
||||
|
||||
|
||||
The current-mesh-object(CMO) is: mo_mat
|
||||
|
||||
0 Mesh Object name: -default-
|
||||
1 Mesh Object name: mo_mat
|
||||
2 Mesh Object name: s_mosurf1
|
||||
3 Mesh Object name: s_mosurf2
|
||||
# Read tet mesh from Step 2
|
||||
read/avs/02_tet_mesh.inp/mo_tet
|
||||
geniee
|
||||
finish
|
||||
cmo/status/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
1 Mesh Object name: mo_mat
|
||||
number of nodes = 1122 number of elements = 800
|
||||
dimensions geometry = 3 element type = hex
|
||||
dimensions topology = 3 8 nodes 6 faces 12 edges
|
||||
boundary flag = 16000000 status = inactive
|
||||
|
||||
2 Mesh Object name: s_mosurf1
|
||||
number of nodes = 86 number of elements = 144
|
||||
dimensions geometry = 3 element type = tri
|
||||
dimensions topology = 2 3 nodes 3 faces 3 edges
|
||||
boundary flag = 16000000 status = inactive
|
||||
|
||||
3 Mesh Object name: s_mosurf2
|
||||
number of nodes = 86 number of elements = 144
|
||||
dimensions geometry = 3 element type = tri
|
||||
dimensions topology = 2 3 nodes 3 faces 3 edges
|
||||
boundary flag = 16000000 status = inactive
|
||||
|
||||
4 Mesh Object name: mo_tet
|
||||
number of nodes = 1122 number of elements = 4800
|
||||
dimensions geometry = 3 element type = tet
|
||||
dimensions topology = 3 4 nodes 4 faces 6 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
finish
|
||||
cmo/select/mo_tet
|
||||
interpolate/map/mo_tet/itetclr/1,0,0/mo_mat itetclr
|
||||
elements in indexed set = 4800
|
||||
|
||||
INTRP METHOD: map FUNCTION: user
|
||||
TIEBREAKER: maxtie FLAG: plus1 0.500000000000E+01
|
||||
|
||||
cmo select mo_mat
|
||||
finish
|
||||
cmo kdtree build
|
||||
cmo/addatt//v2/INT/scalar/scalar/constant/temporary//2.0
|
||||
finish
|
||||
cmo/addatt//linkt/VINT/v2/nelements//temporary/x/0.0
|
||||
finish
|
||||
cmo/addatt//v12/INT/scalar/scalar/constant/temporary//12.0
|
||||
finish
|
||||
cmo/addatt//sbox/VDOUBLE/v12/nelements/linear/temporary/x/0.0
|
||||
finish
|
||||
finish
|
||||
cmo setatt mo_mat idebug/0
|
||||
1 values reset for attribute idebug
|
||||
|
||||
finish
|
||||
|
||||
Build kdtree done - assign the enclosing element for each.
|
||||
|
||||
|
||||
Sink point Elems Searched Elements Found Percent Done
|
||||
|
||||
1201 1201 1201 25 %
|
||||
2401 2401 2401 50 %
|
||||
3601 3601 3601 75 %
|
||||
4800 4800 4800 100%
|
||||
|
||||
Total Source Elements: 800
|
||||
Total Sink Centroids: 4800
|
||||
|
||||
|
||||
interpolate/map done.
|
||||
|
||||
cmo select mo_tet
|
||||
finish
|
||||
cmo kdtree release
|
||||
cmo/DELATT/mo_mat/sbox
|
||||
finish
|
||||
cmo/DELATT/mo_mat/v12
|
||||
finish
|
||||
cmo/DELATT/mo_mat/linkt
|
||||
finish
|
||||
cmo/DELATT/mo_mat/v2
|
||||
finish
|
||||
finish
|
||||
interpolate/voronoi/mo_tet/imt/1,0,0/mo_mat imt
|
||||
nodes in indexed point set = 1122
|
||||
|
||||
INTRP METHOD: voronoi FUNCTION: max
|
||||
TIEBREAKER: maxtie FLAG: plus1 0.500000000000E+01
|
||||
|
||||
|
||||
Build kdtree0 done - assign nearest node for each.
|
||||
|
||||
|
||||
Sink point Points Searched Points Found Percent Done
|
||||
|
||||
282 282 282 25 %
|
||||
563 563 563 50 %
|
||||
844 844 844 75 %
|
||||
1122 1122 1122 100%
|
||||
|
||||
Total Source Nodes: 1122
|
||||
Total Sink Nodes: 1122
|
||||
|
||||
|
||||
interpolate/voronoi done.
|
||||
|
||||
cmo select mo_tet
|
||||
finish
|
||||
cmo kdtree release
|
||||
finish
|
||||
# check interpolated values
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
itetclr 1 4 3 4800
|
||||
|
||||
# Set boundary nodes and write view file
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
dump/avs/tet_interp_materials.inp mo_tet
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
# -----------------------------------------------------------
|
||||
# Report Material Quantities
|
||||
# Report minmax for node and element materials
|
||||
cmo/select/mo_tet
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
itetclr 1 4 3 4800
|
||||
|
||||
# Report element volumes by material
|
||||
quality/volume/material
|
||||
|
||||
|
||||
QUALITY TOTALS for 4 MATERIALS:
|
||||
...........................................................
|
||||
eltset/-etmp-/itetclr/eq/1/
|
||||
|
||||
THE ELTSET -etmp- HAS 2160 ELEMENTS
|
||||
finish
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
|
||||
VOLUMES for ELEMENT COLOR 1
|
||||
...........................
|
||||
All elements have volume 8.3333333E+01
|
||||
eltset/-etmp-/delete/
|
||||
|
||||
ELTSET -etmp- DELETED
|
||||
|
||||
finish
|
||||
eltset/-etmp-/itetclr/eq/2/
|
||||
|
||||
THE ELTSET -etmp- HAS 1140 ELEMENTS
|
||||
finish
|
||||
---------------------------------------
|
||||
|
||||
VOLUMES for ELEMENT COLOR 2
|
||||
...........................
|
||||
All elements have volume 8.3333333E+01
|
||||
eltset/-etmp-/delete/
|
||||
|
||||
ELTSET -etmp- DELETED
|
||||
|
||||
finish
|
||||
eltset/-etmp-/itetclr/eq/3/
|
||||
|
||||
THE ELTSET -etmp- HAS 720 ELEMENTS
|
||||
finish
|
||||
---------------------------------------
|
||||
|
||||
VOLUMES for ELEMENT COLOR 3
|
||||
...........................
|
||||
All elements have volume 8.3333333E+01
|
||||
eltset/-etmp-/delete/
|
||||
|
||||
ELTSET -etmp- DELETED
|
||||
|
||||
finish
|
||||
eltset/-etmp-/itetclr/eq/4/
|
||||
|
||||
THE ELTSET -etmp- HAS 780 ELEMENTS
|
||||
finish
|
||||
---------------------------------------
|
||||
|
||||
VOLUMES for ELEMENT COLOR 4
|
||||
...........................
|
||||
All elements have volume 8.3333333E+01
|
||||
eltset/-etmp-/delete/
|
||||
|
||||
ELTSET -etmp- DELETED
|
||||
|
||||
finish
|
||||
---------------------------------------
|
||||
|
||||
SUMMARY VOLUME/AREA of ELEMENT COLORS for mo_tet 1 4
|
||||
...........................................................
|
||||
Color Num. Elements Volume Fractional Volume
|
||||
1 2160 0.1800000E+06 0.450000000
|
||||
2 1140 0.9500000E+05 0.237500000
|
||||
3 720 0.6000000E+05 0.150000000
|
||||
4 780 0.6500000E+05 0.162500000
|
||||
Total elements: 4800 Total Volume: 0.4000000E+06
|
||||
-----------------------------------------------------------
|
||||
4800 total elements evaluated.
|
||||
|
||||
# Report node imt quantities
|
||||
# These are what FEHM will use
|
||||
dump/zone_imt/tet/mo_tet
|
||||
*********dump_material_lists********
|
||||
Minimum material ID value = 1
|
||||
Maximum material ID value = 4
|
||||
Total possible materials = 4
|
||||
Material 1 has 468 nodes. #nodes/nnodes is 0.417112290859
|
||||
Material 2 has 270 nodes. #nodes/nnodes is 0.240641713142
|
||||
Material 3 has 204 nodes. #nodes/nnodes is 0.181818187237
|
||||
Material 4 has 180 nodes. #nodes/nnodes is 0.160427808762
|
||||
# Report node voronoi volume totals by node material
|
||||
# First add attribute vorvol, then report sums
|
||||
cmo addatt/mo_tet/vor_volume/vorvol
|
||||
ADDATT/voronoi_volume: creating new attribute: vorvol
|
||||
|
||||
AMatbld3d_stor: Matrix compress_eps: 0.1000000E-07
|
||||
AMatbld3d_stor: Local epsilon: 0.1000000E-14
|
||||
AMatbld3d_stor: *****Zero Negative Coefficients ******
|
||||
AMatbld3d_stor: Number of 'zero' (< compress_eps) coefs 0
|
||||
AMatbld3d_stor: npoints = 1122 ncoefs = 7144
|
||||
AMatbld3d_stor: Number of unique coefs = 4133
|
||||
AMatbld3d_stor: Maximum num. connections to a node = 7
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
AMatbld3d_stor: Total Volume: 4.0000000E+05
|
||||
AMatbld3d_stor: abs(Aij/xij) min = 0.0000000E+00
|
||||
AMatbld3d_stor: abs(Aij/xij) max = 2.0000000E+01
|
||||
AMatbld3d_stor: (Aij/xij) max = 0.0000000E+00
|
||||
AMatbld3d_stor: (Aij/xij) min = -2.0000000E+01
|
||||
AMatbld3d_stor Matrix coefficient values stored as scalar area/distance
|
||||
AMatbld3d_stor Matrix compression used for graph, not coefficient values
|
||||
mo_tet attribute with voronoi volumes created with name vorvol
|
||||
|
||||
*** SPARSE COEFFICIENT MATRIX _gstor SUCCESSFUL ***
|
||||
|
||||
3D Matrix Coefficient file written with name -notset-
|
||||
|
||||
pset/p1/attribute/imt/1,0,0/eq 1
|
||||
|
||||
THE PSET p1 HAS 468 POINTS
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
nodes in indexed point set = 468
|
||||
sink attribute being created: cmo = mo_tet att = vol_tot
|
||||
cmo/addatt/mo_tet/vol_tot/REAL/scalar/scalar/constant/permanent/
|
||||
finish
|
||||
468 values summed from attribute vorvol
|
||||
vorvol sum = 0.167500000000E+06
|
||||
cmo select mo_tet
|
||||
finish
|
||||
pset/p1/attribute/imt/1,0,0/eq 2
|
||||
|
||||
THE PSET p1 HAS 270 POINTS
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
nodes in indexed point set = 270
|
||||
270 values summed from attribute vorvol
|
||||
vorvol sum = 0.100000000000E+06
|
||||
cmo select mo_tet
|
||||
finish
|
||||
pset/p1/attribute/imt/1,0,0/eq 3
|
||||
|
||||
THE PSET p1 HAS 204 POINTS
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
nodes in indexed point set = 204
|
||||
204 values summed from attribute vorvol
|
||||
vorvol sum = 0.650000000000E+05
|
||||
cmo select mo_tet
|
||||
finish
|
||||
pset/p1/attribute/imt/1,0,0/eq 4
|
||||
|
||||
THE PSET p1 HAS 180 POINTS
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
nodes in indexed point set = 180
|
||||
180 values summed from attribute vorvol
|
||||
vorvol sum = 0.675000000000E+05
|
||||
cmo select mo_tet
|
||||
finish
|
||||
finish
|
||||
LaGriT successfully completed
|
||||
3050
docs/pages/tutorial/lagrit_introduction/step_03/hex_colors.inp
Normal file
69
docs/pages/tutorial/lagrit_introduction/step_03/lagrit.log
Normal file
@@ -0,0 +1,69 @@
|
||||
define IN_FILE 02_tet_mesh.inp
|
||||
define OUT_FILE tet_colors.inp
|
||||
define IN_FILE 01_hex_mesh.inp
|
||||
define OUT_FILE hex_colors.inp
|
||||
read/avs/IN_FILE/mo_mat
|
||||
cmo/status/mo_mat/brief
|
||||
cmo/select/mo_mat
|
||||
define MAT1_Ztop 40.
|
||||
define MAT2_Ztop 62.
|
||||
pset/pmat1/attribute zic/1,0,0/lt MAT1_Ztop
|
||||
pset/pmat2/attribute zic/1,0,0/lt MAT2_Ztop
|
||||
pset/pmat3/attribute zic/1,0,0/ge MAT2_Ztop
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat3/3
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat2/2
|
||||
cmo/setatt/mo_mat/imt/pset,get,pmat1/1
|
||||
eltset/emat1/inclusive/pset,get,pmat1
|
||||
eltset/emat2/inclusive/pset,get,pmat2
|
||||
eltset/emat3/inclusive/pset,get,pmat3
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat3/3
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat2/2
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,emat1/1
|
||||
dump/tmp_layers.inp/mo_mat
|
||||
cmo/create/motmp
|
||||
cmo/select/motmp
|
||||
quadxy/10 5/-1. -1. 10./100.1 -1. 100./100.1 51. 100./-1. 51. 10.
|
||||
createpts/brick/xyz/10 5 1/1,0,0/connect
|
||||
hextotet/4/mosurf1/motmp
|
||||
cmo/printatt/mosurf1/-xyz-/minmax
|
||||
dump/tmp_surf1.inp/mosurf1
|
||||
offsetsurf/mosurf2/mosurf1/15.
|
||||
dump/tmp_surf2.inp/mosurf2
|
||||
cmo/select/mo_mat
|
||||
surface/s_mosurf1/reflect/sheet/mosurf1
|
||||
surface/s_mosurf2/reflect/sheet/mosurf2
|
||||
region/r_slant/ge s_mosurf1 and le s_mosurf2
|
||||
pset/pslant/region/r_slant
|
||||
eltset/eslant/region/r_slant
|
||||
cmo/setatt/mo_mat/imt/pset,get,pslant/4
|
||||
cmo/setatt/mo_mat/itetclr/eltset,get,eslant/4
|
||||
resetpts/itp
|
||||
dump/OUT_FILE/mo_mat
|
||||
cmo/status/mo_mat/brief
|
||||
cmo/delete/motmp
|
||||
cmo/delete/mosurf1
|
||||
cmo/delete/mosurf2
|
||||
cmo/list
|
||||
read/avs/02_tet_mesh.inp/mo_tet
|
||||
cmo/select/mo_tet
|
||||
interpolate/map/mo_tet/itetclr/1,0,0/mo_mat itetclr
|
||||
interpolate/voronoi/mo_tet/imt/1,0,0/mo_mat imt
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
resetpts/itp
|
||||
dump/avs/tet_interp_materials.inp mo_tet
|
||||
cmo/select/mo_tet
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/printatt/mo_tet/itetclr minmax
|
||||
quality/volume/material
|
||||
dump/zone_imt/tet/mo_tet
|
||||
cmo addatt/mo_tet/vor_volume/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/eq 1
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/eq 2
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/eq 3
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
pset/p1/attribute/imt/1,0,0/eq 4
|
||||
math/sum/mo_tet/vol_tot/pset,get,p1/mo_tet/vorvol
|
||||
finish
|
||||
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 476 KiB |
|
After Width: | Height: | Size: 650 KiB |
|
After Width: | Height: | Size: 542 KiB |
|
After Width: | Height: | Size: 489 KiB |
|
After Width: | Height: | Size: 743 KiB |
|
After Width: | Height: | Size: 750 KiB |
@@ -0,0 +1,128 @@
|
||||
zone
|
||||
00001
|
||||
nnum
|
||||
468
|
||||
1 2 3 4 5 6 7 8 9 10
|
||||
11 12 13 14 15 16 17 18 19 20
|
||||
21 22 23 24 25 26 27 28 29 30
|
||||
31 32 33 34 35 36 37 38 39 40
|
||||
41 42 43 44 45 46 47 48 49 50
|
||||
51 52 53 54 55 56 57 58 59 60
|
||||
61 62 63 64 65 66 67 68 69 70
|
||||
71 72 73 74 75 76 77 78 79 80
|
||||
81 82 83 84 85 86 87 88 89 90
|
||||
91 92 93 94 95 96 97 98 99 100
|
||||
101 102 103 104 105 106 107 108 109 110
|
||||
111 112 113 114 115 116 117 118 119 120
|
||||
121 122 123 124 125 126 127 128 129 130
|
||||
131 132 133 134 135 136 137 138 139 140
|
||||
141 142 143 144 145 146 147 148 149 150
|
||||
151 152 153 154 155 156 157 158 159 160
|
||||
161 162 163 164 165 166 167 168 169 170
|
||||
171 172 173 174 175 176 177 178 179 180
|
||||
181 182 183 184 185 186 187 188 189 190
|
||||
191 192 193 194 195 196 197 198 200 201
|
||||
202 203 204 205 206 207 208 209 211 212
|
||||
213 214 215 216 217 218 219 220 222 223
|
||||
224 225 226 227 228 229 230 231 233 234
|
||||
235 236 237 238 239 240 241 242 244 245
|
||||
246 247 248 249 250 251 252 253 255 256
|
||||
257 258 259 260 261 262 263 264 267 268
|
||||
269 270 271 272 273 274 275 278 279 280
|
||||
281 282 283 284 285 286 289 290 291 292
|
||||
293 294 295 296 297 300 301 302 303 304
|
||||
305 306 307 308 311 312 313 314 315 316
|
||||
317 318 319 322 323 324 325 326 327 328
|
||||
329 330 333 334 335 336 337 338 339 340
|
||||
341 344 345 346 347 348 349 350 351 352
|
||||
355 356 357 358 359 360 361 362 363 366
|
||||
367 368 369 370 371 372 373 374 377 378
|
||||
379 380 381 382 383 384 385 388 389 390
|
||||
391 392 393 394 395 396 400 401 402 403
|
||||
404 405 406 407 411 412 413 414 415 416
|
||||
417 418 422 423 424 425 426 427 428 429
|
||||
433 434 435 436 437 438 439 440 444 445
|
||||
446 447 448 449 450 451 455 456 457 458
|
||||
459 460 461 462 463 466 467 468 469 470
|
||||
471 472 473 474 477 478 479 480 481 482
|
||||
483 484 485 488 489 490 491 492 493 494
|
||||
495 496 499 500 501 502 503 504 505 506
|
||||
507 510 511 512 513 514 515 516 517 518
|
||||
521 522 523 524 525 526 527 528
|
||||
00002
|
||||
nnum
|
||||
270
|
||||
529 530 533 534 535 536 537 538 539 540
|
||||
541 544 545 546 547 548 549 550 551 552
|
||||
555 556 557 558 559 560 561 562 563 566
|
||||
567 568 569 570 571 572 573 574 577 578
|
||||
579 580 581 582 583 584 585 588 589 590
|
||||
591 592 593 594 595 596 599 600 601 602
|
||||
603 604 605 606 607 610 611 612 613 614
|
||||
615 616 617 618 621 622 623 624 625 626
|
||||
627 628 629 632 633 634 635 636 637 638
|
||||
639 640 643 644 645 646 647 648 649 650
|
||||
651 654 655 656 657 658 659 660 661 662
|
||||
663 666 667 668 669 670 671 672 673 674
|
||||
677 678 679 680 681 682 683 684 685 688
|
||||
689 690 691 692 693 694 695 696 699 700
|
||||
701 702 703 704 705 706 707 710 711 712
|
||||
713 714 715 716 717 718 721 722 723 724
|
||||
725 726 727 728 729 732 733 734 735 736
|
||||
737 738 739 740 743 744 745 746 747 748
|
||||
749 750 751 754 755 756 757 758 759 760
|
||||
761 762 765 766 767 768 769 770 771 772
|
||||
773 776 777 778 779 780 781 782 783 784
|
||||
787 788 789 790 791 792 793 794 795 796
|
||||
799 800 801 802 803 804 805 806 807 810
|
||||
811 812 813 814 815 816 817 818 821 822
|
||||
823 824 825 826 827 828 829 832 833 834
|
||||
835 836 837 838 839 840 843 844 845 846
|
||||
847 848 849 850 851 854 855 856 857 858
|
||||
00003
|
||||
nnum
|
||||
204
|
||||
859 860 861 862 866 867 868 869 870 871
|
||||
872 873 877 878 879 880 881 882 883 884
|
||||
888 889 890 891 892 893 894 895 899 900
|
||||
901 902 903 904 905 906 910 911 912 913
|
||||
914 915 916 917 921 922 923 924 925 926
|
||||
927 928 929 932 933 934 935 936 937 938
|
||||
939 940 943 944 945 946 947 948 949 950
|
||||
951 954 955 956 957 958 959 960 961 962
|
||||
965 966 967 968 969 970 971 972 973 976
|
||||
977 978 979 980 981 982 983 984 987 988
|
||||
989 990 991 992 993 994 995 999 1000 1001
|
||||
1002 1003 1004 1005 1006 1010 1011 1012 1013 1014
|
||||
1015 1016 1017 1021 1022 1023 1024 1025 1026 1027
|
||||
1028 1032 1033 1034 1035 1036 1037 1038 1039 1043
|
||||
1044 1045 1046 1047 1048 1049 1050 1054 1055 1056
|
||||
1057 1058 1059 1060 1061 1062 1065 1066 1067 1068
|
||||
1069 1070 1071 1072 1073 1076 1077 1078 1079 1080
|
||||
1081 1082 1083 1084 1087 1088 1089 1090 1091 1092
|
||||
1093 1094 1095 1098 1099 1100 1101 1102 1103 1104
|
||||
1105 1106 1109 1110 1111 1112 1113 1114 1115 1116
|
||||
1117 1120 1121 1122
|
||||
00004
|
||||
nnum
|
||||
180
|
||||
199 210 221 232 243 254 265 266 276 277
|
||||
287 288 298 299 309 310 320 321 331 332
|
||||
342 343 353 354 364 365 375 376 386 387
|
||||
397 398 399 408 409 410 419 420 421 430
|
||||
431 432 441 442 443 452 453 454 464 465
|
||||
475 476 486 487 497 498 508 509 519 520
|
||||
531 532 542 543 553 554 564 565 575 576
|
||||
586 587 597 598 608 609 619 620 630 631
|
||||
641 642 652 653 664 665 675 676 686 687
|
||||
697 698 708 709 719 720 730 731 741 742
|
||||
752 753 763 764 774 775 785 786 797 798
|
||||
808 809 819 820 830 831 841 842 852 853
|
||||
863 864 865 874 875 876 885 886 887 896
|
||||
897 898 907 908 909 918 919 920 930 931
|
||||
941 942 952 953 963 964 974 975 985 986
|
||||
996 997 998 1007 1008 1009 1018 1019 1020 1029
|
||||
1030 1031 1040 1041 1042 1051 1052 1053 1063 1064
|
||||
1074 1075 1085 1086 1096 1097 1107 1108 1118 1119
|
||||
|
||||
stop
|
||||
3050
docs/pages/tutorial/lagrit_introduction/step_03/tmp_layers.inp
Normal file
322
docs/pages/tutorial/lagrit_introduction/step_03/tmp_surf1.inp
Normal file
@@ -0,0 +1,322 @@
|
||||
86 144 4 0 0
|
||||
001 -1.000000000000E+00 -1.000000000000E+00 1.000000000000E+01
|
||||
002 1.023333333333E+01 -1.000000000000E+00 2.000000000000E+01
|
||||
003 2.146666666667E+01 -1.000000000000E+00 3.000000000000E+01
|
||||
004 3.270000000000E+01 -1.000000000000E+00 4.000000000000E+01
|
||||
005 4.393333333333E+01 -1.000000000000E+00 5.000000000000E+01
|
||||
006 5.516666666667E+01 -1.000000000000E+00 6.000000000000E+01
|
||||
007 6.640000000000E+01 -1.000000000000E+00 7.000000000000E+01
|
||||
008 7.763333333333E+01 -1.000000000000E+00 8.000000000000E+01
|
||||
009 8.886666666667E+01 -1.000000000000E+00 9.000000000000E+01
|
||||
010 1.001000000000E+02 -1.000000000000E+00 1.000000000000E+02
|
||||
011 -1.000000000000E+00 1.200000000000E+01 1.000000000000E+01
|
||||
012 1.023333333333E+01 1.200000000000E+01 2.000000000000E+01
|
||||
013 2.146666666667E+01 1.200000000000E+01 3.000000000000E+01
|
||||
014 3.270000000000E+01 1.200000000000E+01 4.000000000000E+01
|
||||
015 4.393333333333E+01 1.200000000000E+01 5.000000000000E+01
|
||||
016 5.516666666667E+01 1.200000000000E+01 6.000000000000E+01
|
||||
017 6.640000000000E+01 1.200000000000E+01 7.000000000000E+01
|
||||
018 7.763333333333E+01 1.200000000000E+01 8.000000000000E+01
|
||||
019 8.886666666667E+01 1.200000000000E+01 9.000000000000E+01
|
||||
020 1.001000000000E+02 1.200000000000E+01 1.000000000000E+02
|
||||
021 -1.000000000000E+00 2.500000000000E+01 1.000000000000E+01
|
||||
022 1.023333333333E+01 2.500000000000E+01 2.000000000000E+01
|
||||
023 2.146666666667E+01 2.500000000000E+01 3.000000000000E+01
|
||||
024 3.270000000000E+01 2.500000000000E+01 4.000000000000E+01
|
||||
025 4.393333333333E+01 2.500000000000E+01 5.000000000000E+01
|
||||
026 5.516666666667E+01 2.500000000000E+01 6.000000000000E+01
|
||||
027 6.640000000000E+01 2.500000000000E+01 7.000000000000E+01
|
||||
028 7.763333333333E+01 2.500000000000E+01 8.000000000000E+01
|
||||
029 8.886666666667E+01 2.500000000000E+01 9.000000000000E+01
|
||||
030 1.001000000000E+02 2.500000000000E+01 1.000000000000E+02
|
||||
031 -1.000000000000E+00 3.800000000000E+01 1.000000000000E+01
|
||||
032 1.023333333333E+01 3.800000000000E+01 2.000000000000E+01
|
||||
033 2.146666666667E+01 3.800000000000E+01 3.000000000000E+01
|
||||
034 3.270000000000E+01 3.800000000000E+01 4.000000000000E+01
|
||||
035 4.393333333333E+01 3.800000000000E+01 5.000000000000E+01
|
||||
036 5.516666666667E+01 3.800000000000E+01 6.000000000000E+01
|
||||
037 6.640000000000E+01 3.800000000000E+01 7.000000000000E+01
|
||||
038 7.763333333333E+01 3.800000000000E+01 8.000000000000E+01
|
||||
039 8.886666666667E+01 3.800000000000E+01 9.000000000000E+01
|
||||
040 1.001000000000E+02 3.800000000000E+01 1.000000000000E+02
|
||||
041 -1.000000000000E+00 5.100000000000E+01 1.000000000000E+01
|
||||
042 1.023333333333E+01 5.100000000000E+01 2.000000000000E+01
|
||||
043 2.146666666667E+01 5.100000000000E+01 3.000000000000E+01
|
||||
044 3.270000000000E+01 5.100000000000E+01 4.000000000000E+01
|
||||
045 4.393333333333E+01 5.100000000000E+01 5.000000000000E+01
|
||||
046 5.516666666667E+01 5.100000000000E+01 6.000000000000E+01
|
||||
047 6.640000000000E+01 5.100000000000E+01 7.000000000000E+01
|
||||
048 7.763333333333E+01 5.100000000000E+01 8.000000000000E+01
|
||||
049 8.886666666667E+01 5.100000000000E+01 9.000000000000E+01
|
||||
050 1.001000000000E+02 5.100000000000E+01 1.000000000000E+02
|
||||
051 4.616666666667E+00 5.500000000000E+00 1.500000000000E+01
|
||||
052 1.585000000000E+01 5.500000000000E+00 2.500000000000E+01
|
||||
053 2.708333333333E+01 5.500000000000E+00 3.500000000000E+01
|
||||
054 3.831666666667E+01 5.500000000000E+00 4.500000000000E+01
|
||||
055 4.955000000000E+01 5.500000000000E+00 5.500000000000E+01
|
||||
056 6.078333333333E+01 5.500000000000E+00 6.500000000000E+01
|
||||
057 7.201666666667E+01 5.500000000000E+00 7.500000000000E+01
|
||||
058 8.325000000000E+01 5.500000000000E+00 8.500000000000E+01
|
||||
059 9.448333333333E+01 5.500000000000E+00 9.500000000000E+01
|
||||
060 4.616666666667E+00 1.850000000000E+01 1.500000000000E+01
|
||||
061 1.585000000000E+01 1.850000000000E+01 2.500000000000E+01
|
||||
062 2.708333333333E+01 1.850000000000E+01 3.500000000000E+01
|
||||
063 3.831666666667E+01 1.850000000000E+01 4.500000000000E+01
|
||||
064 4.955000000000E+01 1.850000000000E+01 5.500000000000E+01
|
||||
065 6.078333333333E+01 1.850000000000E+01 6.500000000000E+01
|
||||
066 7.201666666667E+01 1.850000000000E+01 7.500000000000E+01
|
||||
067 8.325000000000E+01 1.850000000000E+01 8.500000000000E+01
|
||||
068 9.448333333333E+01 1.850000000000E+01 9.500000000000E+01
|
||||
069 4.616666666667E+00 3.150000000000E+01 1.500000000000E+01
|
||||
070 1.585000000000E+01 3.150000000000E+01 2.500000000000E+01
|
||||
071 2.708333333333E+01 3.150000000000E+01 3.500000000000E+01
|
||||
072 3.831666666667E+01 3.150000000000E+01 4.500000000000E+01
|
||||
073 4.955000000000E+01 3.150000000000E+01 5.500000000000E+01
|
||||
074 6.078333333333E+01 3.150000000000E+01 6.500000000000E+01
|
||||
075 7.201666666667E+01 3.150000000000E+01 7.500000000000E+01
|
||||
076 8.325000000000E+01 3.150000000000E+01 8.500000000000E+01
|
||||
077 9.448333333333E+01 3.150000000000E+01 9.500000000000E+01
|
||||
078 4.616666666667E+00 4.450000000000E+01 1.500000000000E+01
|
||||
079 1.585000000000E+01 4.450000000000E+01 2.500000000000E+01
|
||||
080 2.708333333333E+01 4.450000000000E+01 3.500000000000E+01
|
||||
081 3.831666666667E+01 4.450000000000E+01 4.500000000000E+01
|
||||
082 4.955000000000E+01 4.450000000000E+01 5.500000000000E+01
|
||||
083 6.078333333333E+01 4.450000000000E+01 6.500000000000E+01
|
||||
084 7.201666666667E+01 4.450000000000E+01 7.500000000000E+01
|
||||
085 8.325000000000E+01 4.450000000000E+01 8.500000000000E+01
|
||||
086 9.448333333333E+01 4.450000000000E+01 9.500000000000E+01
|
||||
0001 1 tri 51 1 2
|
||||
0002 1 tri 51 2 12
|
||||
0003 1 tri 51 12 11
|
||||
0004 1 tri 51 11 1
|
||||
0005 1 tri 52 2 3
|
||||
0006 1 tri 52 3 13
|
||||
0007 1 tri 52 13 12
|
||||
0008 1 tri 52 12 2
|
||||
0009 1 tri 53 3 4
|
||||
0010 1 tri 53 4 14
|
||||
0011 1 tri 53 14 13
|
||||
0012 1 tri 53 13 3
|
||||
0013 1 tri 54 4 5
|
||||
0014 1 tri 54 5 15
|
||||
0015 1 tri 54 15 14
|
||||
0016 1 tri 54 14 4
|
||||
0017 1 tri 55 5 6
|
||||
0018 1 tri 55 6 16
|
||||
0019 1 tri 55 16 15
|
||||
0020 1 tri 55 15 5
|
||||
0021 1 tri 56 6 7
|
||||
0022 1 tri 56 7 17
|
||||
0023 1 tri 56 17 16
|
||||
0024 1 tri 56 16 6
|
||||
0025 1 tri 57 7 8
|
||||
0026 1 tri 57 8 18
|
||||
0027 1 tri 57 18 17
|
||||
0028 1 tri 57 17 7
|
||||
0029 1 tri 58 8 9
|
||||
0030 1 tri 58 9 19
|
||||
0031 1 tri 58 19 18
|
||||
0032 1 tri 58 18 8
|
||||
0033 1 tri 59 9 10
|
||||
0034 1 tri 59 10 20
|
||||
0035 1 tri 59 20 19
|
||||
0036 1 tri 59 19 9
|
||||
0037 1 tri 60 11 12
|
||||
0038 1 tri 60 12 22
|
||||
0039 1 tri 60 22 21
|
||||
0040 1 tri 60 21 11
|
||||
0041 1 tri 61 12 13
|
||||
0042 1 tri 61 13 23
|
||||
0043 1 tri 61 23 22
|
||||
0044 1 tri 61 22 12
|
||||
0045 1 tri 62 13 14
|
||||
0046 1 tri 62 14 24
|
||||
0047 1 tri 62 24 23
|
||||
0048 1 tri 62 23 13
|
||||
0049 1 tri 63 14 15
|
||||
0050 1 tri 63 15 25
|
||||
0051 1 tri 63 25 24
|
||||
0052 1 tri 63 24 14
|
||||
0053 1 tri 64 15 16
|
||||
0054 1 tri 64 16 26
|
||||
0055 1 tri 64 26 25
|
||||
0056 1 tri 64 25 15
|
||||
0057 1 tri 65 16 17
|
||||
0058 1 tri 65 17 27
|
||||
0059 1 tri 65 27 26
|
||||
0060 1 tri 65 26 16
|
||||
0061 1 tri 66 17 18
|
||||
0062 1 tri 66 18 28
|
||||
0063 1 tri 66 28 27
|
||||
0064 1 tri 66 27 17
|
||||
0065 1 tri 67 18 19
|
||||
0066 1 tri 67 19 29
|
||||
0067 1 tri 67 29 28
|
||||
0068 1 tri 67 28 18
|
||||
0069 1 tri 68 19 20
|
||||
0070 1 tri 68 20 30
|
||||
0071 1 tri 68 30 29
|
||||
0072 1 tri 68 29 19
|
||||
0073 1 tri 69 21 22
|
||||
0074 1 tri 69 22 32
|
||||
0075 1 tri 69 32 31
|
||||
0076 1 tri 69 31 21
|
||||
0077 1 tri 70 22 23
|
||||
0078 1 tri 70 23 33
|
||||
0079 1 tri 70 33 32
|
||||
0080 1 tri 70 32 22
|
||||
0081 1 tri 71 23 24
|
||||
0082 1 tri 71 24 34
|
||||
0083 1 tri 71 34 33
|
||||
0084 1 tri 71 33 23
|
||||
0085 1 tri 72 24 25
|
||||
0086 1 tri 72 25 35
|
||||
0087 1 tri 72 35 34
|
||||
0088 1 tri 72 34 24
|
||||
0089 1 tri 73 25 26
|
||||
0090 1 tri 73 26 36
|
||||
0091 1 tri 73 36 35
|
||||
0092 1 tri 73 35 25
|
||||
0093 1 tri 74 26 27
|
||||
0094 1 tri 74 27 37
|
||||
0095 1 tri 74 37 36
|
||||
0096 1 tri 74 36 26
|
||||
0097 1 tri 75 27 28
|
||||
0098 1 tri 75 28 38
|
||||
0099 1 tri 75 38 37
|
||||
0100 1 tri 75 37 27
|
||||
0101 1 tri 76 28 29
|
||||
0102 1 tri 76 29 39
|
||||
0103 1 tri 76 39 38
|
||||
0104 1 tri 76 38 28
|
||||
0105 1 tri 77 29 30
|
||||
0106 1 tri 77 30 40
|
||||
0107 1 tri 77 40 39
|
||||
0108 1 tri 77 39 29
|
||||
0109 1 tri 78 31 32
|
||||
0110 1 tri 78 32 42
|
||||
0111 1 tri 78 42 41
|
||||
0112 1 tri 78 41 31
|
||||
0113 1 tri 79 32 33
|
||||
0114 1 tri 79 33 43
|
||||
0115 1 tri 79 43 42
|
||||
0116 1 tri 79 42 32
|
||||
0117 1 tri 80 33 34
|
||||
0118 1 tri 80 34 44
|
||||
0119 1 tri 80 44 43
|
||||
0120 1 tri 80 43 33
|
||||
0121 1 tri 81 34 35
|
||||
0122 1 tri 81 35 45
|
||||
0123 1 tri 81 45 44
|
||||
0124 1 tri 81 44 34
|
||||
0125 1 tri 82 35 36
|
||||
0126 1 tri 82 36 46
|
||||
0127 1 tri 82 46 45
|
||||
0128 1 tri 82 45 35
|
||||
0129 1 tri 83 36 37
|
||||
0130 1 tri 83 37 47
|
||||
0131 1 tri 83 47 46
|
||||
0132 1 tri 83 46 36
|
||||
0133 1 tri 84 37 38
|
||||
0134 1 tri 84 38 48
|
||||
0135 1 tri 84 48 47
|
||||
0136 1 tri 84 47 37
|
||||
0137 1 tri 85 38 39
|
||||
0138 1 tri 85 39 49
|
||||
0139 1 tri 85 49 48
|
||||
0140 1 tri 85 48 38
|
||||
0141 1 tri 86 39 40
|
||||
0142 1 tri 86 40 50
|
||||
0143 1 tri 86 50 49
|
||||
0144 1 tri 86 49 39
|
||||
00004 1 1 1 1
|
||||
imt1, integer
|
||||
itp1, integer
|
||||
icr1, integer
|
||||
isn1, integer
|
||||
1 0 10 0 0
|
||||
2 0 10 0 0
|
||||
3 0 10 0 0
|
||||
4 0 10 0 0
|
||||
5 0 10 0 0
|
||||
6 0 10 0 0
|
||||
7 0 10 0 0
|
||||
8 0 10 0 0
|
||||
9 0 10 0 0
|
||||
10 0 10 0 0
|
||||
11 0 10 0 0
|
||||
12 0 0 0 0
|
||||
13 0 0 0 0
|
||||
14 0 0 0 0
|
||||
15 0 0 0 0
|
||||
16 0 0 0 0
|
||||
17 0 0 0 0
|
||||
18 0 0 0 0
|
||||
19 0 0 0 0
|
||||
20 0 10 0 0
|
||||
21 0 10 0 0
|
||||
22 0 0 0 0
|
||||
23 0 0 0 0
|
||||
24 0 0 0 0
|
||||
25 0 0 0 0
|
||||
26 0 0 0 0
|
||||
27 0 0 0 0
|
||||
28 0 0 0 0
|
||||
29 0 0 0 0
|
||||
30 0 10 0 0
|
||||
31 0 10 0 0
|
||||
32 0 0 0 0
|
||||
33 0 0 0 0
|
||||
34 0 0 0 0
|
||||
35 0 0 0 0
|
||||
36 0 0 0 0
|
||||
37 0 0 0 0
|
||||
38 0 0 0 0
|
||||
39 0 0 0 0
|
||||
40 0 10 0 0
|
||||
41 0 10 0 0
|
||||
42 0 10 0 0
|
||||
43 0 10 0 0
|
||||
44 0 10 0 0
|
||||
45 0 10 0 0
|
||||
46 0 10 0 0
|
||||
47 0 10 0 0
|
||||
48 0 10 0 0
|
||||
49 0 10 0 0
|
||||
50 0 10 0 0
|
||||
51 0 0 0 0
|
||||
52 0 0 0 0
|
||||
53 0 0 0 0
|
||||
54 0 0 0 0
|
||||
55 0 0 0 0
|
||||
56 0 0 0 0
|
||||
57 0 0 0 0
|
||||
58 0 0 0 0
|
||||
59 0 0 0 0
|
||||
60 0 0 0 0
|
||||
61 0 0 0 0
|
||||
62 0 0 0 0
|
||||
63 0 0 0 0
|
||||
64 0 0 0 0
|
||||
65 0 0 0 0
|
||||
66 0 0 0 0
|
||||
67 0 0 0 0
|
||||
68 0 0 0 0
|
||||
69 0 0 0 0
|
||||
70 0 0 0 0
|
||||
71 0 0 0 0
|
||||
72 0 0 0 0
|
||||
73 0 0 0 0
|
||||
74 0 0 0 0
|
||||
75 0 0 0 0
|
||||
76 0 0 0 0
|
||||
77 0 0 0 0
|
||||
78 0 0 0 0
|
||||
79 0 0 0 0
|
||||
80 0 0 0 0
|
||||
81 0 0 0 0
|
||||
82 0 0 0 0
|
||||
83 0 0 0 0
|
||||
84 0 0 0 0
|
||||
85 0 0 0 0
|
||||
86 0 0 0 0
|
||||
322
docs/pages/tutorial/lagrit_introduction/step_03/tmp_surf2.inp
Normal file
@@ -0,0 +1,322 @@
|
||||
86 144 4 0 0
|
||||
001 -1.097370898554E+01 -1.000000000000E+00 2.120379976043E+01
|
||||
002 2.596243477912E-01 -1.000000000000E+00 3.120379976043E+01
|
||||
003 1.149295768112E+01 -1.000000000000E+00 4.120379976043E+01
|
||||
004 2.272629101446E+01 -1.000000000000E+00 5.120379976043E+01
|
||||
005 3.395962434779E+01 -1.000000000000E+00 6.120379976043E+01
|
||||
006 4.519295768112E+01 -1.000000000000E+00 7.120379976043E+01
|
||||
007 5.642629101446E+01 -1.000000000000E+00 8.120379976043E+01
|
||||
008 6.765962434779E+01 -1.000000000000E+00 9.120379976043E+01
|
||||
009 7.889295768112E+01 -1.000000000000E+00 1.012037997604E+02
|
||||
010 9.012629101446E+01 -1.000000000000E+00 1.112037997604E+02
|
||||
011 -1.097370898554E+01 1.200000000000E+01 2.120379976043E+01
|
||||
012 2.596243477912E-01 1.200000000000E+01 3.120379976043E+01
|
||||
013 1.149295768112E+01 1.200000000000E+01 4.120379976043E+01
|
||||
014 2.272629101446E+01 1.200000000000E+01 5.120379976043E+01
|
||||
015 3.395962434779E+01 1.200000000000E+01 6.120379976043E+01
|
||||
016 4.519295768112E+01 1.200000000000E+01 7.120379976043E+01
|
||||
017 5.642629101446E+01 1.200000000000E+01 8.120379976043E+01
|
||||
018 6.765962434779E+01 1.200000000000E+01 9.120379976043E+01
|
||||
019 7.889295768112E+01 1.200000000000E+01 1.012037997604E+02
|
||||
020 9.012629101446E+01 1.200000000000E+01 1.112037997604E+02
|
||||
021 -1.097370898554E+01 2.500000000000E+01 2.120379976043E+01
|
||||
022 2.596243477912E-01 2.500000000000E+01 3.120379976043E+01
|
||||
023 1.149295768112E+01 2.500000000000E+01 4.120379976043E+01
|
||||
024 2.272629101446E+01 2.500000000000E+01 5.120379976043E+01
|
||||
025 3.395962434779E+01 2.500000000000E+01 6.120379976043E+01
|
||||
026 4.519295768112E+01 2.500000000000E+01 7.120379976043E+01
|
||||
027 5.642629101446E+01 2.500000000000E+01 8.120379976043E+01
|
||||
028 6.765962434779E+01 2.500000000000E+01 9.120379976043E+01
|
||||
029 7.889295768112E+01 2.500000000000E+01 1.012037997604E+02
|
||||
030 9.012629101446E+01 2.500000000000E+01 1.112037997604E+02
|
||||
031 -1.097370898554E+01 3.800000000000E+01 2.120379976043E+01
|
||||
032 2.596243477912E-01 3.800000000000E+01 3.120379976043E+01
|
||||
033 1.149295768112E+01 3.800000000000E+01 4.120379976043E+01
|
||||
034 2.272629101446E+01 3.800000000000E+01 5.120379976043E+01
|
||||
035 3.395962434779E+01 3.800000000000E+01 6.120379976043E+01
|
||||
036 4.519295768112E+01 3.800000000000E+01 7.120379976043E+01
|
||||
037 5.642629101446E+01 3.800000000000E+01 8.120379976043E+01
|
||||
038 6.765962434779E+01 3.800000000000E+01 9.120379976043E+01
|
||||
039 7.889295768112E+01 3.800000000000E+01 1.012037997604E+02
|
||||
040 9.012629101446E+01 3.800000000000E+01 1.112037997604E+02
|
||||
041 -1.097370898554E+01 5.100000000000E+01 2.120379976043E+01
|
||||
042 2.596243477912E-01 5.100000000000E+01 3.120379976043E+01
|
||||
043 1.149295768112E+01 5.100000000000E+01 4.120379976043E+01
|
||||
044 2.272629101446E+01 5.100000000000E+01 5.120379976043E+01
|
||||
045 3.395962434779E+01 5.100000000000E+01 6.120379976043E+01
|
||||
046 4.519295768112E+01 5.100000000000E+01 7.120379976043E+01
|
||||
047 5.642629101446E+01 5.100000000000E+01 8.120379976043E+01
|
||||
048 6.765962434779E+01 5.100000000000E+01 9.120379976043E+01
|
||||
049 7.889295768112E+01 5.100000000000E+01 1.012037997604E+02
|
||||
050 9.012629101446E+01 5.100000000000E+01 1.112037997604E+02
|
||||
051 -5.357042318876E+00 5.500000000000E+00 2.620379976043E+01
|
||||
052 5.876291014458E+00 5.500000000000E+00 3.620379976043E+01
|
||||
053 1.710962434779E+01 5.500000000000E+00 4.620379976043E+01
|
||||
054 2.834295768112E+01 5.500000000000E+00 5.620379976043E+01
|
||||
055 3.957629101446E+01 5.500000000000E+00 6.620379976043E+01
|
||||
056 5.080962434779E+01 5.500000000000E+00 7.620379976043E+01
|
||||
057 6.204295768112E+01 5.500000000000E+00 8.620379976043E+01
|
||||
058 7.327629101446E+01 5.500000000000E+00 9.620379976043E+01
|
||||
059 8.450962434779E+01 5.500000000000E+00 1.062037997604E+02
|
||||
060 -5.357042318876E+00 1.850000000000E+01 2.620379976043E+01
|
||||
061 5.876291014458E+00 1.850000000000E+01 3.620379976043E+01
|
||||
062 1.710962434779E+01 1.850000000000E+01 4.620379976043E+01
|
||||
063 2.834295768112E+01 1.850000000000E+01 5.620379976043E+01
|
||||
064 3.957629101446E+01 1.850000000000E+01 6.620379976043E+01
|
||||
065 5.080962434779E+01 1.850000000000E+01 7.620379976043E+01
|
||||
066 6.204295768112E+01 1.850000000000E+01 8.620379976043E+01
|
||||
067 7.327629101446E+01 1.850000000000E+01 9.620379976043E+01
|
||||
068 8.450962434779E+01 1.850000000000E+01 1.062037997604E+02
|
||||
069 -5.357042318876E+00 3.150000000000E+01 2.620379976043E+01
|
||||
070 5.876291014458E+00 3.150000000000E+01 3.620379976043E+01
|
||||
071 1.710962434779E+01 3.150000000000E+01 4.620379976043E+01
|
||||
072 2.834295768112E+01 3.150000000000E+01 5.620379976043E+01
|
||||
073 3.957629101446E+01 3.150000000000E+01 6.620379976043E+01
|
||||
074 5.080962434779E+01 3.150000000000E+01 7.620379976043E+01
|
||||
075 6.204295768112E+01 3.150000000000E+01 8.620379976043E+01
|
||||
076 7.327629101446E+01 3.150000000000E+01 9.620379976043E+01
|
||||
077 8.450962434779E+01 3.150000000000E+01 1.062037997604E+02
|
||||
078 -5.357042318876E+00 4.450000000000E+01 2.620379976043E+01
|
||||
079 5.876291014458E+00 4.450000000000E+01 3.620379976043E+01
|
||||
080 1.710962434779E+01 4.450000000000E+01 4.620379976043E+01
|
||||
081 2.834295768112E+01 4.450000000000E+01 5.620379976043E+01
|
||||
082 3.957629101446E+01 4.450000000000E+01 6.620379976043E+01
|
||||
083 5.080962434779E+01 4.450000000000E+01 7.620379976043E+01
|
||||
084 6.204295768112E+01 4.450000000000E+01 8.620379976043E+01
|
||||
085 7.327629101446E+01 4.450000000000E+01 9.620379976043E+01
|
||||
086 8.450962434779E+01 4.450000000000E+01 1.062037997604E+02
|
||||
0001 1 tri 51 1 2
|
||||
0002 1 tri 51 2 12
|
||||
0003 1 tri 51 12 11
|
||||
0004 1 tri 51 11 1
|
||||
0005 1 tri 52 2 3
|
||||
0006 1 tri 52 3 13
|
||||
0007 1 tri 52 13 12
|
||||
0008 1 tri 52 12 2
|
||||
0009 1 tri 53 3 4
|
||||
0010 1 tri 53 4 14
|
||||
0011 1 tri 53 14 13
|
||||
0012 1 tri 53 13 3
|
||||
0013 1 tri 54 4 5
|
||||
0014 1 tri 54 5 15
|
||||
0015 1 tri 54 15 14
|
||||
0016 1 tri 54 14 4
|
||||
0017 1 tri 55 5 6
|
||||
0018 1 tri 55 6 16
|
||||
0019 1 tri 55 16 15
|
||||
0020 1 tri 55 15 5
|
||||
0021 1 tri 56 6 7
|
||||
0022 1 tri 56 7 17
|
||||
0023 1 tri 56 17 16
|
||||
0024 1 tri 56 16 6
|
||||
0025 1 tri 57 7 8
|
||||
0026 1 tri 57 8 18
|
||||
0027 1 tri 57 18 17
|
||||
0028 1 tri 57 17 7
|
||||
0029 1 tri 58 8 9
|
||||
0030 1 tri 58 9 19
|
||||
0031 1 tri 58 19 18
|
||||
0032 1 tri 58 18 8
|
||||
0033 1 tri 59 9 10
|
||||
0034 1 tri 59 10 20
|
||||
0035 1 tri 59 20 19
|
||||
0036 1 tri 59 19 9
|
||||
0037 1 tri 60 11 12
|
||||
0038 1 tri 60 12 22
|
||||
0039 1 tri 60 22 21
|
||||
0040 1 tri 60 21 11
|
||||
0041 1 tri 61 12 13
|
||||
0042 1 tri 61 13 23
|
||||
0043 1 tri 61 23 22
|
||||
0044 1 tri 61 22 12
|
||||
0045 1 tri 62 13 14
|
||||
0046 1 tri 62 14 24
|
||||
0047 1 tri 62 24 23
|
||||
0048 1 tri 62 23 13
|
||||
0049 1 tri 63 14 15
|
||||
0050 1 tri 63 15 25
|
||||
0051 1 tri 63 25 24
|
||||
0052 1 tri 63 24 14
|
||||
0053 1 tri 64 15 16
|
||||
0054 1 tri 64 16 26
|
||||
0055 1 tri 64 26 25
|
||||
0056 1 tri 64 25 15
|
||||
0057 1 tri 65 16 17
|
||||
0058 1 tri 65 17 27
|
||||
0059 1 tri 65 27 26
|
||||
0060 1 tri 65 26 16
|
||||
0061 1 tri 66 17 18
|
||||
0062 1 tri 66 18 28
|
||||
0063 1 tri 66 28 27
|
||||
0064 1 tri 66 27 17
|
||||
0065 1 tri 67 18 19
|
||||
0066 1 tri 67 19 29
|
||||
0067 1 tri 67 29 28
|
||||
0068 1 tri 67 28 18
|
||||
0069 1 tri 68 19 20
|
||||
0070 1 tri 68 20 30
|
||||
0071 1 tri 68 30 29
|
||||
0072 1 tri 68 29 19
|
||||
0073 1 tri 69 21 22
|
||||
0074 1 tri 69 22 32
|
||||
0075 1 tri 69 32 31
|
||||
0076 1 tri 69 31 21
|
||||
0077 1 tri 70 22 23
|
||||
0078 1 tri 70 23 33
|
||||
0079 1 tri 70 33 32
|
||||
0080 1 tri 70 32 22
|
||||
0081 1 tri 71 23 24
|
||||
0082 1 tri 71 24 34
|
||||
0083 1 tri 71 34 33
|
||||
0084 1 tri 71 33 23
|
||||
0085 1 tri 72 24 25
|
||||
0086 1 tri 72 25 35
|
||||
0087 1 tri 72 35 34
|
||||
0088 1 tri 72 34 24
|
||||
0089 1 tri 73 25 26
|
||||
0090 1 tri 73 26 36
|
||||
0091 1 tri 73 36 35
|
||||
0092 1 tri 73 35 25
|
||||
0093 1 tri 74 26 27
|
||||
0094 1 tri 74 27 37
|
||||
0095 1 tri 74 37 36
|
||||
0096 1 tri 74 36 26
|
||||
0097 1 tri 75 27 28
|
||||
0098 1 tri 75 28 38
|
||||
0099 1 tri 75 38 37
|
||||
0100 1 tri 75 37 27
|
||||
0101 1 tri 76 28 29
|
||||
0102 1 tri 76 29 39
|
||||
0103 1 tri 76 39 38
|
||||
0104 1 tri 76 38 28
|
||||
0105 1 tri 77 29 30
|
||||
0106 1 tri 77 30 40
|
||||
0107 1 tri 77 40 39
|
||||
0108 1 tri 77 39 29
|
||||
0109 1 tri 78 31 32
|
||||
0110 1 tri 78 32 42
|
||||
0111 1 tri 78 42 41
|
||||
0112 1 tri 78 41 31
|
||||
0113 1 tri 79 32 33
|
||||
0114 1 tri 79 33 43
|
||||
0115 1 tri 79 43 42
|
||||
0116 1 tri 79 42 32
|
||||
0117 1 tri 80 33 34
|
||||
0118 1 tri 80 34 44
|
||||
0119 1 tri 80 44 43
|
||||
0120 1 tri 80 43 33
|
||||
0121 1 tri 81 34 35
|
||||
0122 1 tri 81 35 45
|
||||
0123 1 tri 81 45 44
|
||||
0124 1 tri 81 44 34
|
||||
0125 1 tri 82 35 36
|
||||
0126 1 tri 82 36 46
|
||||
0127 1 tri 82 46 45
|
||||
0128 1 tri 82 45 35
|
||||
0129 1 tri 83 36 37
|
||||
0130 1 tri 83 37 47
|
||||
0131 1 tri 83 47 46
|
||||
0132 1 tri 83 46 36
|
||||
0133 1 tri 84 37 38
|
||||
0134 1 tri 84 38 48
|
||||
0135 1 tri 84 48 47
|
||||
0136 1 tri 84 47 37
|
||||
0137 1 tri 85 38 39
|
||||
0138 1 tri 85 39 49
|
||||
0139 1 tri 85 49 48
|
||||
0140 1 tri 85 48 38
|
||||
0141 1 tri 86 39 40
|
||||
0142 1 tri 86 40 50
|
||||
0143 1 tri 86 50 49
|
||||
0144 1 tri 86 49 39
|
||||
00004 1 1 1 1
|
||||
imt1, integer
|
||||
itp1, integer
|
||||
icr1, integer
|
||||
isn1, integer
|
||||
1 0 10 0 0
|
||||
2 0 10 0 0
|
||||
3 0 10 0 0
|
||||
4 0 10 0 0
|
||||
5 0 10 0 0
|
||||
6 0 10 0 0
|
||||
7 0 10 0 0
|
||||
8 0 10 0 0
|
||||
9 0 10 0 0
|
||||
10 0 10 0 0
|
||||
11 0 10 0 0
|
||||
12 0 0 0 0
|
||||
13 0 0 0 0
|
||||
14 0 0 0 0
|
||||
15 0 0 0 0
|
||||
16 0 0 0 0
|
||||
17 0 0 0 0
|
||||
18 0 0 0 0
|
||||
19 0 0 0 0
|
||||
20 0 10 0 0
|
||||
21 0 10 0 0
|
||||
22 0 0 0 0
|
||||
23 0 0 0 0
|
||||
24 0 0 0 0
|
||||
25 0 0 0 0
|
||||
26 0 0 0 0
|
||||
27 0 0 0 0
|
||||
28 0 0 0 0
|
||||
29 0 0 0 0
|
||||
30 0 10 0 0
|
||||
31 0 10 0 0
|
||||
32 0 0 0 0
|
||||
33 0 0 0 0
|
||||
34 0 0 0 0
|
||||
35 0 0 0 0
|
||||
36 0 0 0 0
|
||||
37 0 0 0 0
|
||||
38 0 0 0 0
|
||||
39 0 0 0 0
|
||||
40 0 10 0 0
|
||||
41 0 10 0 0
|
||||
42 0 10 0 0
|
||||
43 0 10 0 0
|
||||
44 0 10 0 0
|
||||
45 0 10 0 0
|
||||
46 0 10 0 0
|
||||
47 0 10 0 0
|
||||
48 0 10 0 0
|
||||
49 0 10 0 0
|
||||
50 0 10 0 0
|
||||
51 0 0 0 0
|
||||
52 0 0 0 0
|
||||
53 0 0 0 0
|
||||
54 0 0 0 0
|
||||
55 0 0 0 0
|
||||
56 0 0 0 0
|
||||
57 0 0 0 0
|
||||
58 0 0 0 0
|
||||
59 0 0 0 0
|
||||
60 0 0 0 0
|
||||
61 0 0 0 0
|
||||
62 0 0 0 0
|
||||
63 0 0 0 0
|
||||
64 0 0 0 0
|
||||
65 0 0 0 0
|
||||
66 0 0 0 0
|
||||
67 0 0 0 0
|
||||
68 0 0 0 0
|
||||
69 0 0 0 0
|
||||
70 0 0 0 0
|
||||
71 0 0 0 0
|
||||
72 0 0 0 0
|
||||
73 0 0 0 0
|
||||
74 0 0 0 0
|
||||
75 0 0 0 0
|
||||
76 0 0 0 0
|
||||
77 0 0 0 0
|
||||
78 0 0 0 0
|
||||
79 0 0 0 0
|
||||
80 0 0 0 0
|
||||
81 0 0 0 0
|
||||
82 0 0 0 0
|
||||
83 0 0 0 0
|
||||
84 0 0 0 0
|
||||
85 0 0 0 0
|
||||
86 0 0 0 0
|
||||
314
docs/pages/tutorial/lagrit_introduction/step_04.md
Executable file
@@ -0,0 +1,314 @@
|
||||
---
|
||||
title: Tutorial LaGriT Introduction Step 04
|
||||
---
|
||||
|
||||
# Step 4. Write FEHM Setup Files
|
||||
|
||||
<p>
|
||||
<a href="step_04/04_tet_nodes_imt_well_pts.png"> <img width="500" src="step_04/04_tet_nodes_imt_well_pts.png" /> </a>
|
||||
</p>
|
||||
<br>
|
||||
<!-- End image -->
|
||||
|
||||
|
||||
#### LaGriT command file: [04_fehm_files.lgi](step_04/04_fehm_files.lgi.txt)
|
||||
#### LaGriT output file: [lagrit.out](step_04/04_fehm_files.out.txt)
|
||||
#### LaGriT all run files: [Folder step_04](https://github.com/lanl/LaGriT/tree/master/docs/pages/tutorial/lagrit_introduction/step_04)
|
||||
|
||||
|
||||
LaGriT's meshing tools are tailored for geologic applications and Voronoi control volume solvers. Though LaGriT can write files that are of general use, some are specifically designed for the FEHM porous flow and transport code. This example writes model setup files used by FEHM but can be modified for use in other simulators using Voronoi control volumes (FEHM, PFLOTRAN, TOUGH2).
|
||||
|
||||
- Use the tetrahedral mesh with materials created in Step 3.
|
||||
- Use [**`dump/fehm`**](https://lanl.github.io/LaGriT/pages/docs/commands/dump/DUMP3.html) to write 7 model setup files.
|
||||
- Locate and write a list of nodes representing a vertical well zone.
|
||||
- View and check the mesh quality and defined zones.
|
||||
|
||||
The following model setup files will be written:
|
||||
- material.zone - node zone lists for each material. Same as [**`dump/zone_imt`**](https://lanl.github.io/LaGriT/pages/docs/commands/DUMP2.html#zone)
|
||||
- outside.zone - lists of nodes on outside boundaries such as top, bottom, and sides. Same as [**`dump/zone_outside`**](https://lanl.github.io/LaGriT/pages/docs/commands/DUMP2.html#zone)
|
||||
- outside_vor.area - voronoi areas associated with nodes on outside boundaries
|
||||
- multi_mat.zone - lists of node pairs connected across material interfaces (multi-material nodes)
|
||||
- interface.zone - lists of nodes along material interfaces (for multi-material cells seldom used with FEHM)
|
||||
- .stor - file with voronoi control volumes associated with each node and the sparse matrix structure. Same as [**`dump/stor`**](https://lanl.github.io/LaGriT/pages/docs/commands/DUMP2.html#stor) and described at [**`stor format`**](https://lanl.github.io/LaGriT/pages/docs/STOR_Form.html)
|
||||
- .fehm - mesh coordinates and geometry in FEHM grid format. Same as [**`dump/coord`**](https://lanl.github.io/LaGriT/pages/docs/commands/DUMP2.html#coord)
|
||||
|
||||
|
||||
## Read the tetrahedral mesh with materials from Example 3
|
||||
|
||||
|
||||
Read the mesh and check for positive volumes and expected node material values. The `quality` command shows all cells with the same volume as expected. The [**`cmo/printatt`**](https://lanl.github.io/LaGriT/pages/docs/commands/cmo/cmo_printatt.html) command is recommended for checking mesh attributes at important steps in the input file. The keyword **minmax** will display the min and max values of mesh attributes for easy confirmation of values. As expected, the node attribute has material values 1 to 4. (Created in [Step 3](../step_03.md)).
|
||||
|
||||
Note. You can add a `finish` command after this section and exit early to be sure all is as expected. Then comment out or remove the temporary finish.
|
||||
|
||||
```
|
||||
read / avs / tet_interp_materials.inp / mo_tet
|
||||
quality
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
```
|
||||
|
||||
<pre class="lg-output">
|
||||
---------------------------------------
|
||||
All elements have volume 8.3333333E+01
|
||||
---------------------------------------
|
||||
4800 total elements evaluated.
|
||||
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
</pre>
|
||||
|
||||
The following commands are almost always used in preparation of writing FEHM model files. They are not always needed but using them will cause no harm. It is good practice to include in case they are needed.
|
||||
|
||||
- Set cell colors to 1. FEHM uses properties assigned to the voronoi volumes around the mesh vertices (nodes). Though cell colors are better for images, they are not used in FEHM simulations. It is good practice to set the element attribute **itetclr** to 1. This avoids routines looking for multi-material elements.
|
||||
|
||||
- Reset the itp array when materials are changed. This array is important to some routines.
|
||||
|
||||
- The [**`resetpts/parent`**](https://lanl.github.io/LaGriT/pages/docs/commands/RESETPT.html) command will remove the parent-child relationship is established in the settets command.
|
||||
|
||||
- Sometimes during the meshing process there will be duplicate or double-defined nodes created. Use the `filter` command to find and tag nodes as `dudded`.
|
||||
|
||||
- IMPORTANT: Nodes tagged for removal will not be deleted from the mesh object until `rmpoint/compress` is called. This will remove any dudded nodes and adjust the connectivity.
|
||||
|
||||
```
|
||||
cmo/select/mo_tet
|
||||
cmo/setatt/mo_tet itetclr 1
|
||||
resetpts/itp
|
||||
|
||||
cmo/select/mo_tet
|
||||
resetpts/parent
|
||||
filter/1,0,0
|
||||
rmpoint/compress
|
||||
```
|
||||
|
||||
## Write default FEHM files
|
||||
|
||||
By default, all 7 FEHM files are written with rootname "tet".
|
||||
|
||||
```
|
||||
dump/fehm/ tet /mo_tet/ keepatt
|
||||
dump/avs/tet_fehm.inp/mo_tet
|
||||
```
|
||||
|
||||
Note: We normally do not use multiple material regions for FEHM so the `interface.zone` will be empty. (If itetclr=1 and resetpts/itp was called). If the node imt materials are a single value, the `multi_mat.zone` will also be empty.
|
||||
|
||||
<pre class="lg-output">
|
||||
-rw-rw-r-- 1 tamiller sft 372523 Apr 2 18:29 step_04/tet.fehmn
|
||||
-rw-rw-r-- 1 tamiller sft 203060 Apr 2 18:29 step_04/tet.stor
|
||||
-rw-rw-r-- 1 tamiller sft 12486 Apr 2 18:29 step_04/tet_material.zone
|
||||
-rw-rw-r-- 1 tamiller sft 8067 Apr 2 18:29 step_04/tet_outside.zone
|
||||
-rw-rw-r-- 1 tamiller sft 45739 Apr 2 18:29 step_04/tet_outside_vor.area
|
||||
-rw-rw-r-- 1 tamiller sft 32600 Apr 2 18:29 step_04/tet_multi_mat.zone
|
||||
-rw-rw-r-- 1 tamiller sft 0 Apr 2 18:28 step_04/tet_interface.zone
|
||||
</pre>
|
||||
|
||||
|
||||
The `_material.zone` file contains zones listing node ids for each integer value found in the mesh **imt** attribute. This is a single file separated by id, "nnum" and total for each list. See right image below.
|
||||
|
||||
The **keepatt** keyword will keep attributes normally deleted after writing files. The 6 outside attribute names are added to the mesh object with the names and integer id based on normal directions:
|
||||
- 1 = top = top = positive z direction (0,0,1)
|
||||
- 2 = bottom = bottom = negative z direction (0,0,-1)
|
||||
- 3 = left_w = left or west = negative x direction (-1,0,0)
|
||||
- 4 = front_s = front or south = negative y direction (0,-1,0)
|
||||
- 5 = right_e = right or east = positive x direction (1,0,0)
|
||||
- 6 = back_n = back or north = positive y direction (0,1,0)
|
||||
|
||||
Note: A node can occur in multiple zones. For instance, a node located on a top corner of the mesh can be found in zones for top, front_s, and left_w. See left image below.
|
||||
|
||||
|
||||
<p> Paraview images showing mesh node attributes <b>w_left</b> mesh boundary (left) and node <b>imt</b> materials (right) <br>
|
||||
<a href="step_04/04_tet_nodes_left_w.png"> <img width="400" src="step_04/04_tet_nodes_left_w.png" /> </a>
|
||||
<a href="step_04/04_tet_nodes_imt.png"> <img width="400" src="step_04/04_tet_nodes_imt.png" /> </a>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
||||
The output from the `dump/fehm` command generates output that is useful for checking the final mesh and to share in reports.
|
||||
The following is a table reporting the node count for each material. In this case the bottom layer material 1 has the most nodes and the fault material 4 has the fewest as expected.
|
||||
|
||||
<pre class="lg-output">
|
||||
*********dump_material_lists********
|
||||
Minimum material ID value = 1
|
||||
Maximum material ID value = 4
|
||||
Total possible materials = 4
|
||||
Material 1 has 468 nodes. #nodes/nnodes is 0.417112290859
|
||||
Material 2 has 270 nodes. #nodes/nnodes is 0.240641713142
|
||||
Material 3 has 204 nodes. #nodes/nnodes is 0.181818187237
|
||||
Material 4 has 180 nodes. #nodes/nnodes is 0.160427808762
|
||||
</pre>
|
||||
|
||||
The routine `AMatbld3d_stor` generates a report summary regarding the voronoi volumes and number of coefficients.
|
||||
|
||||
|
||||
<pre class="lg-output">
|
||||
AMatbld3d_stor: *****Zero Negative Coefficients ******
|
||||
AMatbld3d_stor: Number of 'zero' (< compress_eps) coefs 0
|
||||
AMatbld3d_stor: npoints = 1122 ncoefs = 7144
|
||||
AMatbld3d_stor: Number of unique coefs = 6
|
||||
AMatbld3d_stor: Maximum num. connections to a node = 7
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
</pre>
|
||||
|
||||
Negative coefficients can occur on non-convex boundaries or with unstructured complex meshes. If they occur, these negative coefficients are stored in a node attribute named `ccoef`. Viewing this attribute can provide help in finding areas of the mesh that need adjustment. It is possible that a mesh has ccoef values at or very close to zero, in which case they can be ignored. The following pset commands can help find ccoef values of concern.
|
||||
|
||||
Note. The `cmo/addatt` command is called but will not be used if the `AMatbld3d_stor` routine creates it. We create it just in case it does not exist so the commands using it do not fail with an Error.
|
||||
|
||||
```
|
||||
cmo/addatt/mo_tet/ccoef/VDOUBLE/scalar/nnodes/linear/
|
||||
cmo select mo_tet
|
||||
pset pin attribute itp 1,0,0 lt 10
|
||||
pset pneg attribute ccoef 1,0,0 lt -.0001
|
||||
pset pBAD inter pin pneg
|
||||
cmo printatt mo_tet ccoef minmax
|
||||
cmo printatt mo_tet -all- minmax
|
||||
```
|
||||
|
||||
## Create zone file for vertical well
|
||||
|
||||
|
||||
Zones for simulations can be created and written by using the `pset` commands. In this example a single column of nodes is selected to represent a well. There are numerous ways to create a set, in this example we use a geometric region in box shape. A cylinder would also work.
|
||||
|
||||
Regions are defined by surfaces, here we use a box surface around the node column at 50,10 X,Y. The region is defined as an inside the box surface but can be combined with other surfaces for more complex regions. A pset is formed of all points within the `r_bx` region and written to a zone file.
|
||||
|
||||
Write the list of nodes to a zone file
|
||||
Assign a zone number larger than max material
|
||||
|
||||
```
|
||||
cmo select mo_tet
|
||||
surface / s_box / reflect / box / 49.5 19.5 -1. / 50.5 20.5 100.
|
||||
region/ r_box / le s_box
|
||||
pset/pwell/ region / r_box
|
||||
|
||||
# check extents of the well nodes
|
||||
cmo/printatt/mo_tet/-xyz/ minmax/ pset,get,pwell
|
||||
|
||||
pset/pwell/ zone / tet_well_nodes.zone / ascii / 11
|
||||
```
|
||||
|
||||
There should be 13 nodes found within the region. Check the xyz extents to see that one column is selected at the intended elevations.
|
||||
|
||||
<pre class="lg-output">
|
||||
THE PSET pwell HAS 13 POINTS
|
||||
|
||||
cmo/printatt/mo_tet/-xyz-/minmax/pset,get,pwell
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
xic 5.000000000E+01 5.000000000E+01 0.000000000E+00 1122
|
||||
yic 2.000000000E+01 2.000000000E+01 0.000000000E+00 1122
|
||||
zic 2.000000000E+01 8.000000000E+01 6.000000000E+01 1122
|
||||
</pre>
|
||||
|
||||
## Add Mesh Attributes for Mesh Views
|
||||
|
||||
When inspecting the mesh and to create informative figures, it helps to add attributes. For this example, a node attribute named **iwell** is created and assigned the value 11. The elevation is nice to see and is created by copying the **zic** attribute to a new attribute named **elev**.
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
cmo/addatt/mo_tet iwell/VINT/scalar/nnodes/linear/permanent//0
|
||||
cmo/setatt/mo_tet/ iwell /pset,get,pwell/ 11
|
||||
cmo/printatt/mo_tet/ iwell/ minmax
|
||||
|
||||
cmo/addatt/mo_tet elev/VDOUBLE/scalar/nnodes/
|
||||
cmo/copyatt/ mo_tet mo_tet / elev zic
|
||||
|
||||
cmo/set_id/mo_tet/node/ id_node
|
||||
|
||||
dump/avs/tet_attributes.inp/ mo_tet
|
||||
cmo/printatt/mo_tet/-all- minmax
|
||||
cmo/status/mo_tet
|
||||
```
|
||||
|
||||
The command `cmo/printatt` is used with the **minmax** keyword to check attributes and values in the mesh object. In this example, added attributes include the 6 boundary directions, iwell, elev, and id_node.
|
||||
|
||||
<pre class="lg-output">
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
-def- 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
scalar 1 1 0 1
|
||||
vector 3 3 0 1
|
||||
nnodes 1122 1122 0 1
|
||||
nedges 0 0 0 1
|
||||
nfaces 0 0 0 1
|
||||
nelements 4800 4800 0 1
|
||||
...
|
||||
imt1 1 4 3 1122
|
||||
itp1 0 10 10 1122
|
||||
icr1 0 0 0 1122
|
||||
isn1 0 0 0 1122
|
||||
xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 1122
|
||||
yic 0.000000000E+00 5.000000000E+01 5.000000000E+01 1122
|
||||
zic 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
itetclr 1 1 0 4800
|
||||
...
|
||||
top -5 1 6 1122
|
||||
bottom -5 2 7 1122
|
||||
left_w -5 3 8 1122
|
||||
right_e -5 5 10 1122
|
||||
back_n -5 6 11 1122
|
||||
front_s -5 4 9 1122
|
||||
ccoef 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
ncon50 2500 2500 0 1
|
||||
nconbnd 1 1 0 1
|
||||
icontab 0 2 2 2500
|
||||
iwell 0 11 11 1122
|
||||
elev 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
id_node 1 1122 1121 1122
|
||||
</pre>
|
||||
|
||||
## Check Well Zone
|
||||
|
||||
It can be difficult to view mesh nodes within a mesh, it helps to write the points as a separate view file. The mesh nodes (without elements) are copied to a `motmp` mesh object which has all nodes removed except the well nodes. These can be written to any file format, but the AVS UCD pnt type is recognized by Paraview for easier point displays. This is part of the `dump/avs` options that can be set after the mesh object name.
|
||||
|
||||
These options are provided to enable a user the flexibility of writing ASCII files with desired information. For this example, "1 3 1 0 0" means 1= nodes are written, 3 = elements are written of type "pnt", 1 = node attributes are written, 0 = cell attributes are not written, and 0 = model attributes are not written.
|
||||
|
||||
|
||||
```
|
||||
cmo/create/motmp
|
||||
copypts/motmp/mo_tet
|
||||
cmo/select/motmp
|
||||
pset/pduds/attribute iwell/1,0,0/ ne 11
|
||||
rmpoint/pset,get,pduds
|
||||
rmpoint/compress
|
||||
|
||||
dump/avs/tet_well_pnts.inp/ motmp / 1 3 1 0 0
|
||||
cmo/printatt/motmp/-all- minmax
|
||||
```
|
||||
These Paraview images show the mesh clipped to the well (left) and the well nodes (right). Check the well nodes are located correctly with respect to the mesh materials. Use Paraview to Query a well node to check attributes such as **imt** material and **elev**. Note when the well points are subset from the full mesh, the node ID changes but the attribute **node_id** has the original mesh node ID saved.
|
||||
|
||||
|
||||
<p>
|
||||
<a href="step_04/04_tet_nodes_imt_well_pts.png"> <img width="400" src="step_04/04_tet_nodes_imt_well_pts.png" /> </a>
|
||||
<a href="step_04/04_well_nodes_paraview.png"> <img width="450" src="step_04/04_well_nodes_paraview.png" /> </a>
|
||||
</p>
|
||||
|
||||
## finish
|
||||
|
||||
Always end a session or a file with the **finish** command.
|
||||
|
||||
```
|
||||
finish
|
||||
```
|
||||
|
||||
## Snapshots of Paraview Sessions
|
||||
|
||||
This snapshot of the Paraview session shows settings for viewing the clipped mesh and well points.
|
||||
|
||||
<p>
|
||||
<a href="step_04/04_mesh_clip_well_paraview.png"> <img width="400" src="step_04/04_mesh_clip_well_paraview.png" /> </a>
|
||||
</p>
|
||||
<br>
|
||||
|
||||
## finish
|
||||
|
||||
Always end a session or a file with the **finish** command and a line return after the finish command. The command line parser will not parse a command without a line return.
|
||||
|
||||
```
|
||||
finish
|
||||
|
||||
```
|
||||
|
||||
#### [LaGriT Introduction Index](index.html)
|
||||
#### [Step 1. Create a Hex Mesh](step_01.html)
|
||||
#### [Step 2. Convert Hex Mesh to Tet Mesh](step_02.html)
|
||||
#### [Step 3. Assign materials to the Mesh](step_03.html)
|
||||
#### [Step 4. Write Mesh and FEHM Setup Files](step_04.html)
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 4. Write Mesh and FEHM setup files
|
||||
# Uses commands dump/fehm and pset write
|
||||
|
||||
# -----------------------------------------
|
||||
# Read tet mesh with materials from Example 3
|
||||
|
||||
read / avs / tet_interp_materials.inp / mo_tet
|
||||
|
||||
# -----------------------------------------
|
||||
# Check there are no negative volumes
|
||||
# Check node materials are defined as expected
|
||||
quality
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
|
||||
# -----------------------------------------
|
||||
# FEHM does not use element materials
|
||||
# Set to 1 avoids algorithms using multi-material elements
|
||||
# Materials are changed so reset itp to be safe
|
||||
cmo/select/mo_tet
|
||||
cmo/setatt/mo_tet itetclr 1
|
||||
resetpts/itp
|
||||
|
||||
# Remove double-defined nodes and duplicates
|
||||
# Good practice to include these commands with final mesh
|
||||
# Nothing will happen if not needed
|
||||
cmo/select/mo_tet
|
||||
resetpts/parent
|
||||
filter/1,0,0
|
||||
rmpoint/compress
|
||||
|
||||
# -----------------------------------------
|
||||
# Write default FEHM files
|
||||
dump/fehm/ tet /mo_tet/ keepatt
|
||||
|
||||
# Write AVS file with attributes created for FEHM files
|
||||
dump/avs/tet_fehm.inp/mo_tet
|
||||
|
||||
# CHECK for neg ccoefs in the interior mesh
|
||||
cmo/addatt/mo_tet/ccoef/VDOUBLE/scalar/nnodes/linear/
|
||||
cmo select mo_tet
|
||||
pset pin attribute itp 1,0,0 lt 10
|
||||
pset pneg attribute ccoef 1,0,0 lt -.0001
|
||||
pset pBAD inter pin pneg
|
||||
cmo printatt mo_tet ccoef minmax
|
||||
cmo printatt mo_tet -all- minmax
|
||||
|
||||
# -----------------------------------------
|
||||
# Create zone file for vertical well
|
||||
# Use region defined by box surface
|
||||
# vertical column at 50x 20y end at 20z
|
||||
|
||||
# surfaces and regions are assigned to current mesh object
|
||||
# make sure the one you want is selected
|
||||
cmo/select/mo_tet
|
||||
surface / s_box / reflect / box / 49.5 19.5 19. / 50.5 20.5 100.
|
||||
region/ r_box / le s_box
|
||||
pset/pwell/ region / r_box
|
||||
|
||||
# check extents of the well nodes
|
||||
cmo/printatt/mo_tet/-xyz-/ minmax/ pset,get,pwell
|
||||
|
||||
# Write the list of nodes to a zone file
|
||||
# Assign a zone number larger than max material
|
||||
pset/pwell/ zone / tet_well_nodes.zone / ascii / 11
|
||||
|
||||
# -----------------------------------------
|
||||
# Add mesh object attributes for mesh views
|
||||
cmo/addatt/mo_tet iwell/VINT/scalar/nnodes/linear/permanent//0
|
||||
cmo/setatt/mo_tet/ iwell /pset,get,pwell/ 11
|
||||
cmo/printatt/mo_tet/ iwell/ minmax
|
||||
|
||||
# Add elevation attribute for mesh views
|
||||
cmo/addatt/mo_tet elev/VDOUBLE/scalar/nnodes/
|
||||
cmo/copyatt/ mo_tet mo_tet / elev zic
|
||||
|
||||
# save node id to node attributes for visual checks
|
||||
cmo/set_id/mo_tet/node/ id_node
|
||||
|
||||
# Write the final tet mesh with all attributes
|
||||
dump/avs/tet_attributes.inp/ mo_tet
|
||||
cmo/printatt/mo_tet/-all- minmax
|
||||
cmo/status/mo_tet
|
||||
|
||||
# Create a mesh object with just nodes
|
||||
# Remove all nodes not in the well zone
|
||||
cmo/create/motmp
|
||||
copypts/motmp/mo_tet
|
||||
cmo/select/motmp
|
||||
pset/pduds/attribute iwell/1,0,0/ ne 11
|
||||
rmpoint/pset,get,pduds
|
||||
rmpoint/compress
|
||||
|
||||
# Write well nodes with all attributes
|
||||
# Use AVS UCD pnt format for paraview
|
||||
|
||||
dump/avs/tet_well_pnts.inp/ motmp / 1 3 1 0 0
|
||||
cmo/printatt/motmp/-all- minmax
|
||||
|
||||
finish
|
||||
@@ -0,0 +1,100 @@
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 4. Write Mesh and FEHM setup files
|
||||
# Uses commands dump/fehm and pset write
|
||||
|
||||
# -----------------------------------------
|
||||
# Read tet mesh with materials from Example 3
|
||||
|
||||
read / avs / tet_interp_materials.inp / mo_tet
|
||||
|
||||
# -----------------------------------------
|
||||
# Check there are no negative volumes
|
||||
# Check node materials are defined as expected
|
||||
quality
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
|
||||
# -----------------------------------------
|
||||
# FEHM does not use element materials
|
||||
# Set to 1 avoids algorithms using multi-material elements
|
||||
# Materials are changed so reset itp to be safe
|
||||
cmo/select/mo_tet
|
||||
cmo/setatt/mo_tet itetclr 1
|
||||
resetpts/itp
|
||||
|
||||
# Remove double-defined nodes and duplicates
|
||||
# Good practice to include these commands with final mesh
|
||||
# Nothing will happen if not needed
|
||||
cmo/select/mo_tet
|
||||
resetpts/parent
|
||||
filter/1,0,0
|
||||
rmpoint/compress
|
||||
|
||||
# -----------------------------------------
|
||||
# Write default FEHM files
|
||||
dump/fehm/ tet /mo_tet/ keepatt
|
||||
|
||||
# Write AVS file with attributes created for FEHM files
|
||||
dump/avs/tet_fehm.inp/mo_tet
|
||||
|
||||
# CHECK for neg ccoefs in the interior mesh
|
||||
cmo/addatt/mo_tet/ccoef/VDOUBLE/scalar/nnodes/linear/
|
||||
cmo select mo_tet
|
||||
pset pin attribute itp 1,0,0 lt 10
|
||||
pset pneg attribute ccoef 1,0,0 lt -.0001
|
||||
pset pBAD inter pin pneg
|
||||
cmo printatt mo_tet ccoef minmax
|
||||
cmo printatt mo_tet -all- minmax
|
||||
|
||||
# -----------------------------------------
|
||||
# Create zone file for vertical well
|
||||
# Use region defined by box surface
|
||||
# vertical column at 50x 20y end at 20z
|
||||
|
||||
# surfaces and regions are assigned to current mesh object
|
||||
# make sure the one you want is selected
|
||||
cmo/select/mo_tet
|
||||
surface / s_box / reflect / box / 49.5 19.5 19. / 50.5 20.5 100.
|
||||
region/ r_box / le s_box
|
||||
pset/pwell/ region / r_box
|
||||
|
||||
# check extents of the well nodes
|
||||
cmo/printatt/mo_tet/-xyz-/ minmax/ pset,get,pwell
|
||||
|
||||
# Write the list of nodes to a zone file
|
||||
# Assign a zone number larger than max material
|
||||
pset/pwell/ zone / tet_well_nodes.zone / ascii / 11
|
||||
|
||||
# -----------------------------------------
|
||||
# Add mesh object attributes for mesh views
|
||||
cmo/addatt/mo_tet iwell/VINT/scalar/nnodes/linear/permanent//0
|
||||
cmo/setatt/mo_tet/ iwell /pset,get,pwell/ 11
|
||||
cmo/printatt/mo_tet/ iwell/ minmax
|
||||
|
||||
# Add elevation attribute for mesh views
|
||||
cmo/addatt/mo_tet elev/VDOUBLE/scalar/nnodes/
|
||||
cmo/copyatt/ mo_tet mo_tet / elev zic
|
||||
|
||||
# save node id to node attributes for visual checks
|
||||
cmo/set_id/mo_tet/node/ id_node
|
||||
|
||||
# Write the final tet mesh with all attributes
|
||||
dump/avs/tet_attributes.inp/ mo_tet
|
||||
cmo/printatt/mo_tet/-all- minmax
|
||||
cmo/status/mo_tet
|
||||
|
||||
# Create a mesh object with just nodes
|
||||
# Remove all nodes not in the well zone
|
||||
cmo/create/motmp
|
||||
copypts/motmp/mo_tet
|
||||
cmo/select/motmp
|
||||
pset/pduds/attribute iwell/1,0,0/ ne 11
|
||||
rmpoint/pset,get,pduds
|
||||
rmpoint/compress
|
||||
|
||||
# Write well nodes with all attributes
|
||||
# Use AVS UCD pnt format for paraview
|
||||
|
||||
dump/avs/tet_well_pnts.inp/ motmp / 1 3 1 0 0
|
||||
cmo/printatt/motmp/-all- minmax
|
||||
|
||||
finish
|
||||
@@ -0,0 +1,590 @@
|
||||
|
||||
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* * *
|
||||
* * Program: LaGriT V3.3.4 Linux *
|
||||
* * Compiler Name: GNU *
|
||||
* * Compiler Version: 9.4.0 *
|
||||
* * Date Compile: 2024/05/06 *
|
||||
* * Run Time: 2025/Apr 3 10:49:56 *
|
||||
* * Manual: https://lagrit.lanl.gov *
|
||||
* * *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
-----oOo-----
|
||||
LaGriT V3 LA-CC-15-069 https://github.com/lanl/LaGriT
|
||||
Copyright 2016. Triad National Security, LLC. All rights reserved. This
|
||||
program was produced under U.S. Government contract 89233218CNA000001
|
||||
for Los Alamos National Laboratory (LANL), which is operated by Triad
|
||||
National Security, LLC for the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. All rights in the program are reserved by Triad
|
||||
National Security, LLC, and the U.S. Department of Energy/National Nuclear
|
||||
Security Administration. The Government is granted for itself and others
|
||||
acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license
|
||||
in this material to reproduce, prepare derivative works, distribute copies
|
||||
to the public, perform publicly and display publicly, and to permit others to
|
||||
do so. This software is open source and available under the BSD-3 License.
|
||||
-----oOo-----
|
||||
|
||||
|
||||
Output log file: lagrit.out
|
||||
Command log file: lagrit.log
|
||||
|
||||
# Tutorial LaGriT Introduction
|
||||
# Step 4. Write Mesh and FEHM setup files
|
||||
# Uses commands dump/fehm and pset write
|
||||
# -----------------------------------------
|
||||
# Read tet mesh with materials from Example 3
|
||||
read/avs/tet_interp_materials.inp/mo_tet
|
||||
geniee
|
||||
finish
|
||||
cmo/status/brief
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
1 Mesh Object name: mo_tet
|
||||
number of nodes = 1122 number of elements = 4800
|
||||
dimensions geometry = 3 element type = tet
|
||||
dimensions topology = 3 4 nodes 4 faces 6 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
|
||||
finish
|
||||
# -----------------------------------------
|
||||
# Check there are no negative volumes
|
||||
# Check node materials are defined as expected
|
||||
quality
|
||||
|
||||
epsilonl, epsilonaspect: 3.0526086E-11 2.8445488E-32
|
||||
--------------------------------------------
|
||||
elements with aspect ratio < .01: 0
|
||||
elements with aspect ratio b/w .01 and .02: 0
|
||||
elements with aspect ratio b/w .02 and .05: 0
|
||||
elements with aspect ratio b/w .05 and .1 : 0
|
||||
elements with aspect ratio b/w .1 and .2 : 0
|
||||
elements with aspect ratio b/w .2 and .5 : 926
|
||||
elements with aspect ratio b/w .5 and 1. : 3874
|
||||
min aspect ratio = 0.4483E+00 max aspect ratio = 0.6202E+00
|
||||
|
||||
epsilonvol: 8.8817842E-08
|
||||
---------------------------------------
|
||||
All elements have volume 8.3333333E+01
|
||||
-----------------------------------------------------------
|
||||
4800 total elements evaluated.
|
||||
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
imt1 1 4 3 1122
|
||||
|
||||
# -----------------------------------------
|
||||
# FEHM does not use element materials
|
||||
# Set to 1 avoids algorithms using multi-material elements
|
||||
# Materials are changed so reset itp to be safe
|
||||
cmo/select/mo_tet
|
||||
cmo/setatt/mo_tet itetclr 1
|
||||
4800 values reset for attribute itetclr
|
||||
|
||||
resetpts/itp
|
||||
geniee
|
||||
finish
|
||||
# Remove double-defined nodes and duplicates
|
||||
# Good practice to include these commands with final mesh
|
||||
# Nothing will happen if not needed
|
||||
cmo/select/mo_tet
|
||||
resetpts/parent
|
||||
filter/1,0,0
|
||||
FILTER:Use internal epsilonl value = 0.305260862918E-10
|
||||
FILTER:Dudding duplicate points: 0
|
||||
rmpoint/compress
|
||||
0 points removed and 0 elements removed.
|
||||
RMPOINT: new point count is 1122
|
||||
RMPOINT: new element count is 4800
|
||||
# -----------------------------------------
|
||||
# Write default FEHM files
|
||||
dump/fehm/tet/mo_tet/keepatt
|
||||
*** Write FEHMN GEOM AND ZONE FILES ***
|
||||
*********dump_material_lists********
|
||||
Minimum material ID value = 1
|
||||
Maximum material ID value = 4
|
||||
Total possible materials = 4
|
||||
Material 1 has 468 nodes. #nodes/nnodes is 0.417112290859
|
||||
Material 2 has 270 nodes. #nodes/nnodes is 0.240641713142
|
||||
Material 3 has 204 nodes. #nodes/nnodes is 0.181818187237
|
||||
Material 4 has 180 nodes. #nodes/nnodes is 0.160427808762
|
||||
*********dump_interface_list********
|
||||
*********dump_multi_material_list********
|
||||
Material 1 has 351 multi-material connections.
|
||||
Material 2 has 626 multi-material connections.
|
||||
Material 3 has 357 multi-material connections.
|
||||
Material 4 has 688 multi-material connections.
|
||||
log/tty/off
|
||||
finish
|
||||
*********dump_outside_list********
|
||||
Voronoi Areas used for outside faces.
|
||||
|
||||
assign_quadrant_id epsilon for zero: 1.0000000E-15
|
||||
cmo/addatt/mo_tet/top/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face top 1 has 66 nodes.
|
||||
top Sum Voronoi Area_x Area_y Area_z
|
||||
0.2500000E+03 0.5000000E+03 0.5000000E+04
|
||||
cmo/addatt/mo_tet/bottom/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face bottom 2 has 66 nodes.
|
||||
bottom Sum Voronoi Area_x Area_y Area_z
|
||||
0.2500000E+03 0.5000000E+03 0.5000000E+04
|
||||
cmo/addatt/mo_tet/left_w/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face left_w 3 has 102 nodes.
|
||||
left_w Sum Voronoi Area_x Area_y Area_z
|
||||
0.4000000E+04 0.8000000E+03 0.5000000E+03
|
||||
cmo/addatt/mo_tet/right_e/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face right_e 5 has 102 nodes.
|
||||
right_e Sum Voronoi Area_x Area_y Area_z
|
||||
0.4000000E+04 0.8000000E+03 0.5000000E+03
|
||||
cmo/addatt/mo_tet/back_n/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face back_n 6 has 187 nodes.
|
||||
back_n Sum Voronoi Area_x Area_y Area_z
|
||||
0.8000000E+03 0.8000000E+04 0.1000000E+04
|
||||
cmo/addatt/mo_tet/front_s/vint/scalar/nnodes/linear/permanent/afgx/-5.0/
|
||||
finish
|
||||
Face front_s 4 has 187 nodes.
|
||||
front_s Sum Voronoi Area_x Area_y Area_z
|
||||
0.8000000E+03 0.8000000E+04 0.1000000E+04
|
||||
log/tty/on
|
||||
finish
|
||||
*********dump_parent_list********
|
||||
|
||||
*** Construct and Compress Sparse Matrix:3D ***
|
||||
*** Compress Area Coefficient Values ***
|
||||
|
||||
AMatbld3d_stor: Matrix compress_eps: 0.1000000E-07
|
||||
AMatbld3d_stor: Local epsilon: 0.1000000E-14
|
||||
AMatbld3d_stor: *****Zero Negative Coefficients ******
|
||||
AMatbld3d_stor: Number of 'zero' (< compress_eps) coefs 0
|
||||
AMatbld3d_stor: npoints = 1122 ncoefs = 7144
|
||||
AMatbld3d_stor: Number of unique coefs = 6
|
||||
AMatbld3d_stor: Maximum num. connections to a node = 7
|
||||
AMatbld3d_stor: Volume min = 6.2500000E+01
|
||||
AMatbld3d_stor: Volume max = 5.0000000E+02
|
||||
AMatbld3d_stor: Total Volume: 4.0000000E+05
|
||||
AMatbld3d_stor: abs(Aij/xij) min = 0.0000000E+00
|
||||
AMatbld3d_stor: abs(Aij/xij) max = 2.0000000E+01
|
||||
AMatbld3d_stor: (Aij/xij) max = 0.0000000E+00
|
||||
AMatbld3d_stor: (Aij/xij) min = -2.0000000E+01
|
||||
AMatbld3d_stor Matrix coefficient values stored as scalar area/distance
|
||||
AMatbld3d_stor Matrix compression used for graph and coefficient values
|
||||
ascii STOR file written with name tet.stor
|
||||
|
||||
*** SPARSE COEFFICIENT MATRIX _astor SUCCESSFUL ***
|
||||
|
||||
3D Matrix Coefficient file written with name tet.stor
|
||||
|
||||
# Write AVS file with attributes created for FEHM files
|
||||
dump/avs/tet_fehm.inp/mo_tet
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
# CHECK for neg ccoefs in the interior mesh
|
||||
cmo/addatt/mo_tet/ccoef/VDOUBLE/scalar/nnodes/linear/
|
||||
cmo select mo_tet
|
||||
pset pin attribute itp 1,0,0 lt 10
|
||||
|
||||
THE PSET pin HAS 540 POINTS
|
||||
pset pneg attribute ccoef 1,0,0 lt -.0001
|
||||
|
||||
THE PSET pneg HAS 0 POINTS
|
||||
pset pBAD inter pin pneg
|
||||
|
||||
THE PSET pBAD HAS 0 POINTS
|
||||
cmo printatt mo_tet ccoef minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
ccoef 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
|
||||
cmo printatt mo_tet -all- minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
-def- 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
scalar 1 1 0 1
|
||||
vector 3 3 0 1
|
||||
nnodes 1122 1122 0 1
|
||||
nedges 0 0 0 1
|
||||
nfaces 0 0 0 1
|
||||
nelements 4800 4800 0 1
|
||||
mbndry 16000000 16000000 0 1
|
||||
ndimensions_topo 3 3 0 1
|
||||
ndimensions_geom 3 3 0 1
|
||||
nodes_per_element 4 4 0 1
|
||||
edges_per_element 6 6 0 1
|
||||
faces_per_element 4 4 0 1
|
||||
isetwd 0 1 1 1122
|
||||
ialias 0 0 0 1122
|
||||
imt1 1 4 3 1122
|
||||
itp1 0 10 10 1122
|
||||
icr1 0 0 0 1122
|
||||
isn1 0 0 0 1122
|
||||
xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 1122
|
||||
yic 0.000000000E+00 5.000000000E+01 5.000000000E+01 1122
|
||||
zic 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
xtetwd 0 0 0 4800
|
||||
itetclr 1 1 0 4800
|
||||
itettyp 5 5 0 4800
|
||||
itetoff 0 19196 19196 4800
|
||||
jtetoff 0 19196 19196 4800
|
||||
itet 1 1122 1121 4800x4
|
||||
jtet 1 16000000 15999999 4800x4
|
||||
epsilon 1.000000004E-15 1.000000004E-15 0.000000000E+00 1
|
||||
epsilonl 3.052608629E-11 3.052608629E-11 0.000000000E+00 1
|
||||
epsilona 4.196643033E-09 4.196643033E-09 0.000000000E+00 1
|
||||
epsilonv 8.881784197E-08 8.881784197E-08 0.000000000E+00 1
|
||||
ipointi 1 1 0 1
|
||||
ipointj 1122 1122 0 1
|
||||
idebug 0 0 0 1
|
||||
itypconv_sm 1 1 0 1
|
||||
maxiter_sm 25 25 0 1
|
||||
tolconv_sm 1.000000000E+00 1.000000000E+00 0.000000000E+00 1
|
||||
nnfreq 1 1 0 1
|
||||
ivoronoi 1 1 0 1
|
||||
iopt2to2 2 2 0 1
|
||||
xmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
ymin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
zmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
xmax 1.000000000E+02 1.000000000E+02 0.000000000E+00 1
|
||||
ymax 5.000000000E+01 5.000000000E+01 0.000000000E+00 1
|
||||
zmax 8.000000000E+01 8.000000000E+01 0.000000000E+00 1
|
||||
kdtree_level 0 0 0 1
|
||||
max_number_sets 64 64 0 1
|
||||
number_of_psets 3 3 0 1
|
||||
number_of_eltsets 0 0 0 1
|
||||
number_of_fsets 0 0 0 1
|
||||
top -5 1 6 1122
|
||||
bottom -5 2 7 1122
|
||||
left_w -5 3 8 1122
|
||||
right_e -5 5 10 1122
|
||||
back_n -5 6 11 1122
|
||||
front_s -5 4 9 1122
|
||||
ccoef 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
|
||||
# -----------------------------------------
|
||||
# Create zone file for vertical well
|
||||
# Use region defined by box surface
|
||||
# vertical column at 50x 20y end at 20z
|
||||
# surfaces and regions are assigned to current mesh object
|
||||
# make sure the one you want is selected
|
||||
cmo/select/mo_tet
|
||||
surface/s_box/reflect/box/49.5 19.5 19./50.5 20.5 100.
|
||||
cmo/addatt//ncon50/INT/scalar/scalar/constant/permanent/l/0
|
||||
finish
|
||||
cmo/addatt//nconbnd/INT/scalar/scalar/constant/permanent/l/0
|
||||
finish
|
||||
cmo/addatt//icontab/VINT/scalar/ncon50/constant/permanent/l/0.0
|
||||
finish
|
||||
region/r_box/le s_box
|
||||
pset/pwell/region/r_box
|
||||
|
||||
THE PSET pwell HAS 13 POINTS
|
||||
# check extents of the well nodes
|
||||
cmo/printatt/mo_tet/-xyz-/minmax/pset,get,pwell
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
xic 5.000000000E+01 5.000000000E+01 0.000000000E+00 1122
|
||||
yic 2.000000000E+01 2.000000000E+01 0.000000000E+00 1122
|
||||
zic 2.000000000E+01 8.000000000E+01 6.000000000E+01 1122
|
||||
|
||||
# Write the list of nodes to a zone file
|
||||
# Assign a zone number larger than max material
|
||||
pset/pwell/zone/tet_well_nodes.zone/ascii/11
|
||||
PSET: THERE ARE 4 PSETS DEFINED
|
||||
pin pneg pBAD pwell
|
||||
PSET: OUTPUT pwell 1 PSETS TO FILE
|
||||
# -----------------------------------------
|
||||
# Add mesh object attributes for mesh views
|
||||
cmo/addatt/mo_tet iwell/VINT/scalar/nnodes/linear/permanent//0
|
||||
cmo/setatt/mo_tet/iwell/pset,get,pwell/11
|
||||
13 values reset for attribute iwell
|
||||
|
||||
cmo/printatt/mo_tet/iwell/minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
iwell 0 11 11 1122
|
||||
|
||||
# Add elevation attribute for mesh views
|
||||
cmo/addatt/mo_tet elev/VDOUBLE/scalar/nnodes/
|
||||
cmo/copyatt/mo_tet mo_tet/elev zic
|
||||
1122 copied from mo_tet zic to -> mo_tet elev
|
||||
|
||||
# save node id to node attributes for visual checks
|
||||
cmo/set_id/mo_tet/node/id_node
|
||||
cmo/addatt/mo_tet id_node/VINT/scalar/nnodes/linear/permanent//0
|
||||
finish
|
||||
# Write the final tet mesh with all attributes
|
||||
dump/avs/tet_attributes.inp/mo_tet
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
cmo/printatt/mo_tet/-all- minmax
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
-def- 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
scalar 1 1 0 1
|
||||
vector 3 3 0 1
|
||||
nnodes 1122 1122 0 1
|
||||
nedges 0 0 0 1
|
||||
nfaces 0 0 0 1
|
||||
nelements 4800 4800 0 1
|
||||
mbndry 16000000 16000000 0 1
|
||||
ndimensions_topo 3 3 0 1
|
||||
ndimensions_geom 3 3 0 1
|
||||
nodes_per_element 4 4 0 1
|
||||
edges_per_element 6 6 0 1
|
||||
faces_per_element 4 4 0 1
|
||||
isetwd 0 9 9 1122
|
||||
ialias 0 0 0 1122
|
||||
imt1 1 4 3 1122
|
||||
itp1 0 10 10 1122
|
||||
icr1 0 0 0 1122
|
||||
isn1 0 0 0 1122
|
||||
xic 0.000000000E+00 1.000000000E+02 1.000000000E+02 1122
|
||||
yic 0.000000000E+00 5.000000000E+01 5.000000000E+01 1122
|
||||
zic 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
xtetwd 0 0 0 4800
|
||||
itetclr 1 1 0 4800
|
||||
itettyp 5 5 0 4800
|
||||
itetoff 0 19196 19196 4800
|
||||
jtetoff 0 19196 19196 4800
|
||||
itet 1 1122 1121 4800x4
|
||||
jtet 1 16000000 15999999 4800x4
|
||||
epsilon 1.000000004E-15 1.000000004E-15 0.000000000E+00 1
|
||||
epsilonl 3.052608629E-11 3.052608629E-11 0.000000000E+00 1
|
||||
epsilona 4.196643033E-09 4.196643033E-09 0.000000000E+00 1
|
||||
epsilonv 8.881784197E-08 8.881784197E-08 0.000000000E+00 1
|
||||
ipointi 1 1 0 1
|
||||
ipointj 1122 1122 0 1
|
||||
idebug 0 0 0 1
|
||||
itypconv_sm 1 1 0 1
|
||||
maxiter_sm 25 25 0 1
|
||||
tolconv_sm 1.000000000E+00 1.000000000E+00 0.000000000E+00 1
|
||||
nnfreq 1 1 0 1
|
||||
ivoronoi 1 1 0 1
|
||||
iopt2to2 2 2 0 1
|
||||
xmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
ymin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
zmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
xmax 1.000000000E+02 1.000000000E+02 0.000000000E+00 1
|
||||
ymax 5.000000000E+01 5.000000000E+01 0.000000000E+00 1
|
||||
zmax 8.000000000E+01 8.000000000E+01 0.000000000E+00 1
|
||||
kdtree_level 0 0 0 1
|
||||
max_number_sets 64 64 0 1
|
||||
number_of_psets 4 4 0 1
|
||||
number_of_eltsets 0 0 0 1
|
||||
number_of_fsets 0 0 0 1
|
||||
top -5 1 6 1122
|
||||
bottom -5 2 7 1122
|
||||
left_w -5 3 8 1122
|
||||
right_e -5 5 10 1122
|
||||
back_n -5 6 11 1122
|
||||
front_s -5 4 9 1122
|
||||
ccoef 0.000000000E+00 0.000000000E+00 0.000000000E+00 1122
|
||||
ncon50 2500 2500 0 1
|
||||
nconbnd 1 1 0 1
|
||||
icontab 0 2 2 2500
|
||||
iwell 0 11 11 1122
|
||||
elev 0.000000000E+00 8.000000000E+01 8.000000000E+01 1122
|
||||
id_node 1 1122 1121 1122
|
||||
|
||||
cmo/status/mo_tet
|
||||
|
||||
The current-mesh-object(CMO) is: mo_tet
|
||||
|
||||
1 Mesh Object name: mo_tet
|
||||
number of nodes = 1122 number of elements = 4800
|
||||
dimensions geometry = 3 element type = tet
|
||||
dimensions topology = 3 4 nodes 4 faces 6 edges
|
||||
boundary flag = 16000000 status = active
|
||||
|
||||
NAME TYPE RANK LENGTH INTER PERSI IO VALUE
|
||||
|
||||
1 -def- VDOU scalar nnodes linea tempo x 0.000E+00
|
||||
2 scalar INT scalar scalar const perma l 1.000E+00
|
||||
3 vector INT scalar scalar const perma l 3.000E+00
|
||||
4 nnodes INT scalar scalar const perma l 1.122E+03
|
||||
5 nedges INT scalar scalar const perma l 0.000E+00
|
||||
6 nfaces INT scalar scalar const perma l 0.000E+00
|
||||
7 nelements INT scalar scalar const perma l 4.800E+03
|
||||
8 mbndry INT scalar scalar const perma l 1.600E+07
|
||||
9 ndimensions_top INT scalar scalar const perma l 3.000E+00
|
||||
10 ndimensions_geo INT scalar scalar const perma l 3.000E+00
|
||||
11 nodes_per_eleme INT scalar scalar const perma l 4.000E+00
|
||||
12 edges_per_eleme INT scalar scalar const perma l 6.000E+00
|
||||
13 faces_per_eleme INT scalar scalar const perma l 4.000E+00
|
||||
14 isetwd VDOU scalar nnodes or perma l 0.000E+00
|
||||
15 ialias VINT scalar nnodes seque perma l 0.000E+00
|
||||
16 imt1 VINT scalar nnodes max perma gal 0.000E+00
|
||||
17 itp1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
18 icr1 VINT scalar nnodes min perma gal 0.000E+00
|
||||
19 isn1 VINT scalar nnodes user perma gal 0.000E+00
|
||||
20 xic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
21 yic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
22 zic VDOU scalar nnodes linea perma l 0.000E+00
|
||||
23 xtetwd VDOU scalar nelements or perma l 0.000E+00
|
||||
24 itetclr VINT scalar nelements user perma l 0.000E+00
|
||||
25 itettyp VINT scalar nelements user perma l 0.000E+00
|
||||
26 itetoff VINT scalar nelements user perma l 0.000E+00
|
||||
27 jtetoff VINT scalar nelements user perma l 0.000E+00
|
||||
28 itet VINT nodes_per_ nelements user perma l 0.000E+00
|
||||
29 jtet VINT faces_per_ nelements user perma l 0.000E+00
|
||||
30 ipolydat CHAR scalar scalar const perma l no
|
||||
31 vor2d CHAR scalar scalar const perma l yes
|
||||
32 vor3d CHAR scalar scalar const perma l no
|
||||
33 epsilon REAL scalar scalar const perma l 1.000E-15
|
||||
34 epsilonl REAL scalar scalar const perma l 3.053E-11
|
||||
35 epsilona REAL scalar scalar const perma l 4.197E-09
|
||||
36 epsilonv REAL scalar scalar const perma l 8.882E-08
|
||||
37 ipointi INT scalar scalar const perma l 1.000E+00
|
||||
38 ipointj INT scalar scalar const perma l 1.122E+03
|
||||
39 idebug INT scalar scalar const perma l 0.000E+00
|
||||
40 itypconv_sm INT scalar scalar const perma l 1.000E+00
|
||||
41 maxiter_sm INT scalar scalar const perma l 2.500E+01
|
||||
42 tolconv_sm REAL scalar scalar const perma l 1.000E+00
|
||||
43 nnfreq INT scalar scalar const perma l 1.000E+00
|
||||
44 ivoronoi INT scalar scalar const perma l 1.000E+00
|
||||
45 iopt2to2 INT scalar scalar const perma l 2.000E+00
|
||||
46 dumptype CHAR scalar scalar const perma l binary
|
||||
47 velname CHAR scalar scalar const perma l vels
|
||||
48 densname CHAR scalar scalar const perma l ric
|
||||
49 presname CHAR scalar scalar const perma l pic
|
||||
50 enername CHAR scalar scalar const perma l eic
|
||||
51 xmin REAL scalar scalar const perma l 0.000E+00
|
||||
52 ymin REAL scalar scalar const perma l 0.000E+00
|
||||
53 zmin REAL scalar scalar const perma l 0.000E+00
|
||||
54 xmax REAL scalar scalar const perma l 1.000E+02
|
||||
55 ymax REAL scalar scalar const perma l 5.000E+01
|
||||
56 zmax REAL scalar scalar const perma l 8.000E+01
|
||||
57 kdtree_level INT scalar scalar const perma l 0.000E+00
|
||||
58 max_number_sets INT scalar scalar const perma l 6.400E+01
|
||||
59 number_of_psets INT scalar scalar const perma l 4.000E+00
|
||||
60 number_of_eltse INT scalar scalar const perma l 0.000E+00
|
||||
61 psetnames VCHA scalar max_number_sets const perma l
|
||||
62 eltsetnames VCHA scalar max_number_sets const perma l
|
||||
63 geom_name CHAR scalar max_number_sets const perma l -defaultge
|
||||
64 fsetnames VCHA scalar max_number_sets const perma l
|
||||
65 number_of_fsets INT scalar scalar const perma l 0.000E+00
|
||||
66 top VINT scalar nnodes linea perma afg -5.000E+00
|
||||
67 bottom VINT scalar nnodes linea perma afg -5.000E+00
|
||||
68 left_w VINT scalar nnodes linea perma afg -5.000E+00
|
||||
69 right_e VINT scalar nnodes linea perma afg -5.000E+00
|
||||
70 back_n VINT scalar nnodes linea perma afg -5.000E+00
|
||||
71 front_s VINT scalar nnodes linea perma afg -5.000E+00
|
||||
72 ccoef VDOU scalar nnodes linea tempo agl 0.000E+00
|
||||
73 ncon50 INT scalar scalar const perma l 2.500E+03
|
||||
74 nconbnd INT scalar scalar const perma l 1.000E+00
|
||||
75 icontab VINT scalar ncon50 const perma l 0.000E+00
|
||||
76 iwell VINT scalar nnodes linea perma agl 0.000E+00
|
||||
77 elev VDOU scalar nnodes linea tempo agl 0.000E+00
|
||||
78 id_node VINT scalar nnodes linea perma agl 0.000E+00
|
||||
# Create a mesh object with just nodes
|
||||
# Remove all nodes not in the well zone
|
||||
cmo/create/motmp
|
||||
copypts/motmp/mo_tet
|
||||
cmo/addatt/motmp/top/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/bottom/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/left_w/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/right_e/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/back_n/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/front_s/VINT/scalar/nnodes/linear/permanent/afgx/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/ccoef/VDOUBLE/scalar/nnodes/linear/temporary/agltn/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/iwell/VINT/scalar/nnodes/linear/permanent/agltn/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/elev/VDOUBLE/scalar/nnodes/linear/temporary/agltn/0.0
|
||||
finish
|
||||
cmo/addatt/motmp/id_node/VINT/scalar/nnodes/linear/permanent/agltn/0.0
|
||||
finish
|
||||
copypts added nodes 1 to 1122
|
||||
cmo/select/motmp
|
||||
pset/pduds/attribute iwell/1,0,0/ne 11
|
||||
|
||||
THE PSET pduds HAS 1109 POINTS
|
||||
rmpoint/pset,get,pduds
|
||||
Dudded 1109 points plus parents, there are no elements in mesh.
|
||||
rmpoint/compress
|
||||
1109 points removed and 0 elements removed.
|
||||
RMPOINT: new point count is 13
|
||||
RMPOINT: new element count is 0
|
||||
# Write well nodes with all attributes
|
||||
# Use AVS UCD pnt format for paraview
|
||||
dump/avs/tet_well_pnts.inp/motmp/1 3 1 0 0
|
||||
Writing AVS UCD PT ELEMENTS.
|
||||
cmo/modatt/-def-/-def-/ioflag/x
|
||||
finish
|
||||
cmo/printatt/motmp/-all- minmax
|
||||
Warning: nelements = 0
|
||||
ATTRIBUTE NAME MIN MAX DIFFERENCE LENGTH
|
||||
-def- 0.000000000E+00 0.000000000E+00 0.000000000E+00 13
|
||||
scalar 1 1 0 1
|
||||
vector 3 3 0 1
|
||||
nnodes 13 13 0 1
|
||||
nedges 0 0 0 1
|
||||
nfaces 0 0 0 1
|
||||
nelements 0 0 0 1
|
||||
mbndry 16000000 16000000 0 1
|
||||
ndimensions_topo 3 3 0 1
|
||||
ndimensions_geom 3 3 0 1
|
||||
nodes_per_element 4 4 0 1
|
||||
edges_per_element 6 6 0 1
|
||||
faces_per_element 4 4 0 1
|
||||
isetwd 8 8 0 13
|
||||
ialias 0 0 0 13
|
||||
imt1 1 4 3 13
|
||||
itp1 0 10 10 13
|
||||
icr1 0 0 0 13
|
||||
isn1 0 0 0 13
|
||||
xic 5.000000000E+01 5.000000000E+01 0.000000000E+00 13
|
||||
yic 2.000000000E+01 2.000000000E+01 0.000000000E+00 13
|
||||
zic 2.000000000E+01 8.000000000E+01 6.000000000E+01 13
|
||||
0 length attribute: xtetwd
|
||||
0 length attribute: itetclr
|
||||
0 length attribute: itettyp
|
||||
0 length attribute: itetoff
|
||||
0 length attribute: jtetoff
|
||||
0 length attribute: itet
|
||||
0 length attribute: jtet
|
||||
epsilon 1.000000004E-15 1.000000004E-15 0.000000000E+00 1
|
||||
epsilonl 3.052608629E-11 3.052608629E-11 0.000000000E+00 1
|
||||
epsilona 4.196643033E-09 4.196643033E-09 0.000000000E+00 1
|
||||
epsilonv 8.881784197E-08 8.881784197E-08 0.000000000E+00 1
|
||||
ipointi 1 1 0 1
|
||||
ipointj 13 13 0 1
|
||||
idebug 0 0 0 1
|
||||
itypconv_sm 1 1 0 1
|
||||
maxiter_sm 25 25 0 1
|
||||
tolconv_sm 1.000000000E+00 1.000000000E+00 0.000000000E+00 1
|
||||
nnfreq 1 1 0 1
|
||||
ivoronoi 1 1 0 1
|
||||
iopt2to2 2 2 0 1
|
||||
xmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
ymin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
zmin 0.000000000E+00 0.000000000E+00 0.000000000E+00 1
|
||||
xmax 1.000000000E+02 1.000000000E+02 0.000000000E+00 1
|
||||
ymax 5.000000000E+01 5.000000000E+01 0.000000000E+00 1
|
||||
zmax 8.000000000E+01 8.000000000E+01 0.000000000E+00 1
|
||||
kdtree_level 0 0 0 1
|
||||
max_number_sets 64 64 0 1
|
||||
number_of_psets 1 1 0 1
|
||||
number_of_eltsets 0 0 0 1
|
||||
number_of_fsets 0 0 0 1
|
||||
top -5 1 6 13
|
||||
bottom -5 -5 0 13
|
||||
left_w -5 -5 0 13
|
||||
right_e -5 -5 0 13
|
||||
back_n -5 -5 0 13
|
||||
front_s -5 -5 0 13
|
||||
ccoef 0.000000000E+00 0.000000000E+00 0.000000000E+00 13
|
||||
iwell 11 11 0 13
|
||||
elev 2.000000000E+01 8.000000000E+01 6.000000000E+01 13
|
||||
id_node 292 1084 792 13
|
||||
|
||||
finish
|
||||
LaGriT successfully completed
|
||||
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 736 KiB |
|
After Width: | Height: | Size: 557 KiB |
|
After Width: | Height: | Size: 464 KiB |
|
After Width: | Height: | Size: 199 KiB |
43
docs/pages/tutorial/lagrit_introduction/step_04/lagrit.log
Normal file
@@ -0,0 +1,43 @@
|
||||
read/avs/tet_interp_materials.inp/mo_tet
|
||||
quality
|
||||
cmo/printatt/mo_tet/imt minmax
|
||||
cmo/select/mo_tet
|
||||
cmo/setatt/mo_tet itetclr 1
|
||||
resetpts/itp
|
||||
cmo/select/mo_tet
|
||||
resetpts/parent
|
||||
filter/1,0,0
|
||||
rmpoint/compress
|
||||
dump/fehm/tet/mo_tet/keepatt
|
||||
dump/avs/tet_fehm.inp/mo_tet
|
||||
cmo/addatt/mo_tet/ccoef/VDOUBLE/scalar/nnodes/linear/
|
||||
cmo select mo_tet
|
||||
pset pin attribute itp 1,0,0 lt 10
|
||||
pset pneg attribute ccoef 1,0,0 lt -.0001
|
||||
pset pBAD inter pin pneg
|
||||
cmo printatt mo_tet ccoef minmax
|
||||
cmo printatt mo_tet -all- minmax
|
||||
cmo/select/mo_tet
|
||||
surface/s_box/reflect/box/49.5 19.5 19./50.5 20.5 100.
|
||||
region/r_box/le s_box
|
||||
pset/pwell/region/r_box
|
||||
cmo/printatt/mo_tet/-xyz-/minmax/pset,get,pwell
|
||||
pset/pwell/zone/tet_well_nodes.zone/ascii/11
|
||||
cmo/addatt/mo_tet iwell/VINT/scalar/nnodes/linear/permanent//0
|
||||
cmo/setatt/mo_tet/iwell/pset,get,pwell/11
|
||||
cmo/printatt/mo_tet/iwell/minmax
|
||||
cmo/addatt/mo_tet elev/VDOUBLE/scalar/nnodes/
|
||||
cmo/copyatt/mo_tet mo_tet/elev zic
|
||||
cmo/set_id/mo_tet/node/id_node
|
||||
dump/avs/tet_attributes.inp/mo_tet
|
||||
cmo/printatt/mo_tet/-all- minmax
|
||||
cmo/status/mo_tet
|
||||
cmo/create/motmp
|
||||
copypts/motmp/mo_tet
|
||||
cmo/select/motmp
|
||||
pset/pduds/attribute iwell/1,0,0/ne 11
|
||||
rmpoint/pset,get,pduds
|
||||
rmpoint/compress
|
||||
dump/avs/tet_well_pnts.inp/motmp/1 3 1 0 0
|
||||
cmo/printatt/motmp/-all- minmax
|
||||
finish
|
||||
5929
docs/pages/tutorial/lagrit_introduction/step_04/tet.fehmn
Normal file
3763
docs/pages/tutorial/lagrit_introduction/step_04/tet.stor
Normal file
7060
docs/pages/tutorial/lagrit_introduction/step_04/tet_attributes.inp
Normal file
7056
docs/pages/tutorial/lagrit_introduction/step_04/tet_fehm.inp
Normal file
@@ -0,0 +1,128 @@
|
||||
zone
|
||||
00001
|
||||
nnum
|
||||
468
|
||||
1 2 3 4 5 6 7 8 9 10
|
||||
11 12 13 14 15 16 17 18 19 20
|
||||
21 22 23 24 25 26 27 28 29 30
|
||||
31 32 33 34 35 36 37 38 39 40
|
||||
41 42 43 44 45 46 47 48 49 50
|
||||
51 52 53 54 55 56 57 58 59 60
|
||||
61 62 63 64 65 66 67 68 69 70
|
||||
71 72 73 74 75 76 77 78 79 80
|
||||
81 82 83 84 85 86 87 88 89 90
|
||||
91 92 93 94 95 96 97 98 99 100
|
||||
101 102 103 104 105 106 107 108 109 110
|
||||
111 112 113 114 115 116 117 118 119 120
|
||||
121 122 123 124 125 126 127 128 129 130
|
||||
131 132 133 134 135 136 137 138 139 140
|
||||
141 142 143 144 145 146 147 148 149 150
|
||||
151 152 153 154 155 156 157 158 159 160
|
||||
161 162 163 164 165 166 167 168 169 170
|
||||
171 172 173 174 175 176 177 178 179 180
|
||||
181 182 183 184 185 186 187 188 189 190
|
||||
191 192 193 194 195 196 197 198 200 201
|
||||
202 203 204 205 206 207 208 209 211 212
|
||||
213 214 215 216 217 218 219 220 222 223
|
||||
224 225 226 227 228 229 230 231 233 234
|
||||
235 236 237 238 239 240 241 242 244 245
|
||||
246 247 248 249 250 251 252 253 255 256
|
||||
257 258 259 260 261 262 263 264 267 268
|
||||
269 270 271 272 273 274 275 278 279 280
|
||||
281 282 283 284 285 286 289 290 291 292
|
||||
293 294 295 296 297 300 301 302 303 304
|
||||
305 306 307 308 311 312 313 314 315 316
|
||||
317 318 319 322 323 324 325 326 327 328
|
||||
329 330 333 334 335 336 337 338 339 340
|
||||
341 344 345 346 347 348 349 350 351 352
|
||||
355 356 357 358 359 360 361 362 363 366
|
||||
367 368 369 370 371 372 373 374 377 378
|
||||
379 380 381 382 383 384 385 388 389 390
|
||||
391 392 393 394 395 396 400 401 402 403
|
||||
404 405 406 407 411 412 413 414 415 416
|
||||
417 418 422 423 424 425 426 427 428 429
|
||||
433 434 435 436 437 438 439 440 444 445
|
||||
446 447 448 449 450 451 455 456 457 458
|
||||
459 460 461 462 463 466 467 468 469 470
|
||||
471 472 473 474 477 478 479 480 481 482
|
||||
483 484 485 488 489 490 491 492 493 494
|
||||
495 496 499 500 501 502 503 504 505 506
|
||||
507 510 511 512 513 514 515 516 517 518
|
||||
521 522 523 524 525 526 527 528
|
||||
00002
|
||||
nnum
|
||||
270
|
||||
529 530 533 534 535 536 537 538 539 540
|
||||
541 544 545 546 547 548 549 550 551 552
|
||||
555 556 557 558 559 560 561 562 563 566
|
||||
567 568 569 570 571 572 573 574 577 578
|
||||
579 580 581 582 583 584 585 588 589 590
|
||||
591 592 593 594 595 596 599 600 601 602
|
||||
603 604 605 606 607 610 611 612 613 614
|
||||
615 616 617 618 621 622 623 624 625 626
|
||||
627 628 629 632 633 634 635 636 637 638
|
||||
639 640 643 644 645 646 647 648 649 650
|
||||
651 654 655 656 657 658 659 660 661 662
|
||||
663 666 667 668 669 670 671 672 673 674
|
||||
677 678 679 680 681 682 683 684 685 688
|
||||
689 690 691 692 693 694 695 696 699 700
|
||||
701 702 703 704 705 706 707 710 711 712
|
||||
713 714 715 716 717 718 721 722 723 724
|
||||
725 726 727 728 729 732 733 734 735 736
|
||||
737 738 739 740 743 744 745 746 747 748
|
||||
749 750 751 754 755 756 757 758 759 760
|
||||
761 762 765 766 767 768 769 770 771 772
|
||||
773 776 777 778 779 780 781 782 783 784
|
||||
787 788 789 790 791 792 793 794 795 796
|
||||
799 800 801 802 803 804 805 806 807 810
|
||||
811 812 813 814 815 816 817 818 821 822
|
||||
823 824 825 826 827 828 829 832 833 834
|
||||
835 836 837 838 839 840 843 844 845 846
|
||||
847 848 849 850 851 854 855 856 857 858
|
||||
00003
|
||||
nnum
|
||||
204
|
||||
859 860 861 862 866 867 868 869 870 871
|
||||
872 873 877 878 879 880 881 882 883 884
|
||||
888 889 890 891 892 893 894 895 899 900
|
||||
901 902 903 904 905 906 910 911 912 913
|
||||
914 915 916 917 921 922 923 924 925 926
|
||||
927 928 929 932 933 934 935 936 937 938
|
||||
939 940 943 944 945 946 947 948 949 950
|
||||
951 954 955 956 957 958 959 960 961 962
|
||||
965 966 967 968 969 970 971 972 973 976
|
||||
977 978 979 980 981 982 983 984 987 988
|
||||
989 990 991 992 993 994 995 999 1000 1001
|
||||
1002 1003 1004 1005 1006 1010 1011 1012 1013 1014
|
||||
1015 1016 1017 1021 1022 1023 1024 1025 1026 1027
|
||||
1028 1032 1033 1034 1035 1036 1037 1038 1039 1043
|
||||
1044 1045 1046 1047 1048 1049 1050 1054 1055 1056
|
||||
1057 1058 1059 1060 1061 1062 1065 1066 1067 1068
|
||||
1069 1070 1071 1072 1073 1076 1077 1078 1079 1080
|
||||
1081 1082 1083 1084 1087 1088 1089 1090 1091 1092
|
||||
1093 1094 1095 1098 1099 1100 1101 1102 1103 1104
|
||||
1105 1106 1109 1110 1111 1112 1113 1114 1115 1116
|
||||
1117 1120 1121 1122
|
||||
00004
|
||||
nnum
|
||||
180
|
||||
199 210 221 232 243 254 265 266 276 277
|
||||
287 288 298 299 309 310 320 321 331 332
|
||||
342 343 353 354 364 365 375 376 386 387
|
||||
397 398 399 408 409 410 419 420 421 430
|
||||
431 432 441 442 443 452 453 454 464 465
|
||||
475 476 486 487 497 498 508 509 519 520
|
||||
531 532 542 543 553 554 564 565 575 576
|
||||
586 587 597 598 608 609 619 620 630 631
|
||||
641 642 652 653 664 665 675 676 686 687
|
||||
697 698 708 709 719 720 730 731 741 742
|
||||
752 753 763 764 774 775 785 786 797 798
|
||||
808 809 819 820 830 831 841 842 852 853
|
||||
863 864 865 874 875 876 885 886 887 896
|
||||
897 898 907 908 909 918 919 920 930 931
|
||||
941 942 952 953 963 964 974 975 985 986
|
||||
996 997 998 1007 1008 1009 1018 1019 1020 1029
|
||||
1030 1031 1040 1041 1042 1051 1052 1053 1063 1064
|
||||
1074 1075 1085 1086 1096 1097 1107 1108 1118 1119
|
||||
|
||||
stop
|
||||
2034
docs/pages/tutorial/lagrit_introduction/step_04/tet_multi_mat.zone
Normal file
@@ -0,0 +1,95 @@
|
||||
zone
|
||||
00001 top
|
||||
nnum
|
||||
66
|
||||
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066
|
||||
1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
|
||||
1077 1078 1079 1080 1081 1082 1083 1084 1085 1086
|
||||
1087 1088 1089 1090 1091 1092 1093 1094 1095 1096
|
||||
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106
|
||||
1107 1108 1109 1110 1111 1112 1113 1114 1115 1116
|
||||
1117 1118 1119 1120 1121 1122
|
||||
00002 bottom
|
||||
nnum
|
||||
66
|
||||
1 2 3 4 5 6 7 8 9 10
|
||||
11 12 13 14 15 16 17 18 19 20
|
||||
21 22 23 24 25 26 27 28 29 30
|
||||
31 32 33 34 35 36 37 38 39 40
|
||||
41 42 43 44 45 46 47 48 49 50
|
||||
51 52 53 54 55 56 57 58 59 60
|
||||
61 62 63 64 65 66
|
||||
00003 left_w
|
||||
nnum
|
||||
102
|
||||
1 12 23 34 45 56 67 78 89 100
|
||||
111 122 133 144 155 166 177 188 199 210
|
||||
221 232 243 254 265 276 287 298 309 320
|
||||
331 342 353 364 375 386 397 408 419 430
|
||||
441 452 463 474 485 496 507 518 529 540
|
||||
551 562 573 584 595 606 617 628 639 650
|
||||
661 672 683 694 705 716 727 738 749 760
|
||||
771 782 793 804 815 826 837 848 859 870
|
||||
881 892 903 914 925 936 947 958 969 980
|
||||
991 1002 1013 1024 1035 1046 1057 1068 1079 1090
|
||||
1101 1112
|
||||
00005 right_e
|
||||
nnum
|
||||
102
|
||||
11 22 33 44 55 66 77 88 99 110
|
||||
121 132 143 154 165 176 187 198 209 220
|
||||
231 242 253 264 275 286 297 308 319 330
|
||||
341 352 363 374 385 396 407 418 429 440
|
||||
451 462 473 484 495 506 517 528 539 550
|
||||
561 572 583 594 605 616 627 638 649 660
|
||||
671 682 693 704 715 726 737 748 759 770
|
||||
781 792 803 814 825 836 847 858 869 880
|
||||
891 902 913 924 935 946 957 968 979 990
|
||||
1001 1012 1023 1034 1045 1056 1067 1078 1089 1100
|
||||
1111 1122
|
||||
00006 back_n
|
||||
nnum
|
||||
187
|
||||
56 57 58 59 60 61 62 63 64 65
|
||||
66 122 123 124 125 126 127 128 129 130
|
||||
131 132 188 189 190 191 192 193 194 195
|
||||
196 197 198 254 255 256 257 258 259 260
|
||||
261 262 263 264 320 321 322 323 324 325
|
||||
326 327 328 329 330 386 387 388 389 390
|
||||
391 392 393 394 395 396 452 453 454 455
|
||||
456 457 458 459 460 461 462 518 519 520
|
||||
521 522 523 524 525 526 527 528 584 585
|
||||
586 587 588 589 590 591 592 593 594 650
|
||||
651 652 653 654 655 656 657 658 659 660
|
||||
716 717 718 719 720 721 722 723 724 725
|
||||
726 782 783 784 785 786 787 788 789 790
|
||||
791 792 848 849 850 851 852 853 854 855
|
||||
856 857 858 914 915 916 917 918 919 920
|
||||
921 922 923 924 980 981 982 983 984 985
|
||||
986 987 988 989 990 1046 1047 1048 1049 1050
|
||||
1051 1052 1053 1054 1055 1056 1112 1113 1114 1115
|
||||
1116 1117 1118 1119 1120 1121 1122
|
||||
00004 front_s
|
||||
nnum
|
||||
187
|
||||
1 2 3 4 5 6 7 8 9 10
|
||||
11 67 68 69 70 71 72 73 74 75
|
||||
76 77 133 134 135 136 137 138 139 140
|
||||
141 142 143 199 200 201 202 203 204 205
|
||||
206 207 208 209 265 266 267 268 269 270
|
||||
271 272 273 274 275 331 332 333 334 335
|
||||
336 337 338 339 340 341 397 398 399 400
|
||||
401 402 403 404 405 406 407 463 464 465
|
||||
466 467 468 469 470 471 472 473 529 530
|
||||
531 532 533 534 535 536 537 538 539 595
|
||||
596 597 598 599 600 601 602 603 604 605
|
||||
661 662 663 664 665 666 667 668 669 670
|
||||
671 727 728 729 730 731 732 733 734 735
|
||||
736 737 793 794 795 796 797 798 799 800
|
||||
801 802 803 859 860 861 862 863 864 865
|
||||
866 867 868 869 925 926 927 928 929 930
|
||||
931 932 933 934 935 991 992 993 994 995
|
||||
996 997 998 999 1000 1001 1057 1058 1059 1060
|
||||
1061 1062 1063 1064 1065 1066 1067
|
||||
|
||||
stop
|
||||
@@ -0,0 +1,377 @@
|
||||
zone
|
||||
00001 top Sum VORONOI vectors: 0.2500000E+03 0.5000000E+03 0.5000000E+04
|
||||
nnum
|
||||
66
|
||||
-1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 1.000000000000E+02
|
||||
2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 -1.250000000000E+01 1.250000000000E+01 2.500000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 1.250000000000E+01 1.250000000000E+01 2.500000000000E+01
|
||||
00002 bottom Sum VORONOI vectors: 0.2500000E+03 0.5000000E+03 0.5000000E+04
|
||||
nnum
|
||||
66
|
||||
-1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02 0.000000000000E+00 0.000000000000E+00 -1.000000000000E+02
|
||||
2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 -1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01
|
||||
00003 left_w Sum VORONOI vectors: 0.4000000E+04 0.8000000E+03 0.5000000E+03
|
||||
nnum
|
||||
102
|
||||
-1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 -1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
-5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
-2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 -1.250000000000E+01 1.250000000000E+01 2.500000000000E+01
|
||||
00005 right_e Sum VORONOI vectors: 0.4000000E+04 0.8000000E+03 0.5000000E+03
|
||||
nnum
|
||||
102
|
||||
1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01
|
||||
2.500000000000E+01 0.000000000000E+00 -5.000000000000E+01 1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00
|
||||
5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 2.500000000000E+01 0.000000000000E+00 5.000000000000E+01
|
||||
2.500000000000E+01 0.000000000000E+00 5.000000000000E+01 1.250000000000E+01 1.250000000000E+01 2.500000000000E+01
|
||||
00006 back_n Sum VORONOI vectors: 0.8000000E+03 0.8000000E+04 0.1000000E+04
|
||||
nnum
|
||||
187
|
||||
-1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -5.000000000000E+01
|
||||
1.250000000000E+01 1.250000000000E+01 -2.500000000000E+01 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 2.500000000000E+01 0.000000000000E+00
|
||||
-1.250000000000E+01 1.250000000000E+01 2.500000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 5.000000000000E+01
|
||||
1.250000000000E+01 1.250000000000E+01 2.500000000000E+01
|
||||
00004 front_s Sum VORONOI vectors: 0.8000000E+03 0.8000000E+04 0.1000000E+04
|
||||
nnum
|
||||
187
|
||||
-1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 -5.000000000000E+01
|
||||
1.250000000000E+01 -1.250000000000E+01 -2.500000000000E+01 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00
|
||||
0.000000000000E+00 -5.000000000000E+01 0.000000000000E+00 2.500000000000E+01 -2.500000000000E+01 0.000000000000E+00
|
||||
-1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01 0.000000000000E+00 -2.500000000000E+01 5.000000000000E+01
|
||||
1.250000000000E+01 -1.250000000000E+01 2.500000000000E+01
|
||||
|
||||
stop
|
||||
@@ -0,0 +1,8 @@
|
||||
zone
|
||||
000011 pwell
|
||||
nnum
|
||||
13
|
||||
292 358 424 490 556 622 688 754 820 886
|
||||
952 1018 1084
|
||||
|
||||
stop
|
||||
@@ -0,0 +1,55 @@
|
||||
13 13 14 0 0
|
||||
001 5.000000000000E+01 2.000000000000E+01 2.000000000000E+01
|
||||
002 5.000000000000E+01 2.000000000000E+01 2.500000000000E+01
|
||||
003 5.000000000000E+01 2.000000000000E+01 3.000000000000E+01
|
||||
004 5.000000000000E+01 2.000000000000E+01 3.500000000000E+01
|
||||
005 5.000000000000E+01 2.000000000000E+01 4.000000000000E+01
|
||||
006 5.000000000000E+01 2.000000000000E+01 4.500000000000E+01
|
||||
007 5.000000000000E+01 2.000000000000E+01 5.000000000000E+01
|
||||
008 5.000000000000E+01 2.000000000000E+01 5.500000000000E+01
|
||||
009 5.000000000000E+01 2.000000000000E+01 6.000000000000E+01
|
||||
010 5.000000000000E+01 2.000000000000E+01 6.500000000000E+01
|
||||
011 5.000000000000E+01 2.000000000000E+01 7.000000000000E+01
|
||||
012 5.000000000000E+01 2.000000000000E+01 7.500000000000E+01
|
||||
013 5.000000000000E+01 2.000000000000E+01 8.000000000000E+01
|
||||
001 1 pt 1
|
||||
002 1 pt 2
|
||||
003 1 pt 3
|
||||
004 1 pt 4
|
||||
005 1 pt 5
|
||||
006 1 pt 6
|
||||
007 1 pt 7
|
||||
008 1 pt 8
|
||||
009 1 pt 9
|
||||
010 1 pt 10
|
||||
011 1 pt 11
|
||||
012 1 pt 12
|
||||
013 1 pt 13
|
||||
00014 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||
imt1, integer
|
||||
itp1, integer
|
||||
icr1, integer
|
||||
isn1, integer
|
||||
top, integer
|
||||
bottom, integer
|
||||
left_w, integer
|
||||
right_e, integer
|
||||
back_n, integer
|
||||
front_s, integer
|
||||
ccoef, real
|
||||
iwell, integer
|
||||
elev, real
|
||||
id_node, integer
|
||||
1 1 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.200000000000E+02 292
|
||||
2 1 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.250000000000E+02 358
|
||||
3 1 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.300000000000E+02 424
|
||||
4 1 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.350000000000E+02 490
|
||||
5 2 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.400000000000E+02 556
|
||||
6 2 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.450000000000E+02 622
|
||||
7 2 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.500000000000E+02 688
|
||||
8 2 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.550000000000E+02 754
|
||||
9 4 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.600000000000E+02 820
|
||||
10 4 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.650000000000E+02 886
|
||||
11 4 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.700000000000E+02 952
|
||||
12 4 0 0 0 -5 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.750000000000E+02 1018
|
||||
13 3 10 0 0 1 -5 -5 -5 -5 -5 0.000000000000E+00 11 0.800000000000E+02 1084
|
||||
@@ -0,0 +1,4 @@
|
||||
pset ascii 1
|
||||
pwell 4 13
|
||||
292 358 424 490 556 622 688 754 820 886
|
||||
952 1018 1084
|
||||