Documentation for module pint_staging

Data type and methods dealing with PI calcs in staging coordinates

source: pint_staging.F
Loading...

public Subroutines/Functions:

calculates the harmonic force in the staging basis
creates the data needed for a staging transformation
SUBROUTINE
staging_f2uf (staging_env, uf, f)
staging transformation for the forces
initializes the masses and fictitious masses compatibly with the staging information
releases the staging environment
SUBROUTINE
staging_u2x (staging_env, ux, x)
transform from the u variable to the x (back staging transformation for the positions)
SUBROUTINE
staging_x2u (staging_env, ux, x)
Transforms from the x into the u variables using a staging transformation for the positions

SUBROUTINEstaging_calc_uf_h(staging_env, mass_beads, ux, uf_h, e_h)

calculates the harmonic force in the staging basis

Arguments:
POINTER
:: staging_env the staging environment
REAL(dp),
POINTER
:: mass_beads(:,:) the masses of the beads
REAL(dp),
POINTER
:: ux(:,:) the positions of the beads in the staging basis
REAL(dp),
POINTER
:: uf_h(:,:) the harmonic forces (not accelerations)
REAL(dp),
INTENT(out)
:: e_h ...

SUBROUTINEstaging_env_create(staging_env, staging_section, p, kt)

creates the data needed for a staging transformation

Arguments:
POINTER
:: staging_env ...
POINTER
:: staging_section ...
INTEGER,
INTENT(in)
:: p ...
REAL(dp),
INTENT(in)
:: kt ...

SUBROUTINEstaging_f2uf(staging_env, uf, f)

staging transformation for the forces

Arguments:
POINTER
:: staging_env the environment for the staging transformation
REAL(dp),
INTENT(out)
:: uf(:,:) will contain the forces after for the transformed variable
REAL(dp),
INTENT(in)
:: f(:,:) the forces to transform

SUBROUTINEstaging_init_masses(staging_env, mass, mass_beads, mass_fict, q)

initializes the masses and fictitious masses compatibly with the staging information

Arguments:
POINTER
:: staging_env the definition of the staging transformation
REAL(dp),
INTENT(in)
:: mass(:) *input* the masses of the particles
REAL(dp),
INTENT(out),
OPTIONAL
:: mass_beads(:,:) masses of the beads
REAL(dp),
INTENT(out),
OPTIONAL
:: mass_fict(:,:) the fictitious masses
REAL(dp),
INTENT(out),
OPTIONAL
:: q(:) masses of the nose thermostats

SUBROUTINEstaging_release(staging_env)

releases the staging environment

Arguments:
POINTER
:: staging_env the staging_env to release

SUBROUTINEstaging_u2x(staging_env, ux, x)

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

Arguments:
POINTER
:: staging_env the environment for the staging transformation
REAL(dp),
INTENT(in)
:: ux(:,:) the u variable (positions to be backtransformed)
REAL(dp),
INTENT(out)
:: x(:,:) will contain the positions

SUBROUTINEstaging_x2u(staging_env, ux, x)

Transforms from the x into the u variables using a staging transformation for the positions

Arguments:
POINTER
:: staging_env the environment for the staging transformation
REAL(dp),
INTENT(out)
:: ux(:,:) will contain the u variable
REAL(dp),
INTENT(in)
:: x(:,:) the positions to transform