cspy-dma command

The cspy-dma command is used to carry out distributed multipole analysis.

cspy-dma [-h] [-l MULTIPOLE_LIMIT] [-p {F,W}] [-b BASIS_SET] [--method METHOD]
         [--charges CHARGES] [--multiplicities MULTIPLICITIES] [--ranks RANKS [RANKS ...]]
         [-d DMA_SWITCH] [--axis-file AXIS_FILE] [--log-level LOG_LEVEL] [--cleanup]
         [--no-cleanup] [--gaussian-cpus GAUSSIAN_CPUS] [--gaussian-mem GAUSSIAN_MEM]
         [--sort] [--no-sort] [--overwrite-xyz-files] [--no-overwrite-xyz-files]
         [--foreshorten_hydrogens FORESHORTEN_HYDROGENS] [--hydrogen_radius HYDROGEN_RADIUS]
         [--additional-route-commands ADDITIONAL_ROUTE_COMMANDS]
         [--additional-sections ADDITIONAL_SECTIONS] [--pcm PCM] [--psi4]
         [--psi4-dispersion-method PSI4_DISPERSION_METHOD] [--timeout-gdma TIMEOUT_GDMA]
         xyz_files [xyz_files ...]

positional arguments

options

  • -h, --help - show this help message and exit

  • -l MULTIPOLE_LIMIT, --multipole-limit MULTIPOLE_LIMIT - Maximum rank for DMA calculation (default: 4)

  • -p POTENTIAL_TYPE, --potential-type POTENTIAL_TYPE - Potential type labels for neighcrys (default: F)

  • -b BASIS_SET, --basis-set BASIS_SET - Basis set for Gaussian09 calculation (a string passed verbatim into Gaussian input file, e.g. 6-311G**) (default: 6-311G**)

  • --method METHOD - Electronic structure method (usually DFT functional) for Gaussian09 calculation (a string passed verbatim into Gaussian input file, e.g. B3LYP or PBEPBE) (default: B3LYP)

  • --charges CHARGES - The charges of the molecules, leaving the option empty will set all molecules to have a charge of 0

  • --multiplicities MULTIPLICITIES - The multiplicities to use in the Gaussian09 calculations, leaving this option empty will set all molecules to have a multiplicity of 1

  • --ranks RANKS, -r RANKS - Rank(s) to fit with MULFIT (default: [0])

  • -d DMA_SWITCH, --dma-switch DMA_SWITCH - dma switch (default: 4)

  • --axis-file AXIS_FILE, -a AXIS_FILE - Provide an axis file to specify the molecular axes (EXPERIMENTAL)

  • --log-level LOG_LEVEL - Control level of logging output (default: INFO)

  • --cleanup - Cleanup additional unnnecessary files

  • --no-cleanup - Don’t clean up additional unnnecessary files

  • --gaussian-cpus GAUSSIAN_CPUS, -j GAUSSIAN_CPUS - Number of cpus for G09 or Psi4 (default: 1)

  • --gaussian-mem GAUSSIAN_MEM, -m GAUSSIAN_MEM - Memory setting for G09 or Psi4 (default: 2GB)

  • --sort - Sort atoms within the molecules

  • --no-sort - Don’t sort atoms within the molecules

  • --overwrite-xyz-files - Overwrite the xyz files

  • --no-overwrite-xyz-files - Don’t overwrite the xyz files

  • --foreshorten_hydrogens FORESHORTEN_HYDROGENS - The length to foreshortening hydrogens

  • --hydrogen_radius HYDROGEN_RADIUS - Hydrogen radius setting for gdma integration

  • --additional-route-commands ADDITIONAL_ROUTE_COMMANDS - Additional route commands for running g09 (default: )

  • --additional-sections ADDITIONAL_SECTIONS - Additional sections to append to the end of g09 input (default: )

  • --pcm PCM - pcm value

  • --psi4 - Run DMA calculation with psi4 + GDMA

  • --psi4-dispersion-method PSI4_DISPERSION_METHOD - Specify the dispersion method used in the Psi4 calculation. Defaults to Grimmes D3 (default: D3)

  • --timeout-gdma TIMEOUT_GDMA - Timeout for the GDMA calculation (default: 3600.0)

Note

cspy-dma requires the g09, gdma and mulfit``executables to be available in your ``$PATH.

Neutral Molecules

As an example, the distributed multipole analysis can be done as follows:

cspy-dma molecule.xyz

This will output the following files:

molecule.mols               # molecular axis definition (NEIGHCRYS/DMACRYS) format
molecule.dma                # molecular multipoles
molecule_rank0.dma          # molecular charges in the same format (probably from MULFIT or similar)

Charged Molecules

For example, for calculation of the distributed multipole analysis of ammonium (charge = 1, multiplicity = 1), charge and multiplicity (required for Gaussian calculations) can be entered as follows:

cspy-dma ammonium.xyz --charges 1 --multiplicities 1

Z’ > 1 structure or a co-crystal

Simply call all the program with multipole geometry files in the stoichiometric ratio desired, e.g.:

cspy-dma acetic.xyz acetic.xyz water.xyz

Which would result in a 2:1 hydrate of acetic acid. Try playing around with cspy-dma

Salts

Call the cspy-dma with geometry files of cation and anion followed by charges and multiplicities. For example for ammonium benzoate with ammonium as cation (charge = 1, multiplicity = 1) and benzoate as anion (charge = -1, multiplicity = 1), the distributed multipole analysis can be done as follows:

cspy-dma ammonium.xyz benzoate.xyz --charges "1 -1" --multiplicities "1 1"

Note

Use the same order in entering geometries, charges, and multiplicities.