SMS:Renumber: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.  
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.  


To renumber a mesh select the renumber command in the nodes menu.
==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.
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 is no longer valid! They must be resaved with the new indices.  
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==  
==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.
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.  
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, it would run out of memory. This is why it uses a banded solver. The front width and the half-band width determine the size of the matrix which is used by the finite element solvers. A smaller front width and band width lead to a smaller required matrix. The front width and band width depend on the node and element numbering of the finite element mesh. To minimize the front width and band width, the mesh should be renumbered.
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 Nodes and Elements ==
Renumbering organizes the equations in the system of equation so that they can be decomposed and efficiently solved.
Meshes with gaps in numbering or with random numbering can lead to errors or inefficient solutions with many finite element solvers. The nodes and the elements can be renumbered simultaneously in an efficient manner by selecting  the '''Renumber''' item from the ''Nodestrings''  menu. A node  string must be selected before renumbering the mesh.


The selected node string is used to specify where the renumbering process  begins. 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.
==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.


The nodes and elements are renumbered in a sequence that can be envisioned as a "moving front" that passes through the mesh. Since the front proceeds from one set of elements to an adjacent set of elements, disjoint portions of the mesh  will not be visited in the renumbering process. Unvisited nodes and elements are numbered arbitrarily.
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 nodestringsSMS uses the global renumbering algorithm even when the command is issued from this right-click menu.


== Related Topics ==
== Related Topics ==
* [[SMS:2D Mesh Nodestrings Menu|Nodestrings Menu]]


* [[SMS:2D Mesh Nodestrings Menu|Nodestrings Menu]]


{{Template:Navbox SMS}}
{{Template:Navbox SMS}}


[[Category:SMS 2D Mesh]]
[[Category:SMS 2D Mesh|R]]

Latest revision as of 15:31, 24 April 2020

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