f90wrap: an automated tool for constructing deep Python interfaces to modern Fortran codes
James R. Kermode
Abstract
f90wrap is a tool to automatically generate Python extension modules which interface to Fortran libraries that makes use of derived types. It builds on the capabilities of the popular f2py utility by generating a simpler Fortran 90 interface to the original Fortran code which is then suitable for wrapping with f2py, together with a higher-level Pythonic wrapper that makes the existance of an additional layer transparent to the final user. f90wrap has been used to wrap a number of large software packages of relevance to the condensed matter physics community, including the QUIP molecular dynamics code and the CASTEP density functional theory code.
Topics & Concepts
FortranPython (programming language)CASTEPComputer scienceProgramming languageSoftwareComputational scienceCode (set theory)Interface (matter)Parallel computingDensity functional theoryChemistryComputational chemistryMaximum bubble pressure methodBubbleSet (abstract data type)Machine Learning in Materials ScienceHigh-pressure geophysics and materialsQuantum, superfluid, helium dynamics