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

realspace_grid_types.f90 File Reference

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

Go to the source code of this file.

Classes

struct  realspace_grid_types::realspace_grid_input_type
struct  realspace_grid_types::realspace_grid_desc_type
struct  realspace_grid_types::realspace_grid_type
struct  realspace_grid_types::realspace_grid_p_type
struct  realspace_grid_types::realspace_grid_desc_p_type

Namespaces

namespace  realspace_grid_types

Defines

#define __COLLAPSE3   collapse(3)

Functions

subroutine, public realspace_grid_types::init_input_type (input_settings, nsmax, rs_grid_section, ilevel, higher_grid_layout, error)
 parses an input section to assign the proper values to the input type
INTEGER, public realspace_grid_types::rs_grid_locate_rank (rs_desc, rank_in, shift)
 returns the 1D rank of the task which is a cartesian shift away from 1D rank rank_in only possible if rs_grid is a distributed grid
subroutine, public realspace_grid_types::rs_grid_create_descriptor (desc, pw_grid, input_settings, error)
 Determine the setup of real space grids - this is divided up into the creation of a descriptor and the actual grid itself (see rs_grid_create)
subroutine, public realspace_grid_types::rs_grid_create (rs, desc, error)
subroutine, public realspace_grid_types::rs_grid_reorder_ranks (desc, real2virtual, error)
 Defines a new ordering of ranks on this realspace grid, recalculating the data bounds and reallocating the grid. As a result, each MPI process now has a real rank (i.e. it's rank in the MPI communicator from the pw grid) and a virtual rank (the rank of the process where the data now owned by this process would reside in an ordinary cartesian distribution). NB. Since the grid size required may change, the caller should be sure to release and recreate the corresponding rs_grids The descreal2virtual and descvirtual2real arrays can be used to map a physical rank to the 'rank' of data owned by that process and vice versa.
subroutine, public realspace_grid_types::rs_grid_print (rs, iounit, error)
 Print information on grids to output.
subroutine, public realspace_grid_types::rs_pw_transfer (rs, pw, dir, error)
 Copy a function from/to a PW grid type to/from a real space type dir is the named constant rs2pw or pw2rs.
subroutine realspace_grid_types::rs_pw_transfer_replicated (rs, pw, dir, error)
 transfer from a realspace grid to a planewave grid or the other way around
subroutine realspace_grid_types::rs_pw_transfer_distributed (rs, pw, dir, error)
 does the rs2pw and pw2rs transfer in the case where the rs grid is distributed (3D domain decomposition)
subroutine, public realspace_grid_types::rs_grid_zero (rs)
 Initialize grid to zero.
subroutine, public realspace_grid_types::rs_grid_mult_and_add (rs1, rs2, rs3, scalar)
 rs1(i) = rs1(i) + rs2(i)*rs3(i)
subroutine, public realspace_grid_types::rs_grid_set_box (pw_grid, rs, error)
 Set box matrix info for real space grid This is needed for variable cell simulations.
subroutine, public realspace_grid_types::rs_grid_retain (rs_grid, error)
 retains the given rs grid (see doc/ReferenceCounting.html)
subroutine, public realspace_grid_types::rs_grid_retain_descriptor (rs_desc, error)
 retains the given rs grid descriptor (see doc/ReferenceCounting.html)
subroutine, public realspace_grid_types::rs_grid_release (rs_grid, error)
 releases the given rs grid (see doc/ReferenceCounting.html)
subroutine, public realspace_grid_types::rs_grid_release_descriptor (rs_desc, error)
 releases the given rs grid descriptor (see doc/ReferenceCounting.html)
subroutine realspace_grid_types::cart_shift (rs_grid, dir, disp, source, dest)
 emulates the function of an MPI_cart_shift operation, but the shift is done in virtual coordinates, and the corresponding real ranks are returned
INTEGER, public realspace_grid_types::rs_grid_max_ngpts (desc)
 returns the maximum number of points in the local grid of any process to account for the case where the grid may later be reordered

Variables

LOGICAL, parameter, private realspace_grid_types::debug_this_module = .FALSE.
CHARACTER(len=*), parameter,
private 
realspace_grid_types::moduleN = 'realspace_grid_types'
INTEGER, save, private realspace_grid_types::last_rs_id = 0
INTEGER, save, private realspace_grid_types::allocated_rs_grid_count = 0
INTEGER, parameter, public realspace_grid_types::rs2pw = 11
INTEGER, parameter, public realspace_grid_types::pw2rs = 12

Define Documentation

#define __COLLAPSE3   collapse(3)