PROGRESS  master
prg_syrotation_mod Module Reference

A module to rotate the coordinates of a sybsystem in chemical systems. More...

Data Types

type  rotation_type
 Rotation type. More...
 

Functions/Subroutines

subroutine, public prg_parse_rotation (rot, filename)
 The parser for rotation. More...
 
subroutine, public prg_rotate (rot, r, verbose)
 Rotation routine. More...
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

A module to rotate the coordinates of a sybsystem in chemical systems.

It works by specifying two orientations and a rotation point.

Function/Subroutine Documentation

◆ prg_parse_rotation()

subroutine, public prg_syrotation_mod::prg_parse_rotation ( type(rotation_type), intent(inout)  rot,
character(len=*)  filename 
)

The parser for rotation.

Definition at line 45 of file prg_syrotation_mod.F90.

◆ prg_rotate()

subroutine, public prg_syrotation_mod::prg_rotate ( type(rotation_type), intent(in)  rot,
real(dp), dimension(:,:), intent(inout)  r,
integer, intent(in)  verbose 
)

Rotation routine.

It works by indicating the orientations (v1 and v1) and a rotation center. The orientation can be passed either directly by setting v1 and v2 or by indicating two points pQ1 and pQ2. Orientation can also be specified with an atom position if patom1 and patom2 indices are not zero this atoms are used to determine the initial and final orientation.

Parameters
rotRotation type
rCoordinates to be rotated
verboseVerbosity level

Example:

        rot%patom1 = 4
        rot%patom2 = 0
        rot%catom2 = 6
        rot%v2 = 0.0 ; rot%v2(1) = 1
        call prg_rotate(rot,r)

The latter will orient the system such that atom 4 points to the (1,0,0) direction.

Definition at line 138 of file prg_syrotation_mod.F90.

Variable Documentation

◆ dp

integer, parameter prg_syrotation_mod::dp = kind(1.0d0)
private

Definition at line 11 of file prg_syrotation_mod.F90.