(git:6a2e663)
replica_types Module Reference

types used to handle many replica of the same system that differ only in atom positions, and velocity. This is useful for things like path integrals or nudged elastic band More...

Functions/Subroutines

subroutine, public rep_env_release (rep_env)
 releases the given replica environment More...
 
subroutine, public rep_env_sync (rep_env, vals)
 sends the data from each replica to all the other on replica j/=i data from replica i overwrites val(:,i) More...
 
subroutine, public rep_env_sync_results (rep_env, results)
 sends the data from each replica to all the other in this case the result type is passed More...
 
type(replica_env_type) function, pointer, public rep_envs_get_rep_env (id_nr, ierr)
 returns the replica environment with the given id_nr More...
 
subroutine, public rep_envs_add_rep_env (rep_env)
 adds the given rep_env to the list of controlled rep_envs. More...
 

Detailed Description

types used to handle many replica of the same system that differ only in atom positions, and velocity. This is useful for things like path integrals or nudged elastic band

Note
this is a stupid implementation that replicates all the information about the replicas, if you really want to do a lot of replicas on a lot of processors you should think about distributiong also that information
History
09.2005 created [fawzi]
Author
fawzi

Function/Subroutine Documentation

◆ rep_env_release()

subroutine, public replica_types::rep_env_release ( type(replica_env_type), pointer  rep_env)

releases the given replica environment

Parameters
rep_envthe replica environment to release
Author
fawzi
Note
here and not in replica_types to allow the use of replica_env_type in a force_env (call to destroy_force_env gives circular dep)

Definition at line 137 of file replica_types.F.

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

◆ rep_env_sync()

subroutine, public replica_types::rep_env_sync ( type(replica_env_type), pointer  rep_env,
real(kind=dp), dimension(:, :), intent(inout)  vals 
)

sends the data from each replica to all the other on replica j/=i data from replica i overwrites val(:,i)

Parameters
rep_envreplica environment
valsthe values to synchronize (second index runs over replicas)
Author
fawzi
Note
could be optimized: bcast in inter_rep, all2all or shift vs sum

Definition at line 228 of file replica_types.F.

Here is the caller graph for this function:

◆ rep_env_sync_results()

subroutine, public replica_types::rep_env_sync_results ( type(replica_env_type), pointer  rep_env,
type(cp_result_p_type), dimension(:), pointer  results 
)

sends the data from each replica to all the other in this case the result type is passed

Parameters
rep_envreplica environment
resultsis an array of result_types
Author
fschiff

Definition at line 256 of file replica_types.F.

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

◆ rep_envs_get_rep_env()

type(replica_env_type) function, pointer, public replica_types::rep_envs_get_rep_env ( integer, intent(in)  id_nr,
integer, intent(out)  ierr 
)

returns the replica environment with the given id_nr

Parameters
id_nrthe id_nr of the requested rep_envs
ierr...
Returns
...
Author
fawzi

Definition at line 283 of file replica_types.F.

Here is the caller graph for this function:

◆ rep_envs_add_rep_env()

subroutine, public replica_types::rep_envs_add_rep_env ( type(replica_env_type), pointer  rep_env)

adds the given rep_env to the list of controlled rep_envs.

Parameters
rep_envthe rep_env to add
Author
fawzi

Definition at line 310 of file replica_types.F.

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