Basic methods for fragmentation of a geometry and capping the fargments with link atoms.

module Fragmentation

Building the fragments

fragmentation_build_monomers(geometry, settings) # => Array of Systems

Build System objects containing geometries of the monomers (fragments + link atoms). The fragmentation uses definition of fragments and their charges from @settings. If no charges are defined, they are set to 0.

fragmentation_update_link_coord(systems) # => nil

Recalculates position of link atoms in the geometries

fragmentation_update_link_coord_fixed(systems, distance) # => nil

Recalculates position of link atoms in the geometries

fragmentation_build_dimers(systems_monomers) # Array of Systems

Builds System objects containing geometries of the dimers, making all possible pairs of monomers and removing unneccessary link atoms in re-formed covalend bonds.

fragmentation_build_trimers(systems_monomers) # Array of Systems

Builds System objects containing geometries of the trimers, making all possible combinations of monomers and removing unneccessary link atoms in re-formed covalend bonds.

fragmentation_build_mono_and_neighbors(systems_monomers)

Build clusters containing the monomer with all covalent bonded neigbours.

Misc. methods

fragmentation_dimer_distances(systems_monomers, systems_dimers)

Calculates closest distance between two dimers, and saves it in dimer system.properies[:frag_distance]. Zero value is used when the dimer is covalent-bound.