sdr_flooding_module Module

This module provides the functionality to find the part of the universe cube, which is actually building up the computational domain.


Uses

Used by

  • module~~sdr_flooding_module~~UsedByGraph module~sdr_flooding_module sdr_flooding_module program~seeder seeder program~seeder->module~sdr_flooding_module

Contents


Subroutines

public subroutine sdr_flood_tree(proto, geometry, header, meshUniverse)

This routine identifies the nodes, which are supposed to be part of the computational domain, as defined by the seed objects.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

type(sdr_geometry_type), intent(in) :: geometry

Description of geometric objects. Propably not needed here, remove again if this is the case.

type(sdr_confHead_type), intent(inout) :: header

some global information on solver name and version

type(treelmesh_type), intent(in) :: meshUniverse

treelmesh contains bounding cube info

private subroutine floodwaves_tree(proto, header, geometry)

This routine loop over all nodes are flood non-interesting leaf node with wet face and inherit the wetness of the virtual node to the eligble childrens

Read more…

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

type(sdr_confHead_type), intent(in), optional :: header

some global information on solver name and version

type(sdr_geometry_type), intent(in) :: geometry

private subroutine flood_periphery(proto, geometry, meshUniverse)

This routine loops over all intersected with geoemtry nodes and fluidify some node according to the following rule:\n 1. one of its link does noe intersect with any geometry that requires qVal 2. it has fluid neighbor on that direction. i.e. it is wet in that side. Jiaxing Qi

Read more…

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

type(sdr_geometry_type), intent(in) :: geometry

Description of geometric objects.

type(treelmesh_type), intent(in) :: meshUniverse

treelmesh contains bounding cube info

private subroutine flood_periphery_diagonal(proto, node_pos, treeID, qVal, iColor)

This routine checks for qVal of the periphery and floods if qVal < 0 and the node in that direction is fluid and not intersected by boundary

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

integer, intent(in) :: node_pos

node position in protoTree

integer(kind=long_k), intent(in) :: treeID

treeID of current node

real(kind=rk) :: qVal(:)

qVal for all 26 neighbor directions, should be calculated already

integer, intent(in) :: iColor

Color to do the flooding in

private subroutine flood_parents(proto, color_inverted)

Mark all virtual nodes, which contain a flooded child as flooded starting from the second finest level moving up to the root. This allows to easily avoid non-flooded domains later on.

Arguments

TypeIntentOptionalAttributesName
type(sdr_protoTree_type), intent(inout) :: proto

The proto tree description with all the data enabling the flooding.

logical, intent(in) :: color_inverted(:)

List of flags for each color to indicate, wether the color should be inverted after flooding.