(git:aeba166)
Loading...
Searching...
No Matches
pint_normalmode Module Reference

Data type and methods dealing with PI calcs in normal mode coords. More...

Functions/Subroutines

subroutine, public normalmode_env_create (normalmode_env, normalmode_section, p, kt, propagator)
 creates the data needed for a normal mode transformation
 
pure subroutine, public normalmode_release (normalmode_env)
 releases the normalmode environment
 
pure subroutine, public normalmode_init_masses (normalmode_env, mass, mass_beads, mass_fict, q)
 initializes the masses and fictitious masses compatible with the normal mode information
 
subroutine, public normalmode_x2u (normalmode_env, ux, x)
 Transforms from the x into the u variables using a normal mode transformation for the positions.
 
subroutine, public normalmode_u2x (normalmode_env, ux, x)
 transform from the u variable to the x (back normal mode transformation for the positions)
 
subroutine, public normalmode_f2uf (normalmode_env, uf, f)
 normalmode transformation for the forces
 
pure subroutine, public normalmode_calc_uf_h (normalmode_env, mass_beads, ux, uf_h, e_h)
 calculates the harmonic force in the normal mode basis
 

Detailed Description

Data type and methods dealing with PI calcs in normal mode coords.

Author
fawzi
History
2006-02 created 2006-11 modified so it might actually work [hforbert] 2009-04-07 moved from pint_types module to a separate file [lwalewski] 2015-10 added alternative normal mode transformation needed by RPMD [Felix Uhl

Function/Subroutine Documentation

◆ normalmode_env_create()

subroutine, public pint_normalmode::normalmode_env_create ( type(normalmode_env_type), intent(out)  normalmode_env,
type(section_vals_type), pointer  normalmode_section,
integer, intent(in)  p,
real(kind=dp), intent(in)  kt,
integer, intent(in)  propagator 
)

creates the data needed for a normal mode transformation

Parameters
normalmode_env...
normalmode_section...
p...
kT...
propagator...
Author
Harald Forbert

Definition at line 55 of file pint_normalmode.F.

Here is the call graph for this function:

◆ normalmode_release()

pure subroutine, public pint_normalmode::normalmode_release ( type(normalmode_env_type), intent(inout)  normalmode_env)

releases the normalmode environment

Parameters
normalmode_envthe normalmode_env to release
Author
Harald Forbert

Definition at line 187 of file pint_normalmode.F.

◆ normalmode_init_masses()

pure subroutine, public pint_normalmode::normalmode_init_masses ( type(normalmode_env_type), intent(in)  normalmode_env,
real(kind=dp), dimension(:), intent(in)  mass,
real(kind=dp), dimension(:, :), intent(out), optional  mass_beads,
real(kind=dp), dimension(:, :), intent(out), optional  mass_fict,
real(kind=dp), dimension(:), intent(out), optional  q 
)

initializes the masses and fictitious masses compatible with the normal mode information

Parameters
normalmode_envthe definition of the normal mode transformation
massinput the masses of the particles
mass_beadsmasses of the beads
mass_fictthe fictitious masses
Qmasses of the nose thermostats
Author
Harald Forbert

Definition at line 207 of file pint_normalmode.F.

◆ normalmode_x2u()

subroutine, public pint_normalmode::normalmode_x2u ( type(normalmode_env_type), intent(inout)  normalmode_env,
real(kind=dp), dimension(:, :), intent(out)  ux,
real(kind=dp), dimension(:, :), intent(in)  x 
)

Transforms from the x into the u variables using a normal mode transformation for the positions.

Parameters
normalmode_envthe environment for the normal mode transformation
uxwill contain the u variable
xthe positions to transform
Author
Harald Forbert

Definition at line 250 of file pint_normalmode.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalmode_u2x()

subroutine, public pint_normalmode::normalmode_u2x ( type(normalmode_env_type), intent(inout)  normalmode_env,
real(kind=dp), dimension(:, :), intent(in)  ux,
real(kind=dp), dimension(:, :), intent(out)  x 
)

transform from the u variable to the x (back normal mode transformation for the positions)

Parameters
normalmode_envthe environment for the normal mode transformation
uxthe u variable (positions to be backtransformed)
xwill contain the positions
Author
Harald Forbert

Definition at line 268 of file pint_normalmode.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalmode_f2uf()

subroutine, public pint_normalmode::normalmode_f2uf ( type(normalmode_env_type), intent(inout)  normalmode_env,
real(kind=dp), dimension(:, :), intent(out)  uf,
real(kind=dp), dimension(:, :), intent(in)  f 
)

normalmode transformation for the forces

Parameters
normalmode_envthe environment for the normal mode transformation
ufwill contain the forces for the transformed variables afterwards
fthe forces to transform
Author
Harald Forbert

Definition at line 285 of file pint_normalmode.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normalmode_calc_uf_h()

pure subroutine, public pint_normalmode::normalmode_calc_uf_h ( type(normalmode_env_type), intent(in)  normalmode_env,
real(kind=dp), dimension(:, :), pointer  mass_beads,
real(kind=dp), dimension(:, :), pointer  ux,
real(kind=dp), dimension(:, :), pointer  uf_h,
real(kind=dp), intent(out)  e_h 
)

calculates the harmonic force in the normal mode basis

Parameters
normalmode_envthe normal mode environment
mass_beadsthe masses of the beads
uxthe positions of the beads in the staging basis
uf_hthe harmonic forces (not accelerations)
e_h...
Author
Harald Forbert

Definition at line 304 of file pint_normalmode.F.

Here is the caller graph for this function: