Skip to content

Commit 414be8e

Browse files
author
Dillon Shaver
authored
Faq lanczos (#144)
* add Yu-Hsiang's response to FAQ
1 parent 9d76ef2 commit 414be8e

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ gh-pages:
3030
rm -rf source/ Makefile build/
3131
touch .nojekyll
3232
git add -A
33-
git commit -m "Generated gh-pages for `git log -1 --pretty=short --abbrev-commit $(BRANCH) --`" && git push origin gh-pages
33+
git commit -m "Generated gh-pages for `git log -1 --pretty=short --abbrev-commit $(BRANCH) --`" && git push --force origin gh-pages

source/faq.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,29 @@ Pre-Processing and Numerics
137137

138138
We currently support conversion from the exodusII with the ``exo2nek`` converter. This enables the import from popular mesh generators like ANSYS ICEM and CUBIT.
139139

140+
**I received a warning message about Lanczos failing to reach a residual target, what does this mean and what should I do about it?**
141+
142+
``Warning: Lanczos reached a residual of 12.840714 (target: 0.000010) after 50 x 50 iterations in Level=7!``
143+
144+
This warning is from parRSB (parallel recursive spectral bisection) which is used to distribute the elements to MPI ranks.
145+
parRSB guarantees "load-balancing", meaning the numbers of elements for each MPI rank are as close as possible.
146+
It also tries to minimize the communication between ranks by finding the minimal number of separators for the graph partition.
147+
For each cut, we find the Fiedler vector, the eigenvector of the smallest positive eigenvalue of the graph Laplacian.
148+
The warning you simply means Lanczos has hard time to converge at one of the levels, which is commonly shown for complex geometries at scale.
149+
As long as it doesn't produce an error, generally the warning can be ignored.
150+
However, it's recommended to also track the quality of the partition. You can find lines like these
151+
152+
.. code-block:: none
153+
154+
nElements max/min/bal: 10290 10289 1.00 << num. elem. per MPI rank.
155+
nMessages max/min/avg: 51 5 15.97 << indicating num. of MPI neighbors
156+
msgSize max/min/avg: 92191 1 12156.50 << size of each message
157+
msgSizeSum max/min/avg: 428087 104476 187446.11 << total message size per MPI rank.
158+
159+
..
160+
161+
There are some knobs we can adjust for the partitioning, but this only matters when you are in the communication dominant region.
162+
140163
**Why is it important to non-dimensionalize my case?**
141164

142165
Nek5000 can be run with dimensions, but we STRONGLY recommend that the case has been non-dimensionalized properly.

0 commit comments

Comments
 (0)