tem_plane_module Module

This module contains plane boundary definition and routines



Derived Types

type, public ::  tem_plane_type

type contains intrinsic plane information

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: origin(3)

origin of the plane in x,y,z coordinate system

real(kind=rk), public :: vec(3,2)

two vectors defining the plane length 1st index x,y,z coordinate, 2nd index vector number

type(tem_triangle_type), public :: triangle(2)

Convert plane into two triangles

real(kind=rk), public :: unitNormal(3)

unit normal direction of a plane


Functions

public function tem_planeCubeOverlap(plane, cube) result(overlap)

This function checks for intersection of plane and cube by checking two triangles of plane with a cube

Arguments

Type IntentOptional Attributes Name
type(tem_plane_type), intent(in) :: plane
type(tem_cube_type), intent(in) :: cube

Return Value logical


Subroutines

public subroutine tem_createPlane(me, origin, vecA, vecB)

This routine creates plane definition from given origin and two vectors \verbatim vecB______ /\ | | | | | | | | | |-------------->| origin vecA \endverbatim

Arguments

Type IntentOptional Attributes Name
type(tem_plane_type), intent(out) :: me
real(kind=rk), intent(in) :: origin(3)
real(kind=rk), intent(in) :: vecA(3)
real(kind=rk), intent(in) :: vecB(3)