Demian Riccardi > HackaMol-0.00_07 > HackaMol::AtomGroup

Download:
HackaMol-0.00_07.tar.gz

Dependencies

Annotate this POD

Source   Latest Release: HackaMol-0.00_20

NAME ^

HackaMol::AtomGroup - HackaMol AtomGroup class

VERSION ^

version 0.00_07

SYNOPSIS ^

   use HackaMol::AtomGroup;
   use Math::Vector::Real;
   use Math::Vector::Real::Random;

   my $radius = 16;
   my $natoms = int(0.0334*($radius**3)*4*pi/3);

   my @atoms = map {Atom->new(Z => 8, charges=> [0], coords => [$_]) }
               map {$_*$radius}
               map {Math::Vector::Real->random_in_sphere(3)} 1 .. $natoms;

   my $group = AtomGroup->new(gname => 'biggroup', atoms=> [@atoms]);

   print $group->count_atoms . "\n";

   print $group->count_unique_atoms . "\n";

   print $group->Rg . "\n";

   my $numerical_error = $radius*sqrt($radius*3/5) - $group->Rg;

DESCRIPTION ^

The HackaMol AtomGroup class provides methods and attributes for groups of atoms. Atom groupings can be defined to mimic conventional forcefields or manipulated to generate novel analytical tools. For example, with a trajectory loaded, a dynamic cluster of atoms can be placed in a group and monitored in time. Or, perhaps, track regional charges of a quantum mechanical molecule with changes in configuration or external field. The AtomGroup class consumes the AtomGroupRole and provides the parent class for the Molecule class.

METHODS ^

Rg

no arguments. returns the scalar radius of gyration for the group of atoms

ATTRIBUTES ^

name

isa Str that is lazy and rw. useful for labeling, bookkeeping...

SEE ALSO ^

EXTENDS ^

CONSUMES ^

AUTHOR ^

Demian Riccardi <demianriccardi@gmail.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 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.

syntax highlighting: