sdr_periodic_module Module

This module contains periodic boundary definition and routines


Uses

Used by

  • module~~sdr_periodic_module~~UsedByGraph module~sdr_periodic_module sdr_periodic_module module~sdr_proto2treelm_module sdr_proto2treelm_module module~sdr_proto2treelm_module->module~sdr_periodic_module module~sdr_boundary_module sdr_boundary_module module~sdr_proto2treelm_module->module~sdr_boundary_module module~sdr_geometry_module sdr_geometry_module module~sdr_proto2treelm_module->module~sdr_geometry_module module~sdr_config_module sdr_config_module module~sdr_proto2treelm_module->module~sdr_config_module module~sdr_prototree_module sdr_protoTree_module module~sdr_proto2treelm_module->module~sdr_prototree_module module~sdr_node_module sdr_node_module module~sdr_proto2treelm_module->module~sdr_node_module module~sdr_boundary_module->module~sdr_periodic_module module~sdr_boundary_module->module~sdr_geometry_module module~sdr_boundary_module->module~sdr_prototree_module module~sdr_boundary_module->module~sdr_node_module module~sdr_geometry_module->module~sdr_periodic_module module~sdr_config_module->module~sdr_geometry_module module~sdr_refinept_module sdr_refinePT_module module~sdr_refinept_module->module~sdr_geometry_module module~sdr_refinept_module->module~sdr_config_module module~sdr_refinept_module->module~sdr_prototree_module module~sdr_refinept_module->module~sdr_node_module module~sdr_prototree_module->module~sdr_geometry_module module~sdr_prototree_module->module~sdr_config_module module~sdr_prototree_module->module~sdr_node_module module~sdr_node_module->module~sdr_geometry_module program~seeder seeder program~seeder->module~sdr_proto2treelm_module program~seeder->module~sdr_geometry_module program~seeder->module~sdr_config_module program~seeder->module~sdr_refinept_module program~seeder->module~sdr_prototree_module module~sdr_flooding_module sdr_flooding_module program~seeder->module~sdr_flooding_module module~sdr_flooding_module->module~sdr_boundary_module module~sdr_flooding_module->module~sdr_geometry_module module~sdr_flooding_module->module~sdr_config_module module~sdr_flooding_module->module~sdr_prototree_module module~sdr_flooding_module->module~sdr_node_module

Contents


Interfaces

public interface init

initialize the dynamic array

public interface truncate

truncate the array, meaning cut off the trailing empty entries

public interface empty

empty the entries without changing arrays

public interface destroy

destroy the dynamic array

public interface placeat

insert an element at a given position

public interface append

append a value to the dynamic array and return its position.

private interface expand

increase the size of the container for the array.

  • private subroutine expand_ga_periplane(me, pos, length)

    Arguments

    TypeIntentOptionalAttributesName
    type(grw_periplanearray_type) :: me
    integer, intent(in), optional :: pos
    integer, intent(in), optional :: length

    optional length to expand the array


Derived Types

type, public :: sdr_PeriodicPlane_type

type contains Periodic plane information

Components

TypeVisibilityAttributesNameInitial
type(tem_plane_type), private :: plane

intrinsic seeder plane

integer, private :: oppPlane_pos

Position of opposite periodic plane in the spatial object list

type, public :: grw_periplanearray_type

growing array type for type(sdr_periodicplane_type)

Components

TypeVisibilityAttributesNameInitial
integer, private :: nvals =0
integer, private :: containersize =0
type(sdr_PeriodicPlane_type), private, allocatable:: val(:)

Functions

public function sdr_periodicPlaneCubeOverlap(periPlane, cube) result(overlaps)

Function compute intersection of plane with cube by checking intersection of two triangle of a plane with cube

Arguments

TypeIntentOptionalAttributesName
type(sdr_PeriodicPlane_type), intent(in) :: periPlane

periodic plane to check intersection with cube

type(tem_cube_type), intent(in) :: cube

Return Value logical


Subroutines

public subroutine sdr_load_periodic(periArray, spaObjArray, attr_pos, transform, conf, thandle)

\brief load periodic table from config file.\n

Read more…

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type), intent(inout) :: periArray

grwoing periodic plane data type

type(grw_spatialobjarray_type), intent(inout) :: spaObjArray

growing array of geometrical objects.

integer, intent(in) :: attr_pos

Position of the attribute to connect this object to.

type(tem_transformation_type), intent(in) :: transform

transformation for spatial object

type(flu_state) :: conf
integer, intent(in) :: thandle

private subroutine init_ga_periplane(me, length)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type), intent(out) :: me
integer, intent(in), optional :: length

private subroutine destroy_ga_periplane(me)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type), intent(inout) :: me

private subroutine truncate_ga_periplane(me)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me

private subroutine empty_ga_periplane(me)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me

private subroutine placeat_ga_periplane(me, val, pos, length)

adds the value to a given position inside the growing array.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me
type(sdr_PeriodicPlane_type), intent(in) :: val
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

private subroutine placeat_ga_periplane_vec(me, val, pos, length)

adds the values starting from a given position inside the growing array.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me
type(sdr_PeriodicPlane_type), intent(in) :: val(:)
integer, intent(in) :: pos
integer, intent(in), optional :: length

optional length to expand the array

private subroutine append_ga_periplane(me, val, length)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me
type(sdr_PeriodicPlane_type), intent(in) :: val
integer, intent(in), optional :: length

optional length to expand the array

private subroutine append_ga_periplane_vec(me, val, length)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me
type(sdr_PeriodicPlane_type), intent(in) :: val(:)
integer, intent(in), optional :: length

optional length to expand the array

private subroutine expand_ga_periplane(me, pos, length)

Arguments

TypeIntentOptionalAttributesName
type(grw_periplanearray_type) :: me
integer, intent(in), optional :: pos
integer, intent(in), optional :: length

optional length to expand the array

private subroutine append_periodic(periPlane, periArray, spaObjArray, attr_pos)

This routine append periodic type to growing array of periodic

Arguments

TypeIntentOptionalAttributesName
type(sdr_PeriodicPlane_type), intent(in) :: periPlane

seeder periodic type

type(grw_periplanearray_type), intent(inout) :: periArray

grwoing periodic plane data type

type(grw_spatialobjarray_type), intent(inout) :: spaObjArray

growing array of geometrical objects.

integer, intent(in) :: attr_pos

Position of the attribute to connect this object to.