Skip to main content

Computational Chemistry Input Generator

Project description

Computational Chemistry Input Generator

codecov PyPI version Downloads

ccinput is an application to generate input files for computational chemistry software.

Example usage:

$ ccinput gaussian opt M062X -bs def2tzvp -f ethanol.xyz -n 8 --mem 32G
%chk=calc.chk
%nproc=8
%mem=32000MB
#p opt M062X/Def2TZVP

File created by ccinput

0 1
C   -1.31970000  -0.64380000   0.00000000
H   -0.96310000  -1.65260000   0.00000000
H   -0.96310000  -0.13940000  -0.87370000
H   -2.38970000  -0.64380000   0.00000000
C   -0.80640000   0.08220000   1.25740000
H   -1.16150000   1.09160000   1.25640000
H   -1.16470000  -0.42110000   2.13110000
O    0.62360000   0.07990000   1.25870000
H    0.94410000   0.53240000   2.04240000

ccinput can also be used as python library:

>>> from ccinput.wrapper import gen_input
>>> inp = gen_input(software="orca", type="ts", method="PBEh-3c", in_file="ethanol.xyz", nproc=16, solvent="ethanol", solvation_model="SMD")
*** No solvation radii specified; using default radii ***
>>> print(inp)
!OPTTS PBEh-3c
*xyz 0 1
C   -1.31970000  -0.64380000   0.00000000
H   -0.96310000  -1.65260000   0.00000000
H   -0.96310000  -0.13940000  -0.87370000
H   -2.38970000  -0.64380000   0.00000000
C   -0.80640000   0.08220000   1.25740000
H   -1.16150000   1.09160000   1.25640000
H   -1.16470000  -0.42110000   2.13110000
O    0.62360000   0.07990000   1.25870000
H    0.94410000   0.53240000   2.04240000
*
%pal
nprocs 16
end
%cpcm
smd true
SMDsolvent "ethanol"
end
>>>

Installation

From PyPI

pip install ccinput

From Github

You can install the bleeding-edge version of ccinput from Github:

pip install git+https://github.com/cyllab/ccinput

Usage

ccinput supports a wide range of options, including different solvation radii, density fitting and multiple basis sets. As of now, Gaussian 16 and ORCA 5 are supported, and more packages will be added in the future.

From the command line

Simply use the ccinput command with the desired parameters:

usage: ccinput [-h] [--basis_set BASIS_SET] [--solvent SOLVENT] [--solvation_model SOLVATION_MODEL]
               [--solvation_radii SOLVATION_RADII] [--specifications SPECIFICATIONS]
               [--density_fitting DENSITY_FITTING] [--custom_basis_sets CUSTOM_BASIS_SETS] [--xyz XYZ]
               [--file FILE] [--output OUTPUT] [--constraints CONSTRAINTS] [--nproc NPROC] [--mem MEM]
               [--charge CHARGE] [--mult MULT] [--name NAME] [--header HEADER]
               software type method

More detailed information about each option can be obtained with the ccinput -h command.

As Python library

The function gen_input returns input files as a single strings with the correct whitespace.

>>> from ccinput.wrapper import gen_input
>>> inp = gen_input(...)

The input can also be directly written to a file using write_input.

>>> from ccinput.wrapper import write_input
>>> write_input(filename, ...)

The desired options are passed as additional named parameters:

gen_input(software=None, # "gaussian" or "orca"
	type=None, # Type of calculation ("sp", "opt", "freq", ...)
	method="", # Computational method ("HF", "AM1", "B3LYP", ...)
	basis_set="", # If required by the method
	solvent="", # If implicit solvation is desired
	solvation_model="", # SMD, PCM, CPCM
	solvation_radii="", # Blank or "Default" gives the default radii, other options are available ("SMD18", "Bondi", "UAKS", ...)
	specifications="", # Any other custom keywords
	density_fitting="", # If desired
	custom_basis_sets="", # Basis sets for specific atoms, uses the format "<Element>=<Basis set label>;..." (e.g. "I=Def2-TZVPD;")
	xyz="", # XYZ structure as a string (replaces 'in_file')
	in_file="", # Filename of XYZ structure (replaces 'xyz')
	constraints="", # Constrained optimisation constraints (pending documentation)
	nproc=0, # Number of CPU cores to use
	mem="", # Amount of memory to use (specify units, otherwise MB are assumed)
	charge=0, 
	multiplicity=1, 
	name="calc", # If used by the software package, name of the input/scratch files
	header="File created by ccinput", # If used by the software package, header in the input file
	)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccinput-1.1.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

ccinput-1.1.0-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file ccinput-1.1.0.tar.gz.

File metadata

  • Download URL: ccinput-1.1.0.tar.gz
  • Upload date:
  • Size: 59.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for ccinput-1.1.0.tar.gz
Algorithm Hash digest
SHA256 6f84fd0370e8116c25f1d3fd91a4ba58ed304763af53745dfcf052ecdcc2538f
MD5 2a93312ff377b17b350ba4c0c5b9c33d
BLAKE2b-256 9a22e7a8c9d3d14343cea0a347eb57da45066e438affd9048216958eacd95a9b

See more details on using hashes here.

File details

Details for the file ccinput-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ccinput-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 45.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for ccinput-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7eb9105a68ad8598545afcca85458b4f8ba2a1e0824ef9c6315697933eb3d08c
MD5 fcf5cbc2917198f2795401ac9c2ed569
BLAKE2b-256 b5224b537ba9ac06c150e12624d834ff26639536e76542ae4d6f11faf94decf3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page