The implementation includes three functions:
• Label –MATLAB translation of FORTRAN function LABEL (Sloan, 1989) which label a graph for small profile and RMS wavefront.
• Graph –MATLAB translation of FORTRAN function GRAPH (Sloan, 1989) which form adjacency list for graph corresponding to FE mesh
• reduceProfile – Input to this function is FE mesh stored as a matrix of element nodes. Function calls the Graph and Label functions for profile reduction.
FORTRAN77 code from (Sloan, 1989) is translated into MATLAB code almost literally. No attempts for code vectorization was made. The only change in implementation is the replacement of subroutine ISORTI (using insertion sort) by straight selection sort. Also, some checks for intercepting 1x1 matrix and diagonal matrix are added.
Sloan, S. W. (1989). A Fortran Program for Profile and Wave-Front Reduction. International Journal for Numerical Methods in Engineering, 28(11), 2651-2679.
The technical note is available from
milan batista (2020). reduceProfile (https://github.com/milanbb/reduceProfile), GitHub. Retrieved .
Add to GitHub
Correct matrix plot
Add a link to the technical note