Module ppm_module_tree_cutpos

This module provides the routine that determines the optimal position where to cut a box.

Defined Types

name description

no types

Defined Module Interfaces

name description

ppm_tree_cutpos

Defined Module Subroutines

name description

no subroutines

Interface ppm_tree_cutpos

Subroutines contained in this interface:

name description

ppm_tree_cutpos_s

This routine finds the best cuting positions for the given

ppm_tree_cutpos_d

This routine finds the best cuting positions for the given

Subroutine ppm_tree_cutpos_d

This routine finds the best cuting positions for the given cut directions.

[Note]Note

The cost of a particle is counted as pcost (if given) or 1. For meshes, the cost is 1 per mesh point. For the geometry part, the cost of a box is given by its volume. Use weights(3) to adjust this if needed.

Arguments

name type dimension intent optional description

xp

real array

(:,:)

(IN)

Position of particles

npart

integer

(IN)

Number of particles

weights

real array

(3)

(IN)

Weights for the tree cost contributions: particles, mesh,

min_box

real array

(:,:)

(IN)

Minimum coordinate of the boxes

max_box

real array

(:,:)

(IN)

Maximum coordinate of the boxes

cutbox

integer

(IN)

ID of box to be cut

ncut

integer

(IN)

Number of cut directions

minboxsize

real array

(3)

(IN)

Minimum box size required in all spatial directions

icut

integer array

(:)

(IN)

Cut directions

cpos

real array

(:)

Positions of best cuts. index: 1..ncut.

info

integer

(OUT)

Return status, 0 on success

pcost

real array

(:)

(IN)

X

Argument of length Npart, specifying the

xp

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

Position of particles

npart

integer, , (IN)

Number of particles

weights

real array, (3), (IN)

Weights for the tree cost contributions: particles, mesh, geometry for finding the cut

min_box

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

Minimum coordinate of the boxes

max_box

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

Maximum coordinate of the boxes

cutbox

integer, , (IN)

ID of box to be cut

ncut

integer, , (IN)

Number of cut directions

minboxsize

real array, (3), (IN)

Minimum box size required in all spatial directions

icut

integer array, (:), (IN)

Cut directions

cpos

real array, (:), no intent declared

Positions of best cuts. index: 1..ncut.

info

integer, , (OUT)

Return status, 0 on success

(Optional) pcost

real array, (:), (IN)

Argument of length Npart, specifying the computational cost of each particle.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_substop, ppm_module_data_tree, ppm_module_write, ppm_module_substart

Subroutine ppm_tree_cutpos_s

This routine finds the best cuting positions for the given cut directions.

[Note]Note

The cost of a particle is counted as pcost (if given) or 1. For meshes, the cost is 1 per mesh point. For the geometry part, the cost of a box is given by its volume. Use weights(3) to adjust this if needed.

Arguments

name type dimension intent optional description

xp

real array

(:,:)

(IN)

Position of particles

npart

integer

(IN)

Number of particles

weights

real array

(3)

(IN)

Weights for the tree cost contributions: particles, mesh,

min_box

real array

(:,:)

(IN)

Minimum coordinate of the boxes

max_box

real array

(:,:)

(IN)

Maximum coordinate of the boxes

cutbox

integer

(IN)

ID of box to be cut

ncut

integer

(IN)

Number of cut directions

minboxsize

real array

(3)

(IN)

Minimum box size required in all spatial directions

icut

integer array

(:)

(IN)

Cut directions

cpos

real array

(:)

Positions of best cuts. index: 1..ncut.

info

integer

(OUT)

Return status, 0 on success

pcost

real array

(:)

(IN)

X

Argument of length Npart, specifying the

xp

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

Position of particles

npart

integer, , (IN)

Number of particles

weights

real array, (3), (IN)

Weights for the tree cost contributions: particles, mesh, geometry for finding the cut

min_box

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

Minimum coordinate of the boxes

max_box

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

Maximum coordinate of the boxes

cutbox

integer, , (IN)

ID of box to be cut

ncut

integer, , (IN)

Number of cut directions

minboxsize

real array, (3), (IN)

Minimum box size required in all spatial directions

icut

integer array, (:), (IN)

Cut directions

cpos

real array, (:), no intent declared

Positions of best cuts. index: 1..ncut.

info

integer, , (OUT)

Return status, 0 on success

(Optional) pcost

real array, (:), (IN)

Argument of length Npart, specifying the computational cost of each particle.

Used Modules

ppm_module_data, ppm_module_error, ppm_module_substop, ppm_module_data_tree, ppm_module_write, ppm_module_substart

Defined Module Variables

name type dimension description

no variables

Used Modules

has no uses