Substitution#
- class autode.substitution.SubstitutionCentre(a_atom_idx, c_atom_idx, x_atom_idx, a_atom_nn_idxs)#
- __init__(a_atom_idx, c_atom_idx, x_atom_idx, a_atom_nn_idxs)#
- Substitution centre has the following structure: - H H H | |/ N-- H C -- Cl / / H H - where: - a_atom = N c_atom = C x_atom = Cl a_atom_nn = H, H, H (bonded to N) - all given as their atom indexes in a ReactantComplex 
 - set_attack_r0(species, shift_factor)#
- Set the ideal distance between a and c atoms in a substitution centre 
 
- autode.substitution.add_dummy_atom(reactant, bond_rearrangement)#
- Add a dummy atom above or below the plane of the reactant as a temporary X atom - Parameters:
- bond_rearrangement (autode.bond_rearrangement.BondRearrangement) 
 
- autode.substitution.attack_cost(reactant, subst_centres, attacking_mol_idx, a=1.0, b=1.0, c=1.0, d=10.0)#
- Calculate the ‘attack cost’ for a molecule attacking in e.g. a substitution or elimination reaction: - C = Σ_ac a * (r_ac - r^0_ac)^2 + Σ_acx b * (1 - cos(θ)) + Σ_acx c*(1 + cos(φ)) + Σ_ij d/r_ij^4 - where: - cos(θ) = (v_ann • v_cx / |v_ann||v_cx|) cos(φ) = (v_ca • v_cx / |v_ca||v_cx|) 
- autode.substitution.get_cost_rotate_translate(x, reactant, subst_centres, attacking_mol_idx)#
- Get the cost for placing an attacking mol given a specified rotation and translation - Parameters:
- reactant (autode.complex.ReactantComplex) 
- subst_centres (list(autode.substitution.SubstitutionCentre)) 
- attacking_mol_idx (int) – Index of the attacking molecule 
 
- Return type:
- (float) 
 
- autode.substitution.get_substc_and_add_dummy_atoms(reactant, bond_rearrangement, shift_factor)#
- Get all the substitution centers in a molecule. A substitution centre is defined as atom that upon reaction has a bond made and broken simultaneously - Parameters:
- bond_rearrangement (autode.bond_rearrangement.BondRearrangement) 
- shift_factor (float) – The multiplier in the ideal A–C distance where A is an attacking atom and C a substitution centre 
 
- Returns:
- (tuple(list(autode.substitution.SubstitutionCentre),
- autode.complex.ReactantComplex)):