https://github.com/digital-chemistry-laboratory/multiwfn-mac-build

A build recipe for Multiwfn on MacOS

https://github.com/digital-chemistry-laboratory/multiwfn-mac-build

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 4 months ago · JSON representation

Repository

A build recipe for Multiwfn on MacOS

Basic Info
  • Host: GitHub
  • Owner: digital-chemistry-laboratory
  • License: mit
  • Language: CMake
  • Default Branch: main
  • Size: 5.09 MB
Statistics
  • Stars: 35
  • Watchers: 2
  • Forks: 4
  • Open Issues: 2
  • Releases: 0
Created over 3 years ago · Last pushed 5 months ago
Metadata Files
Readme

README.md

Introduction

Multiwfn is one of the most versatile software packages for electronic wave function analysis. Sadly, support for MacOS was dropped after version 3.7. This is an independent CMake-based build recipe which I have found to work reasonably well on an M1-based Mac running MacOS Monterey 12.4. Others have reproduced it on Intel Macs. No guarantees given for anything.

Homebrew tap

The easiest way to install is with the Homebrew tap.

Requirements

The build has been tested with Homebrew-installed: - GCC - OpenBLAS - CMake - flint

Apple's Accelerate for BLAS/LAPACK also seems to work. No guarantees are given for other combinations of compilers and linear algebra backends. The build recipe might break with future versions of Multiwfn.

Building from source distribution

The source_dist branch is updated daily based on the published Multiwfn source files. We clone this branch and build with cmake:

zsh $ git clone --branch source_dist https://github.com/digital-chemistry-laboratory/multiwfn-mac-build.git $ cd multiwfn-mac-build $ cmake -B build $ cmake --build build $ cp build/multiwfn .

Alternatively, use cmake -B build -DCMAKE_BUILD_TYPE=Release to fully optimize the build, but it will take additonal time.

We then need to add the Multiwfn path to ~/.zshrc. Adapt the specific path to where you have installed Multiwfn on your system. See the Multiwfn manual for more specific instructions.

zsh export PATH=$PATH:$HOME/bin/multiwfn-mac-build export Multiwfnpath=$HOME/bin/multiwfn-mac-build

Building with OpenMP

To build with OpenMP, set the flag cmake -B build -DWITH_OpenMP=ON. Then you need to specify the number of processors in settings.ini (see below).

Building with OpenBLAS

To link against OpenBLAS rather than Apple's Accelerate, on Apple Silicon the following environment variables have to be set before calling CMake.

export LDFLAGS="-L/opt/homebrew/opt/openblas/lib" export PKG_CONFIG_PATH="/opt/homebrew/opt/openblas/lib/pkgconfig"

Install

Use cmake --install build to install the multiwfn executable and settings.ini. Change install prefix with the flag --prefix <dir>

Building with GUI

The GUI version can be built on Intel machines and seem to work with bugs on Apple Silicon machnines. The required libraries can be installed with homebrew:

shell brew install libx11 libxt mesa openmotif

Install DISLIN

The DISLIN package needs to be installed on the system. Follow these steps: 1. Download the right distribution from the DISLIN download page 2. Unpack the .tar.gz file and go into the folder 3. Set the preferred install directory for DISLIN 4. Run the installation script 5. Patch the library install name

An example of how to do this is: ```shell wget https://www.dislin.de/downloads/macOS/dislin-11.5.macOS.intel.64.tar.gz

for Apple Silicon: wget https://www.dislin.de/downloads/macOS/dislin-11.5.macOS.arm.64.tar.gz

tar -xvf dislin-11.5.macOS.intel.64.tar.gz export DISLIN=$HOME/bin/dislin cd dislin-11.5 ./INSTALL cd .. installnametool -id $DISLIN/libdislind.dylib $DISLIN/libdislind.dylib ```

Building

To build with the GUI, specify the following options to CMake,

shell $ cmake -B build -DWITH_GUI=ON -DDISLIN_DIR=$DISLIN

where $DISLIN points to the same directory as during the installation. These options can be combined with OpenMP and the release build type for optimal performance (see above).

Running

To avoid memory issues, make sure to follow the instructions in the Multiwfn manual and set the OMP_STACKSIZE before executing the program.

shell export OMP_STACKSIZE=64000000 multiwfn

Owner

  • Name: Digital Chemistry Laboratory
  • Login: digital-chemistry-laboratory
  • Kind: organization
  • Location: Switzerland

The Digital Chemistry Laboratory at ETH Zurich

GitHub Events

Total
  • Issues event: 5
  • Watch event: 14
  • Issue comment event: 8
  • Push event: 45
  • Pull request event: 4
  • Fork event: 2
  • Create event: 2
Last Year
  • Issues event: 5
  • Watch event: 14
  • Issue comment event: 8
  • Push event: 45
  • Pull request event: 4
  • Fork event: 2
  • Create event: 2

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 6
  • Total pull requests: 3
  • Average time to close issues: 17 days
  • Average time to close pull requests: about 10 hours
  • Total issue authors: 6
  • Total pull request authors: 2
  • Average comments per issue: 2.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 1
  • Average time to close issues: 19 days
  • Average time to close pull requests: 12 minutes
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 2.75
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • isolated-matrix (1)
  • jp78fr (1)
  • sorahiro (1)
  • ecbrown (1)
  • HikariSakurai (1)
  • MercShaw (1)
Pull Request Authors
  • kjelljorner (2)
  • foxtran (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v3 composite
.github/workflows/deploy.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v3 composite