RMPCDMD
|
Block correlators. More...
Data Types | |
type | axial_correlator_t |
type | correlator_t |
Functions/Subroutines | |
subroutine | init (this, l, b, dim, n) |
Initialize a correlator_t variable. More... | |
subroutine | add (this, i, block_operation, x, x_n, xvec, xvec_n) |
Add a data element to the correlator. More... | |
subroutine, public | correlate_block_dot (s, c, idx, l, n, dim) |
Correlation routine for dot product. More... | |
subroutine, public | correlate_block_distsq (s, c, idx, l, n, dim) |
Correlation routine for squared distance. More... | |
integer function, public | get_n_blocks (l, n_blocks_max, n_samples) |
Return the number of blocks needed for a trajectory of length n_samples. More... | |
subroutine | axial_init (this, block_length, n_samples, n_samples_fast) |
Initialize an axial correlator. More... | |
subroutine | axial_add (this, i, com_pos, unit_r) |
Add a data element to an axial correlator (slow time scale) More... | |
subroutine | axial_add_fast (this, i, v_com, unit_r) |
Add a data element to an axial correlator (fast time scale) More... | |
subroutine | axial_write (this, correlator_group, sampling, dt, fast_sampling, fast_dt) |
Write all correlators from an axial correlator variable to a HDF5 group. More... | |
subroutine, public | write_correlator_block (loc, name, c, step, time) |
Write the data from a correlator_t variable to a HDF5 group. More... | |
Block correlators.
This modules defines a derived type for storing logarithmic block correlators. The subroutines correlate_block_distsq and correlate_block_dot are correlators for the square distance and the dot product, respectively.
The derived type axial_correlator_t groups correlators for axisymmetric bodies such as the dimer.
See http://pdebuyl.be/blog/2016/correlators.html for information
|
private |
Add a data element to the correlator.
Definition at line 90 of file correlator.f90.
|
private |
Add a data element to an axial correlator (slow time scale)
Definition at line 217 of file correlator.f90.
|
private |
Add a data element to an axial correlator (fast time scale)
Definition at line 228 of file correlator.f90.
|
private |
Initialize an axial correlator.
Definition at line 199 of file correlator.f90.
|
private |
Write all correlators from an axial correlator variable to a HDF5 group.
Definition at line 244 of file correlator.f90.
subroutine, public correlator::correlate_block_distsq | ( | double precision, dimension(:,:,:), intent(in) | s, |
double precision, dimension(:,:,:), intent(inout) | c, | ||
integer, intent(in) | idx, | ||
integer, intent(in) | l, | ||
integer, intent(in) | n, | ||
integer, intent(in) | dim | ||
) |
Correlation routine for squared distance.
Definition at line 168 of file correlator.f90.
subroutine, public correlator::correlate_block_dot | ( | double precision, dimension(:,:,:), intent(in) | s, |
double precision, dimension(:,:,:), intent(inout) | c, | ||
integer, intent(in) | idx, | ||
integer, intent(in) | l, | ||
integer, intent(in) | n, | ||
integer, intent(in) | dim | ||
) |
Correlation routine for dot product.
Definition at line 148 of file correlator.f90.
integer function, public correlator::get_n_blocks | ( | integer, intent(in) | l, |
integer, intent(in) | n_blocks_max, | ||
integer, intent(in) | n_samples | ||
) |
Return the number of blocks needed for a trajectory of length n_samples.
Definition at line 188 of file correlator.f90.
|
private |
Initialize a correlator_t variable.
Definition at line 58 of file correlator.f90.
subroutine, public correlator::write_correlator_block | ( | integer(hid_t), intent(inout) | loc, |
character(len=*), intent(in) | name, | ||
type(correlator_t), intent(in) | c, | ||
integer, intent(in) | step, | ||
double precision, intent(in) | time | ||
) |
Write the data from a correlator_t variable to a HDF5 group.
Definition at line 267 of file correlator.f90.