aiida_aimall.workchains.param_parts#

Workchains that are smaller parts of SubstituenParamWorkChain

Module Contents#

Classes#

SmilesToGaussianWorkChain

Workchain to take a substituent SMILES, and run a Gaussian calculation on that SMILES

AIMAllReorWorkChain

Workchain to run AIM and then reorient the molecule using the results

class aiida_aimall.workchains.param_parts.SmilesToGaussianWorkChain(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True)[source]#

Bases: aiida.engine.WorkChain

Workchain to take a substituent SMILES, and run a Gaussian calculation on that SMILES

Takes an input SMILES with one placeholder *, generates a geometry with * replaced with a hydrogen. U

smiles#

SMILES of a substiuent. Must contain a single placeholder *

Type:

aiida.orm.Str

gaussian_parameters#

Gaussian calculation for generating a wfx

Type:

aiida.orm.Dict

gaussian_code#

Gaussian Code

Type:

aiida.orm.Code

wfxname#

name of wfx file provided in gaussian_parameters

Type:

aiida.orm.Str

wfxgroup#

group to store the wfx file in

Type:

aiida.orm.Str

mem_mb#

amount of memory in MB for the Gaussian calculation

Type:

aiida.orm.Int

nprocs#

number of processors for the Gaussian calculation

Type:

aiida.orm.Int

time_s#

amount of time to run the Gaussian calculation

Type:

aiida.orm.Int

Note

The SMILES provided should have a single *.

Note

Uses the charge and multiplicity of the provided SMILES, not that provided to gaussian_parameters

Note

‘output’:’wfx’ should be provided to gaussian_parameters. And a .wfx file name should be provided as well

classmethod define(spec)[source]#

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

get_substituent_inputs_step()[source]#

Given list of substituents and previously done smiles, get input

update_parameters_with_cm()[source]#

Update provided Gaussian parameters with charge and multiplicity of substituent

string_to_StructureData()[source]#

Convert an xyz string of molecule geometry to StructureData

get_wfx_name()[source]#

Find the wavefunction file in the retrieved node

submit_gaussian()[source]#

Submits the gaussian calculation

found_wfx_name()[source]#

Check if we found a wfx or wfn file

create_wfx_file()[source]#

Create a wavefunction file from the retireved folder

results()[source]#

Store our relevant information as output

class aiida_aimall.workchains.param_parts.AIMAllReorWorkChain(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True)[source]#

Bases: aiida.engine.WorkChain

Workchain to run AIM and then reorient the molecule using the results

Often called in aiida_aimall.controllers.AimReorSubmissionController. Process continues in aiida_aimall.controllers.GaussianSubmissionController.

aim_params#

(AimqbParameters): Command line parameters for aimqb

file#

.fchk, .wfn, or .wfx file for aimqb input

Type:

aiida.orm.SinglefileData

aim_code#

AIMQB code

Type:

aiida.orm.Code

frag_label#

Optional SMILES tag of the substituent

Type:

aiida.orm.Str

aim_group#

Optional group to put the AIM calculation node in

Type:

aiida.orm.Str

reor_group#

Optional group to put the reoriented structure in

Type:

aiida.orm.Str

Example

from aiida_aimall.data import AimqbParameters
from aiida_aimall.workchains.param_parts import AIMAllReorWorkChain
from aiida.orm import SinglefileData, load_code
from aiida.engine import submit
input_file = SinglefileData("/absolute/path/to/file")
aim_code = load_code("aimall@localhost")
aim_params = AimqbParameters({'nproc':2,'naat':2,'atlaprhocps':True})
builder = AIMAllReorWorkChain.get_builder()
builder.file = input_file
builder.aim_code = aim_code
builder.aim_params = aim_params
submit(builder)
classmethod define(spec)[source]#

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

aimall()[source]#

submit the aimall calculation

rotate()[source]#

perform the rotation

dict_to_struct_reor()[source]#

generate the gaussian input from rotated structure

result()[source]#

Parse results