NAME
HackaMol::QmMolRole - provides attributes needed for quantum chemistry calculations
VERSION
version 0.00_21
SYNOPSIS
# instance of class that consumes the QmMolRole.
$obj->multiplicity(1);
my @energies = $mol->all_Etot;
DESCRIPTION
QmMolRole provides attributes that will be useful for setting up interfaces to quantum chemistry packages. This role consumes the QmAtomRole so there is some overlap for basis_geom, basis, and ecp. For interfaces, the Molecule should take precedence over the atom; i.e. if a Molecule has a basis of 6-31G*, that should be used for all atoms regardless of the basis set that they may have. All attributes are 'rw' and lazy, so they will not contaminate the namespace unless called upon. QmMolRole has 'basis_atoms' that should be generated from the binned unique atoms in a molecule. basis_atoms are just instances of the HackaMol::Atom class with all the basis sets and effective core potentials loaded, either as simple strings supported by the package or the full descriptions pulled from the EMSL basis set exchange as a single Str. https://bse.pnl.gov/bse/portal
A dream is to interface with EMSL library directly. Attributes below are described without much detail; they will contain information mapped from calculations and are not exhaustive. This role will probably evolve as interfaces are added.
ATTRIBUTES
multiplicity
isa Int that is lazy and rw
Etot Eelec Enuc
each isa ArrayRef[Num] that is lazy with public ARRAY traits: push_$_ get_$_ all_$_ clear_$_ count_$_
qm_dipole_moment ionization_energy gradient_norm Hform
each isa ArrayRef[Num] that is lazy with public ARRAY traits: push_$_ get_$_ all_$_ clear_$_ count_$_
U H G S S_t S_r S_v
each isa ArrayRef[Num] that is lazy with public ARRAY traits: push_$_ get_$_ all_$_ clear_$_ count_$_
Etot_mp2 Etot_ccsdt Ecds
each isa ArrayRef[Num] that is lazy with public ARRAY traits: push_$_ get_$_ all_$_ clear_$_ count_$_
qm_dipole frequencies eigvec alpha beta
each isa ArrayRef[Math::Vector::Real] that is lazy with public ARRAY traits: push_$_ get_$_ all_$_ clear_$_ count_$_
SEE ALSO
CONSUMES
AUTHOR
Demian Riccardi <demianriccardi@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Demian Riccardi.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.