Module ppm_module_topo_store

This module provides the routine that stores newly created topologies.

Defined Types

name description

no types

Defined Module Interfaces

name description

ppm_topo_store

Defined Module Subroutines

name description

no subroutines

Interface ppm_topo_store

Subroutines contained in this interface:

name description

ppm_topo_store_s

This routine stores all relevant information about

ppm_topo_store_d

This routine stores all relevant information about

Subroutine ppm_topo_store_d

This routine stores all relevant information about the new topology (created by ppm_decomp routines) in a topology structure. If the given topology ID points to an existing topology, it is replaced, else if ID == 0, a new topology structure is allocated and appended into ppm_topo. The new ID is returned for the user.

[Note]Note

This routine dellocates the array: subs_bc passed to it. The choice of placing it here is somewhat arbitrary, but since this routine is call BOTH in ppm_topo_mkpart and ppm_topo_mkfield - why not do it in one place - here.

Arguments

name type dimension intent optional description

topoid

integer

(INOUT)

Topology ID. If 0, then create a new topology structure and return

min_phys

real array

(:)

(IN)

Min. extent of the comput. domain

max_phys

real array

(:)

(IN)

Max. extent of the comput. domain

min_sub

real array

(:,:)

(IN)

Min. extent of the subdomains

max_sub

real array

(:,:)

(IN)

Max. extent of the subdomains

subs_bc

integer array

(:,:)

Boundary conditions for subs on ALL processors

sub2proc

integer array

(:)

(IN)

Assignment of subs to procs

nsubs

integer

(IN)

Total number of subs on all procs

bcdef

integer array

(:)

(IN)

Boundary conditions on the computational box

ghostsize

real

(IN)

Size of the ghostlayers

isublist

integer array

(:)

(IN)

List of subs handled by this processor

nsublist

integer

(IN)

Number of subs on current processor

nneigh

integer array

(:)

(IN)

Number of neighbors of each sub

ineigh

integer array

(:,:)

(IN)

Neighbors of each sub.

info

integer

(OUT)

Return status. 0 upon success.

topoid

integer, , (INOUT)

Topology ID. If 0, then create a new topology structure and return ID. Else reallocate the topology with ID == topoid

min_phys

real array, (:), (IN)

Min. extent of the comput. domain

max_phys

real array, (:), (IN)

Max. extent of the comput. domain

min_sub

real array, (:,:), (IN)

Min. extent of the subdomains

max_sub

real array, (:,:), (IN)

Max. extent of the subdomains

subs_bc

integer array, (:,:), no intent declared

Boundary conditions for subs on ALL processors

sub2proc

integer array, (:), (IN)

Assignment of subs to procs

nsubs

integer, , (IN)

Total number of subs on all procs

bcdef

integer array, (:), (IN)

Boundary conditions on the computational box

ghostsize

real, , (IN)

Size of the ghostlayers

isublist

integer array, (:), (IN)

List of subs handled by this processor

nsublist

integer, , (IN)

Number of subs on current processor

nneigh

integer array, (:), (IN)

Number of neighbors of each sub

ineigh

integer array, (:,:), (IN)

Neighbors of each sub.

1st index: 1…nneigh (neighbor index of sub) 2nd index: 1..nsubs (sub of which one wants to get the neighbors)

info

integer, , (OUT)

Return status. 0 upon success.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_substart, ppm_module_topo_alloc, ppm_module_util_invert_list

Subroutine ppm_topo_store_s

This routine stores all relevant information about the new topology (created by ppm_decomp routines) in a topology structure. If the given topology ID points to an existing topology, it is replaced, else if ID == 0, a new topology structure is allocated and appended into ppm_topo. The new ID is returned for the user.

[Note]Note

This routine dellocates the array: subs_bc passed to it. The choice of placing it here is somewhat arbitrary, but since this routine is call BOTH in ppm_topo_mkpart and ppm_topo_mkfield - why not do it in one place - here.

Arguments

name type dimension intent optional description

topoid

integer

(INOUT)

Topology ID. If 0, then create a new topology structure and return

min_phys

real array

(:)

(IN)

Min. extent of the comput. domain

max_phys

real array

(:)

(IN)

Max. extent of the comput. domain

min_sub

real array

(:,:)

(IN)

Min. extent of the subdomains

max_sub

real array

(:,:)

(IN)

Max. extent of the subdomains

subs_bc

integer array

(:,:)

Boundary conditions for subs on ALL processors

sub2proc

integer array

(:)

(IN)

Assignment of subs to procs

nsubs

integer

(IN)

Total number of subs on all procs

bcdef

integer array

(:)

(IN)

Boundary conditions on the computational box

ghostsize

real

(IN)

Size of the ghostlayers

isublist

integer array

(:)

(IN)

List of subs handled by this processor

nsublist

integer

(IN)

Number of subs on current processor

nneigh

integer array

(:)

(IN)

Number of neighbors of each sub

ineigh

integer array

(:,:)

(IN)

Neighbors of each sub.

info

integer

(OUT)

Return status. 0 upon success.

topoid

integer, , (INOUT)

Topology ID. If 0, then create a new topology structure and return ID. Else reallocate the topology with ID == topoid

min_phys

real array, (:), (IN)

Min. extent of the comput. domain

max_phys

real array, (:), (IN)

Max. extent of the comput. domain

min_sub

real array, (:,:), (IN)

Min. extent of the subdomains

max_sub

real array, (:,:), (IN)

Max. extent of the subdomains

subs_bc

integer array, (:,:), no intent declared

Boundary conditions for subs on ALL processors

sub2proc

integer array, (:), (IN)

Assignment of subs to procs

nsubs

integer, , (IN)

Total number of subs on all procs

bcdef

integer array, (:), (IN)

Boundary conditions on the computational box

ghostsize

real, , (IN)

Size of the ghostlayers

isublist

integer array, (:), (IN)

List of subs handled by this processor

nsublist

integer, , (IN)

Number of subs on current processor

nneigh

integer array, (:), (IN)

Number of neighbors of each sub

ineigh

integer array, (:,:), (IN)

Neighbors of each sub.

1st index: 1…nneigh (neighbor index of sub) 2nd index: 1..nsubs (sub of which one wants to get the neighbors)

info

integer, , (OUT)

Return status. 0 upon success.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_alloc, ppm_module_substop, ppm_module_substart, ppm_module_topo_alloc, ppm_module_util_invert_list

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses