BigChem Algorithms¶
BigChem implements some of its own concurrent algorithms that leverage its horizontally scalable backend infrastructure. These include a parallel hessian algorithm and parallel frequency analysis algorithm. To use them submit a hessian
calculation to ChemCloud using bigchem
as the engine. See examples the parallel_hessian.py
and parallel_frequency_analysis.py
scripts in the examples directory.
Hessian¶
from qcio import DualProgramInput, ProgramOutput, Structure
from chemcloud import CCClient
water = Structure(
symbols=["O", "H", "H"],
geometry=[
[0.0000, 0.00000, 0.0000],
[0.2774, 0.89290, 0.2544],
[0.6067, -0.23830, -0.7169],
],
)
client = CCClient()
prog_inp = DualProgramInput(
structure=water,
calctype="hessian",
subprogram="psi4",
subprogram_args={"model": {"method": "b3lyp", "basis": "6-31g"}},
)
# Submit calculation
future_result = client.compute("bigchem", prog_inp)
prog_output: ProgramOutput = future_result.get()
# ProgramOutput object containing all returned data
print(prog_output)
print(prog_output.results.hessian)
# Frequency data always included too
print(f"Wavenumbers: {prog_output.results.freqs_wavenumber}")
print(prog_output.results.normal_modes_cartesian)
print(prog_output.results.gibbs_free_energy)
Frequency Analysis¶
from qcio import DualProgramInput, ProgramOutput, Structure
from chemcloud import CCClient
water = Structure(
symbols=["O", "H", "H"],
geometry=[
[0.0000, 0.00000, 0.0000],
[0.2774, 0.89290, 0.2544],
[0.6067, -0.23830, -0.7169],
],
)
client = CCClient()
prog_inp = DualProgramInput(
structure=water,
calctype="hessian",
subprogram="psi4",
subprogram_args={"model": {"method": "b3lyp", "basis": "6-31g"}},
)
# Submit calculation
future_result = client.compute("bigchem", prog_inp)
prog_output: ProgramOutput = future_result.get()
# ProgramOutput object containing all returned data
print(prog_output)
print(f"Wavenumbers: {prog_output.results.freqs_wavenumber}")
print(prog_output.results.normal_modes_cartesian)
print(prog_output.results.gibbs_free_energy)
Keywords for the BigChem algorithms:
Keyword | Type | Description | Default Value |
---|---|---|---|
dh |
float |
Displacement for gradient geometries for finite difference | 5.0e-3 |
temperature |
float |
Temperature passed to the harmonic free energy module | 300.0 |
pressure |
float |
Pressure passed to the harmonic free energy module | 1.0 |