Skip to content

nfaguirrec/M3C

M3C (Microcanonical Metropolis Monte-Carlo)

M3C is a general-purpose code, though its primary targets are those fragmentation processes that take place through non- radiative transitions, where their fragments remain together enough time such that the excess of energy becomes randomly distributed over all internal degrees of freedom. M3C allows studying fragmentation processes in a large variety of systems irrespective of their composition and the nature of the chemical bonding between their elementary constituents.

In essence, the M3C consists in partitioning the mass, charge, energy, and momentum (linear and angular) of an excited molecular system (which are conserved in the microcanonical approach) among all accessible fragmentation channels with probabilities governed by considerations of maximum entropy. The key aspect of this methodology is that it provides a random way to move in phase space until a region of maximum entropy is reached, where the physical observables are computed. Here, only energy and entropy are responsible for the fate of the system.

The simplest calculation requires quantities such as geometries, electronic energies, and harmonic frequencies of all molecules included in the fragmentation model. This approach has already successfully been applied to the fragmentation of neutral and singly-charged carbon clusters, hydrogenated and nitrogenated carbon clusters, and small and medium-sized molecules in different physical scenarios or ionizing radiation.

Prerequisites

System Requirements:

M3C is known to work on GNU/Linux. However, it should work on any POSIX-compliant system.

Dependencies:

Recommended Dependencies:

These dependencies are optional, but strongly recommended for full functionality:

  • libmsym
    libmsym is a C library dealing with point group symmetry in molecules.

  • GAUSSIAN
    (version >= g09) Gaussian is a general purpose computational chemistry software package.

  • GAMESS
    General Atomic and Molecular Electronic Structure System GAMESS(US) is a software for computational chemistry.

Compiling M3C

Download the .zip file from this page and extract the files,

$ unzip M3C-master.zip 
Archive:  M3C-master.zip
9f1572142803f97705c5db16b2d018a9c853a658
   creating: M3C-master/
  inflating: M3C-master/LICENSE      
  inflating: M3C-master/LICENSE.jmol
...

$ mv M3C-master M3C

or clone the repository using git

$ git clone https://github.com/nfaguirrec/M3C.git

The following should be the content of the M3C directory if previous steps were successful:

$ cd M3C
$ ls
doc   doxyfile  LICENSE.jmol     LICENSE.scift  Makefile   src        utils
docs  LICENSE   LICENSE.libmsym  M3Cvars.sh     README.md  templates  VERSION

Enter in the M3C directory (cd M3C) and modify the Makefile file (src/Makefile). In particular, choose the right path to the scift library (-I<PATH_TO_SCIFT>/src and -L<PATH_TO_SCIFT>/src).

To build the code just type make inside the main directory as follows:

$ make
cd src; make; cd ..
make[1]: Entering directory '/scratch/nestor/M3C/src'
Building dependencies for AzizSlamanPotential.f90 ... OK
Building dependencies for Fragment.f90 ... OK
Building dependencies for FragmentsDB.f90 ... OK
...
Building MarkovChain.f90 (0:03.40)
Building NNLS.f90 (0:00.08)
Building M3CBR.f90 (0:01.53)

Installing M3C

The basic environmental variables that M3C needs can be loaded just adding the following command anywhere in the ~/.bashrc file:

source <PATH_TO_M3C>/M3Cvars.sh

M3C is also able to obtain data from electronic structure calculations by interfacing with some standard quantum chemistry programs. To enable this option the following variables must be specified:

# GAMESS configuration
export M3C_GAMESS_HOME=<PATH_TO_GAMESS_INSTALLATION>
export M3C_GAMESS_SCRATCH=/scratch/$USER/gamess

# GAUSSIAN configuration
export M3C_GAUSSIAN_HOME=<PATH_TO_GAUSSIAN_INSTALLATION>
export M3C_GAUSSIAN_SCRATCH=/scratch/$USER/gaussian

Authors

Citing

DOI

  1. Unraveling the structural stability and the electronic structure of ThO2 clusters
    N. F. Aguirre, J. Jung, and P. Yang
    Phys. Chem. Chem. Phys., 22, 18614 (2020)

  2. Dissociation dynamics of the diamondoid adamantane upon photoionization by XUV femtosecond pulses.
    S. Maclot, J. Lahl, J. Peschel, H. Wikmark, P. Rudawski, F. Brunner, H. Coudert-Alteirac, S. Indrajith, B. A. Huber, S. Díaz-Tendero, N. F. Aguirre, P. Rousseau, and P. Johnsson.
    Sci. Rep. 10, 2884 (2020)

  3. Fully versus Constrained Statistical Fragmentation of Carbon Clusters and their Heteronuclear Derivatives.
    N. F. Aguirre, S. Díaz-Tendero, T. IdBarkach, M. Chabot, K. Béroff, M. Alcamí, and F. Martín.
    J. Chem. Phys. 150, 144301 (2019)

  4. Furan Fragmentation in the Gas Phase: New Insights from Statistical and Molecular Dynamics Calculations.
    E. Erdmann, M. Łabuda, N. F. Aguirre, S. Díaz-Tendero, and M. Alcamí.
    J. Phys. Chem. A 122, 4153-4166 (2018)

  5. M3C: A Computational Approach To Describe Statistical Fragmentation of Excited Molecules and Clusters.
    N. F. Aguirre, S. Díaz-Tendero, P.-A. Hervieux, M. Alcamí, and F. Martín.
    J. Chem. Theory Comput. 13, 992-1009 (2017)