236 lines
9.5 KiB
Markdown
Executable File
236 lines
9.5 KiB
Markdown
Executable File
---
|
||
GENERATOR: 'Mozilla/4.05C-SGI [en] (X11; I; IRIX64 6.5 IP28) [Netscape]'
|
||
title: MSTKLA Online Manual
|
||
---
|
||
|
||
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/construction24.gif">"249"
|
||
"87"<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/construc6.gif">"248" "166"
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
**MSTKLA - Mesh ToolKit interface to [LAgrit](http://lagrit.lanl.gov)**
|
||
|
||
(LA-UR-99-6711)
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
**DIRECT LINKS**
|
||
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/model.gif">"142"
|
||
"24"](Geom.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/mesh.gif">"143"
|
||
"26"](Mesh.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/utilities.gif">"143"
|
||
"25"](utilities.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/attributes.gif">"1"
|
||
"26"](MeshAttributes.md)
|
||
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/modelenty.gif">"144"
|
||
"24"](GeomEntity.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/modelregn.gif">"141"
|
||
"25"](GeomRegion.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/modelface.gif">"143"
|
||
"26"](GeomFace.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/modeledge.gif">"143"
|
||
"25"](GeomEdge.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/modelvert.gif">"142"
|
||
"24"](GeomVertex.md)
|
||
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/genregn.gif">"1"
|
||
"25"](GenRegion.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/meshregn.gif">"143"
|
||
"25"](MeshRegion.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/meshface.gif">"143"
|
||
"26"](MeshFace.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/meshedge.gif">"143"
|
||
"25"](MeshEdge.md) <img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/meshvert.gif">"143"
|
||
"25"](MeshVertex.md)
|
||
<img height="300" width="300" src="https://lanl.github.io/LaGriT/assets/images/trivia.gif">"144" "25"](trivia.md)
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
Questions, Comments, Suggestions? Contact:
|
||
|
||
Rao V Garimella,
|
||
PostDoc
|
||
Tel: (505) 665-4636
|
||
|
||
EES-5, MS D0
|
||
'
|
||
|
||
'
|
||
|
||
FAX: (505) 665-69
|
||
|
||
Los Alamos National Lab (
|
||
)-( ) Email: <rao@lanl.gov
|
||
|
||
Los Alamos, NM 8
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
|
||
|
||
**MSTKLA** is a C interface to the **LaGriT** code which is designed to
|
||
make it easier to use the LaGriT functionality. It tries to hide some of
|
||
the internals of LaGriT and provides an API that works in a somewhat
|
||
object oriented way. It does not attempt to provide or enhance
|
||
interactive commands that exist in LaGriT. Rather, it is designed more
|
||
with writing automated mesh generation procedures and complex meshing
|
||
algorithms within LaGriT in mind.
|
||
|
||
MSTKLA has one or more *mesh objects*, which have mesh ***regions***,
|
||
mesh ***faces,*** mesh ***edges*** and mesh ***vertices*** (nodes).
|
||
*Mesh faces and mesh edges are objects defined on the fly in terms of
|
||
their vertices.* One can ask these objects various questions or modify
|
||
their info through operators. In addition there is a ***geometric
|
||
model*** and ***geometric model objects*** (In the spirit of consistent
|
||
naming, I am labeling this set of functions **GMTKLA**). Since LaGriT
|
||
does not really store curves or points in the database, these are also
|
||
faked on the fly.
|
||
|
||
The mesh and model entities are related through the concept of
|
||
***CLASSIFICATION***.
|
||
|
||
***"A mesh entity is classified on a model entity if it forms all or
|
||
part of that model entity's discretization (grid) but not its
|
||
boundary's".***
|
||
|
||
So mesh regions can be classified only on a model region. Mesh faces
|
||
can be classified on a model face or a model region. Mesh vertices can
|
||
be classified on a model vertex, model edge, model face or model region.
|
||
|
||
Classification information can be queried from MSTKLA if it is
|
||
available. In particular, in LaGriT, only ***external faces*** (what
|
||
LaGriT calls ***"reflective" boundaries***) and ***internal faces or
|
||
interfaces*** created with the option ***"intrcons"*** in the
|
||
***[surface](http://www.t12.lanl.gov/~lagrit/SURFACE.md)***
|
||
command have the information required to retrieve full classification
|
||
information. Full classification information includes the ***type*** of
|
||
geometric model entity the mesh entity is classified on, the ***ID of
|
||
that geometric model entity*** and ***a pointer to the geometric model
|
||
object*** (which can be further queried). Interface surfaces created
|
||
with the surface command option "***intrface***" **do not** have the
|
||
necessary information to relate the mesh and the model fully. (In the
|
||
future, I may put in code to take the "intrface" type surfaces and add
|
||
the info needed to find out the classification information).
|
||
|
||
Note that the current interface works for querying an existing mesh but
|
||
not **yet** for modifying it. The operators for this are on the way.
|
||
Operators for calling the actual meshing operators (connect, refine,
|
||
smooth, etc) will also be added in the near future.
|
||
|
||
Finally, the basic interface (low level query and modification
|
||
operators) are expected to retain the same format regardless of what the
|
||
underlying database is (LaGriT or something else). So, for example, I am
|
||
hoping that an operator to retrieve the nodes of an element will retain
|
||
the same form shown below regardless of how it functions internally:
|
||
|
||
*void* **MR\_Vertices**(*PMeshObj* mesh, *PMeshRegn* reg, *int
|
||
**nv,
|
||
*PMeshVert
|
||
**rverts);
|
||
|
||
I will try hard to maintain this API constant but cannot absolutely
|
||
guarantee it.
|
||
|
||
|
||
[]{#parent-childAlso see **[Parent-Child Node (Vertex)
|
||
Issues](http://www.ees.lanl.gov/staff/rao/mstkla/parent-child.md)**
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
[]{#typedefs[TYPEDEFS](http://www.ees.lanl.gov/staff/rao/mstkla/prelim.md)
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
------------------------------------------------------------------------
|
||
[]{#MSTKLA_Init**MSTKLA Interface Operators**
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
**MESH INITIALIZATION:**
|
||
|
||
|
||
|
||
*void* **MSTKLA\_Init**(*void*);
|
||
|
||
Initialize the mesh toolkit.
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
**MESH OPERATORS:**
|
||
|
||
|
||
|
||
[]{#MESH OBJECT:[MESH
|
||
OBJECT:](http://www.ees.lanl.gov/staff/rao/mstkla/Mesh.md)
|
||
|
||
[]{#MESH REGION:[MESH
|
||
REGION:](http://www.ees.lanl.gov/staff/rao/mstkla/MeshRegion.md)
|
||
|
||
[]{#MESH FACE:[MESH
|
||
FACE:](http://www.ees.lanl.gov/staff/rao/mstkla/MeshFace.md)
|
||
|
||
[]{#MESH EDGE:[MESH
|
||
EDGE:](http://www.ees.lanl.gov/staff/rao/mstkla/MeshEdge.md)
|
||
|
||
[]{#MESH VERTEX:[MESH
|
||
VERTEX:](http://www.ees.lanl.gov/staff/rao/mstkla/MeshVertex.md)
|
||
|
||
|
||
|
||
[]{#GENERIC MESH REGION QUERIES:[GENERIC MESH REGION
|
||
QUERIES:](http://www.ees.lanl.gov/staff/rao/mstkla/GenRegion.md)
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
[]{#GMTKLA_Init**GEOMETRIC MODEL INITIALIZATION:**
|
||
|
||
*void* **GMTKLA\_Init**(*void*);
|
||
|
||
Initialize the geometric model interface.
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
**MODEL OPERATORS:**
|
||
|
||
[]{#GEOMETRIC MODEL:[GEOMETRIC
|
||
MODEL:](http://www.ees.lanl.gov/staff/rao/mstkla/Geom.md)
|
||
|
||
[]{#MODEL ENTITY:[MODEL
|
||
ENTITY:](http://www.ees.lanl.gov/staff/rao/mstkla/GeomEntity.md)
|
||
|
||
[]{#MODEL REGION:[MODEL
|
||
REGION:](http://www.ees.lanl.gov/staff/rao/mstkla/GeomRegion.md)
|
||
|
||
[]{#MODEL FACE:[MODEL
|
||
FACE:](http://www.ees.lanl.gov/staff/rao/mstkla/GeomFace.md)
|
||
|
||
[]{#MODEL EDGE:[MODEL
|
||
EDGE:](http://www.ees.lanl.gov/staff/rao/mstkla/GeomEdge.md)
|
||
|
||
[]{#MODEL VERTEX[MODEL
|
||
VERTEX](http://www.ees.lanl.gov/staff/rao/mstkla/GeomVertex.md)
|
||
---> Not implemented fully
|
||
|
||
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
[]{#UTILITIES:**[UTILITIES:](http://www.ees.lanl.gov/staff/rao/mstkla/utilities.md)**
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
------------------------------------------------------------------------
|
||
[]{#EXAMPLE**[EXAMPLE OF PROGRAMMING WITH
|
||
MSTKLA](http://www.ees.lanl.gov/staff/rao/mstkla/example.md)**
|
||
|
||
|
||
|
||
------------------------------------------------------------------------
|
||
|
||
------------------------------------------------------------------------
|
||
[]{#EXECUTABLE**[LIBRARIES, INCLUDE FILES AND CREATING AN
|
||
EXECUTABLE](http://www.ees.lanl.gov/staff/rao/mstkla/linking.md)**
|