![]() ![]() Segmentation faults are catch-alls, usually indicating Some Major Problem. An easy to follow library to make Fortran easier in general with wrapped interfaces, sorting routines, kD-Trees, and other algorithms to handle scientific data and concepts.I have a segmentation fault when I try to run a program I have written in Fortran. The library contains core fortran routines and object-oriented classes. I used Fortran extensively during my PhD to solve very large systems of equations with application to the inversion of geophysical data for 3D subsurface physical property models. I developed algorithms that utilized random point clouds in space, structured rectilinear, triangular, and voronoi meshes, and the unstructured versions of these. Fortran has relatively little modern and freely available source code, compared to other languages, which have easy to use libraries that perform these types of operations. I struggled as a beginner coming in to Fortran because the basic functions that handle numbers were not readily available. It was frustrating that I had to write (and then duplicate) my own error checking when allocating memory or opening a file. I wonder, how many people have written their own function as basic as computing a mean of some numbers? What also frustrated me was when I had to write the same function/subroutine multiple times for different input types like integers or real numbers. This was initially the driving motivation for me to develop this library. The simple fact that Fortran does not have these basic functions readily available, and that any user starting from scratch would have to write their own. I humbly hope that this library will help to alleviate this issue, by providing functions/subroutines with complexities that range from the most basic to the more advanced, but all in pure Fortran. The effect is hopefully similar to a Python user who has immediate access to amazing packages such as numpy and scipy. The code comes with a complete set of source code documentation that is easily generated into html pages. These docs also contain working examples on how to run each function and subroutine within the library. #Simply fortran the debugger executable could not be located how to ![]() Also included in the docs are the references to papers or online material that I used. This library is written using modern Fortran standards with modules, sub modules, and object oriented derived types. The code can be compiled easily across platforms using CMake. There are three aspects that we need to address Getting Ready for Compiling and Creating the Documentation Main features | Documentation | Compiling | An example of coretranĪll functions and subroutines are interfaces, they work no matter the input type whether it real, or integer etc.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |