CP2K 2.4 (Revision 12889)
Classes | Namespaces | Functions | Variables

distribution_1d_types.f90 File Reference

#include "cp_common_uses.h"
Include dependency graph for distribution_1d_types.f90:

Go to the source code of this file.

Classes

struct  distribution_1d_types::local_particle_type
struct  distribution_1d_types::distribution_1d_type
 structure to store local (to a processor) ordered lists of integers. More...
struct  distribution_1d_types::distribution_1d_p_type
 pointer to a distribution_1d_type More...

Namespaces

namespace  distribution_1d_types
 

stores a lists of integer that are local to a processor. The idea is that these integers represent objects that are distributed between the different processors. The ordering is just to make some operation more efficent, logically these lists are like sets. Some operations assume that the integers represent a range of values from 1 to a (not too big) maxval, and that an element is present just once, and only on a processor (these assumption are marked in the documentation of such operations). The concrete task for which this structure was developed was distributing atoms between the processors.


Functions

subroutine, public distribution_1d_types::distribution_1d_create (distribution_1d, para_env, listbased_distribution, n_el, n_lists, error)
 creates a local list
subroutine, public distribution_1d_types::distribution_1d_retain (distribution_1d, error)
 retains a distribution_1d
subroutine, public distribution_1d_types::distribution_1d_release (distribution_1d, error)
 releases the given distribution_1d
subroutine, public distribution_1d_types::init_local_particle_set (distribution_1d, nparticle_kind, work_section, error)
subroutine, public distribution_1d_types::distribution_1d_sort_list (distribution_1d, i_list, error)
 sorts the given list (if not specified all)
subroutine, public distribution_1d_types::distribution_1d_search_el (distribution_1d, element, found, i_list_to_search, i_pos, i_list, error)
 returns true if the given element is contained in the requested list
subroutine, public distribution_1d_types::distribution_1d_build_gdist (distribution_1d, error)
 build an array with the id of the processor that owns that index (-1 if no processor owns it)
subroutine, public distribution_1d_types::distribution_1d_destroy_gdist (distribution_1d, error)
 deallocates the global dist array
subroutine, public distribution_1d_types::distribution_1d_write (distribution_1d, unit_nr, error)
 writes a description of the local distribution to the given unit

Variables

LOGICAL, parameter, private distribution_1d_types::debug_this_module = .TRUE.
CHARACTER(len=*), parameter,
private 
distribution_1d_types::moduleN = 'distribution_1d_types'
INTEGER, save, private distribution_1d_types::distribution_1d_last_id_nr = 0