Download of SPMODEL library (spml)
The SPMODEL library (spml) wraps the subroutines of the Fortran library for spectral calculations ISPACK with Fortran (>= 90) functions, and further adds several convenient functions and subroutines for differentiation, integration, boundary value problems, and so on.
The functions included in this library make use of the enhanced array features in Fortran (>= 90):
- Element-wise operations: the ability to perform calculations on each element without specifying individual elements
- The ability to create functions that return arrays
Furthermore, the naming convention for the functions has been standardized as:
(data type of output)_(operation)_(data type of arguments)
By using the array functions of this library, which take advantage of Modern Fortran's array capabilities, it becomes possible to program the parts of the time evolution equation other than the time-change term exactly in the form of the mathematical expression. Since the form of the governing equation can be reflected directly in the program source, the readability of the program can be improved. In addition, the array functions of spml are named in a consistent manner so that the properties of input and output arrays are clear from their names. This makes the use of functions more mechanical and allows program modifications to be carried out easily. Furthermore, by making the types of arguments and output functions clear from their names, it also aims to reduce mistakes related to arguments and outputs.