Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

325 lines
8.3 KiB

2 years ago
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
.TH NEM_SLICE 1 LOCAL
.SH NAME
nem_slice - generate a load-balance file from an ExodusII geometry file
.SH SYNOPSIS
.B nem_slice
[
.B -h
] [
.B -V
] [
.B -a
.I inpfile
] [ <
.B -n
|
.B -e
>
.B -v
.B -m
.I machine_desc
.B -l
.I loadbal_desc
.B -s
.I eigensolv_desc
] [
.B -w
.I weighting_desc
] [
.B -g
.I group_list
] [
.B -f
] [
.B -c
] [
.B -o
.I outfile
] [
.I exoIIfile
]
.SH DESCRIPTION
.I nem_slice
reads in a FEM description of the geometry of a problem from an
.I ExodusII
file,
.I exoIIfile
, generates either a nodal or elemental graph of the problem,
calls
.I Chaco
to load balance the graph, and outputs a
.I NemesisI
load-balance file.
.SH OPTIONS
The
.B -h
option causes
.I nem_slice
to print out usage information. If the
.B -h
option is specified all other options are ignored.
.PP
The
.B -V
option causes
.I nem_slice
to print out the version number. If the
.B -V
option is specified all other options are ignored.
.PP
If the
.B -a
option is specified all parameters will be set from an ASCII input
file. Other command line options may be used with
.B -a
and such options will override anything respecified in the ASCII input
file.
.PP
The
.B -n
option specifies that a nodal decomposition should be performed on
the input FEM mesh, while the
.B -e
option specifies that an elemental decomposition should be
performed. One of either
.B -e
or
.B -n
is required.
.PP
The
.B -v
option is used to indicate that you wish to output an ExodusII file
which will allow you to visualize the load balance results. If the
mesh consists of one type of element then the visualization is done by
element blocks. If the mesh consists of mixed element types then the
visualization is done by assigning nodal results variables to each
FEM node in the mesh, the value of which corresponds to the processor
ID that node is assigned to.
.PP
The
.B -m
option is used to describe the parallel architecture for which the
load balance will be performed. There are currently three choices for
this option,
.I mesh
for an n-dimensional mesh architecture,
.I hcube
for a hypercube architecture, or
.I cluster
for a cluster architecture. All machine type specifications require
a sub-option giving the dimension(s) of the machine, and thus the
number of processors, for which the load balance is to be performed.
.PP
The
.B -l
option is used to specify which method to utilize in generating a load
balance for the given problem. In addition, a sub-option of
.B kl
can be specified if Kernighan-Lin refinement is desired and the main
method does not use KL by default. Another sub-option is the number of
sections to use (see the Chaco User's Guide for further
information). This can be specified with the sub-option,
.B num_sects=value.
An additional sub-option requires that the load balanced domains
are connected. This can be specified with the sub-option,
.B cnctd_dom.
Supported methods for load balancing are:
.PP
.B multikl
.br
.B spectral
.br
.B inertial
.br
.B linear
.br
.B random
.br
.B scattered
.br
.B zpinch
.br
.B infile=filename
.br
The last option,
.B infile,
reads the assignment vector from and input file. When using this option,
no other load balancing is performed. In addition, the is a sub-option,
.B outfile=filename,
that will write out the assignment vector after the load balancing is
complete.
.PP
The
.B -s
option is used to specify parameters for the eigensolver, if the
method utilizes an eigensolver. Parameters which can be specified are:
.PP
.B tolerance=value
.br
.B use_rqi
.br
.B vmax=value
.PP
The
.B -o
option gives the name of the
.I NemesisI
output file. By default the output file name is generated from the
input file name with different additions depending on the method being
used for load balancing and the number of processors for which the
load balance was generated.
.PP
The
.B -w
option is used to specify how to weight the graph of the problem once
it is generated. Currently
.I read
,
.I eb
, and
.I edges
sub-options are supported. The
.I read
sub-option allows the reading in of weights from an ExodusII file.
Nodal values are read for nodal decompositions and elemental values
for elemental decompositions. Along with the
.I read
sub-option other sub-options which can be specified are the name of the
variable, either nodal or elemental depending on the method requested,
as it exists in the ExodusII input file. This variable can either be
specified via it's name with the
.I var_name
sub-option. Or it can be specified with it's index via the
.I var_index
sub-option.
In addition the time index from which to read the given variable can
also be specified with the
.I time_index
sub-option. The
.I eb
sub-option is used to give a specific weight to a given element block.
The format to give block
.I n
a weight of
.I m
is
.br
eb=n:m
.br
If the sub-option
.I eb
comes after the
.I read
sub-option in the weighting specifications, then the value for the
element block overwrites the values read in from the ExodusII file.
If the
.I eb
sub-option comes before the
.I read
sub-option, then it is ignored. The
.I edges
sub-option is used to turn on edge weights for an elemental decomposition.
The default is that edge weights are not calculated. This sub-option is
ignored for a nodal decomposition.
.PP
The
.B -g
option allows the user to break up the element blocks into groups
that will be passed separately to Chaco. If the group descriptor
has white spaces in it, then it must be enclosed in quotes (").
The following rules apply to the descriptor:
.br
- Blocks are grouped using the slash "/" character.
.br
- Ids are separated with white space, comma, or by the hyphen "-"
character. The hyphen, "-", is used to include all element blocks between
the two given ID's.
.br
- Any blocks not included in the list, are added to a separate group.
.br
- Duplicates in the list are permitted, but the last group to which a
block is placed is where the block will go.
.br
- Block IDs not in the exodus file are quietly ignored.
.PP
The
.B -c
option turns off some of the error checking that nem_slice does while
finding elemental communication maps.
.PP
.SH INPUT FILE FORMAT
The optional ASCII input file closely mimics the command line
options. The file consists of a sequence of keys, each with a tab or
``='' separated value. The order of the keys is not significant and a
line beginning with a ``#'' is considered to be a comment. The
following keys are recognized by
.I nem_slice
:
.PP
Input ExodusII File
.br
Output NemesisI File
.br
Graph Type
.br
Decomposition Method
.br
Solver Specifications
.br
Machine Description
.br
Weighting Specifications
.br
Misc Options
.PP
The case of the words forming a key is not significant.
.SH COMMAND LINE EXAMPLES
To obtain a nodal load balance for a 2D mesh parallel computer with
processors arrayed in a 10x20 grid using multi-level decomposition:
.PP
.B nem_slice -n -m mesh=10x20 -l multikl geom.exoII
.PP
For the same problem to be run on a 5 dimensional hypercube use:
.PP
.B nem_slice -n -m hcube=5 -l multikl geom.exoII
.PP
To generate an elemental based load balance using a spectral method,
with KL refinement, for a 3D mesh architecture, with the RQI
eigensolver and quadrisection:
.PP
.B nem_slice -e -m mesh=10x5x2 -l spectral,kl,num_sects=1 -s use_rqi
.PP
To generate a nodal based load balance with Inertial+KL with weights
read from nodal results contained in an ExodusII file use:
.PP
.B nem_slice -n -m mesh=10x5x2 -l inertial,kl -w read=weights.exoII,vindx=1,time=2
.PP
.SH ASCII INPUT FILE EXAMPLE
(See the file "input-ldbl" distributed with the executable)
.SH SEE ALSO
.B The Chaco User's Guide Version 1.0;
B. Hendrickson, R. Leland; Sandia Report SAND93-2339, Nov. 1993
.PP
.B NemesisI: A Set of Functions for Describing Unstructured Finite
.B Element Data on Parallel Computers;
G. Hennigan, J. Shadid
.SH NOTES
.B nem_slice
attempts to be smart about parsing command line, or ASCII input file,
options. However, some errors may sneak through, in which case
.B Chaco
is relied upon for error detection.
.SH AUTHORS
Gary L. Hennigan, Sandia National Labs, Dept. 9221
.br
Matthew M. St. John, Sandia National Labs, Dept. 9221
.br
John N. Shadid, Sandia National Labs, Dept. 9221