SMS:Renumber: Difference between revisions
Line 23: | Line 23: | ||
==Historical== | ==Historical== | ||
In the past, SMS used a trial an error method of renumbering. | In the past, SMS used a trial an error method of renumbering. It required selecting a nodestring and issue the '''Renumber''' command either from the ''Nodestrings'' menu or when right-clicking on a selected nodestring. SMS would use a sweeping algorithm progressing from the selected nodestring to reassign the node and element numbers. The "row" of elements and nodes adjacent to the string is numbered first. The elements and nodes adjacent to the first set of nodes and elements are numbered next, and so on until all of the nodes and elements have been renumbered. | ||
SMS would use a sweeping algorithm progressing from the selected nodestring to reassign the node and element numbers. | |||
The "row" of elements and nodes adjacent to the string is numbered first. | |||
The elements and nodes adjacent to the first set of nodes and elements are numbered next, and so on until all of the nodes and elements have been renumbered. | |||
Since the front proceeds from one set of elements to an adjacent set of elements, disjoint portions of the mesh were not visited in the renumbering process. Unvisited nodes and elements were numbered arbitrarily. It was then up to the user to try various starting points, comparing the computed front widths, and keep the numbering that resulted in the smallest front width. | Since the front proceeds from one set of elements to an adjacent set of elements, disjoint portions of the mesh were not visited in the renumbering process. Unvisited nodes and elements were numbered arbitrarily. It was then up to the user to try various starting points, comparing the computed front widths, and keep the numbering that resulted in the smallest front width. | ||
This process did not ensure an optimal numbering, and could become tedious. With version 11.1 of SMS, the global renumbering methodology was added, making the process more efficient. When this modification was implemented, the command to renumber was moved from the ''Nodestrings'' menu to the ''Nodes'' menu. However, for convenience, the command was left in the right click menu on selected nodestrings | This process did not ensure an optimal numbering, and could become tedious. With version 11.1 of SMS, the global renumbering methodology was added, making the process more efficient. When this modification was implemented, the command to renumber was moved from the ''Nodestrings'' menu to the ''Nodes'' menu. However, for convenience, the command was left in the right-click menu on selected nodestrings. SMS uses the global renumbering algorithm even when the command is issued from this right-click menu. | ||
== Related Topics == | == Related Topics == |
Revision as of 18:08, 29 December 2015
Renumbering a mesh improves the computational efficiency (how fast a model produces a result) of a numeric mesh but should not affect the end results.
Global Renumber
To renumber a mesh select the Renumber command in the Nodes menu.
Upon execution of this command, the nodes and elements are renumbered using a global renumbering process known as the Cuthill-McKee or Inverse Cuthill-McKee scheme. Other global resequencing methods may be added in future versions. The Cuthill-McKee method searches for a global optimum, but since are often multiple options with the same efficiency level (bandwidth), invoking the command multiple times usually results in different numbering patterns. Each time a mesh is generated, SMS invokes a renumbering command. When nodes are manually added/removed from a mesh, it should be renumbered.
It is important to realize that after renumbering the finite element mesh, any previous boundary condition file or solution file may no longer be valid!
In the case of boundary conditions, SMS associates the specified conditions with the nodestrings, elements or nodes, but the model specific files must be resaved with the new numbering scheme.
In the case of solution files, the numeric engines output values associated with a node id, so the solution is associated with a specific mesh, right down to the numbering of the nodes. The solution would not map to the renumbered mesh correctly and must be regenerated. (The old solution is still valid for the old mesh, but renumbering in effect creates a new mesh.)
Front Width and Band Width
There are two measures of efficiency of a matrix. These include front width and band width. Both can be computed in multiple ways from the grid. The Cuthill-McKee scheme has its own method of computing band width and reports the band width before and after renumbering. In addition, SMS provides an estimate as to how large the front width and half band width may become when running the finite element solver. These estimates are shown in the Mesh Information dialog, which can be opened by performing the File | Get Info command while in the Mesh Module.
Background information
Due to the number of questions that are asked regarding this subject, this section will attempt to describe, in a broad sense, why renumbering is important.
The finite element solvers use an iterative, banded numerical solver to solve the governing differential equations. If the computer had to simultaneously solve the thousands of equations, much more memory would be required and the process is much less efficient (more time). Meshes with gaps in numbering could lead to errors or singular matrices resulting in no solution with many finite element solvers.
Renumbering organizes the equations in the system of equation so that they can be decomposed and efficiently solved.
Historical
In the past, SMS used a trial an error method of renumbering. It required selecting a nodestring and issue the Renumber command either from the Nodestrings menu or when right-clicking on a selected nodestring. SMS would use a sweeping algorithm progressing from the selected nodestring to reassign the node and element numbers. The "row" of elements and nodes adjacent to the string is numbered first. The elements and nodes adjacent to the first set of nodes and elements are numbered next, and so on until all of the nodes and elements have been renumbered.
Since the front proceeds from one set of elements to an adjacent set of elements, disjoint portions of the mesh were not visited in the renumbering process. Unvisited nodes and elements were numbered arbitrarily. It was then up to the user to try various starting points, comparing the computed front widths, and keep the numbering that resulted in the smallest front width.
This process did not ensure an optimal numbering, and could become tedious. With version 11.1 of SMS, the global renumbering methodology was added, making the process more efficient. When this modification was implemented, the command to renumber was moved from the Nodestrings menu to the Nodes menu. However, for convenience, the command was left in the right-click menu on selected nodestrings. SMS uses the global renumbering algorithm even when the command is issued from this right-click menu.
Related Topics
SMS – Surface-water Modeling System | ||
---|---|---|
Modules: | 1D Grid • Cartesian Grid • Curvilinear Grid • GIS • Map • Mesh • Particle • Quadtree • Raster • Scatter • UGrid | |
General Models: | 3D Structure • FVCOM • Generic • PTM | |
Coastal Models: | ADCIRC • BOUSS-2D • CGWAVE • CMS-Flow • CMS-Wave • GenCade • STWAVE • WAM | |
Riverine/Estuarine Models: | AdH • HEC-RAS • HYDRO AS-2D • RMA2 • RMA4 • SRH-2D • TUFLOW • TUFLOW FV | |
Aquaveo • SMS Tutorials • SMS Workflows |