tem_intersection_module Module

Todo

Add description


Uses

  • module~~tem_intersection_module~~UsesGraph module~tem_intersection_module tem_intersection_module module~env_module env_module module~tem_intersection_module->module~env_module module~tem_float_module tem_float_module module~tem_intersection_module->module~tem_float_module module~tem_geometry_module tem_geometry_module module~tem_intersection_module->module~tem_geometry_module module~tem_param_module tem_param_module module~tem_intersection_module->module~tem_param_module module~tem_topology_module tem_topology_module module~tem_intersection_module->module~tem_topology_module module~treelmesh_module treelmesh_module module~tem_intersection_module->module~treelmesh_module aotus_module aotus_module module~env_module->aotus_module flu_binding flu_binding module~env_module->flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env mpi mpi module~env_module->mpi module~tem_float_module->module~env_module module~tem_geometry_module->module~env_module module~tem_geometry_module->module~tem_float_module module~tem_geometry_module->module~tem_param_module module~tem_geometry_module->module~tem_topology_module module~tem_geometry_module->module~treelmesh_module module~tem_debug_module tem_debug_module module~tem_geometry_module->module~tem_debug_module module~tem_logging_module tem_logging_module module~tem_geometry_module->module~tem_logging_module module~tem_property_module tem_property_module module~tem_geometry_module->module~tem_property_module module~tem_subtree_type_module tem_subTree_type_module module~tem_geometry_module->module~tem_subtree_type_module module~tem_tools_module tem_tools_module module~tem_geometry_module->module~tem_tools_module module~tem_geometry_module->mpi module~tem_param_module->module~env_module module~tem_topology_module->module~env_module module~treelmesh_module->module~env_module module~treelmesh_module->module~tem_topology_module aot_table_module aot_table_module module~treelmesh_module->aot_table_module module~treelmesh_module->aotus_module module~tem_aux_module tem_aux_module module~treelmesh_module->module~tem_aux_module module~tem_global_module tem_global_module module~treelmesh_module->module~tem_global_module module~treelmesh_module->module~tem_logging_module module~treelmesh_module->module~tem_property_module module~tem_sparta_module tem_Sparta_module module~treelmesh_module->module~tem_sparta_module module~treelmesh_module->module~tem_tools_module module~treelmesh_module->mpi module~tem_aux_module->module~env_module module~tem_aux_module->aot_table_module module~tem_aux_module->aotus_module module~tem_aux_module->flu_binding module~tem_aux_module->module~tem_logging_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->mpi module~soi_revision_module soi_revision_module module~tem_aux_module->module~soi_revision_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_debug_module->module~env_module module~tem_debug_module->aot_table_module module~tem_debug_module->flu_binding module~tem_debug_module->module~tem_logging_module module~tem_debug_module->module~tem_tools_module module~tem_global_module->module~env_module module~tem_global_module->aot_table_module module~tem_global_module->aotus_module module~tem_global_module->module~tem_aux_module module~tem_global_module->module~tem_logging_module module~tem_global_module->mpi aot_out_module aot_out_module module~tem_global_module->aot_out_module module~tem_prophead_module tem_prophead_module module~tem_global_module->module~tem_prophead_module module~tem_logging_module->module~env_module module~tem_logging_module->aot_table_module module~tem_logging_module->aotus_module module~tem_property_module->module~env_module module~tem_property_module->mpi module~tem_property_module->module~tem_prophead_module module~tem_sparta_module->module~env_module module~tem_sparta_module->module~tem_float_module module~tem_sparta_module->module~tem_aux_module module~tem_sparta_module->module~tem_logging_module module~tem_sparta_module->mpi module~tem_subtree_type_module->module~env_module module~tem_subtree_type_module->module~treelmesh_module module~tem_subtree_type_module->module~tem_aux_module module~tem_subtree_type_module->module~tem_global_module module~tem_subtree_type_module->module~tem_logging_module module~tem_subtree_type_module->module~tem_property_module module~tem_subtree_type_module->mpi module~tem_tools_module->module~env_module module~tem_comm_env_module->mpi module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->aot_table_module module~tem_lua_requires_module->aotus_module module~tem_lua_requires_module->flu_binding iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_prophead_module->module~env_module module~tem_prophead_module->aot_table_module module~tem_prophead_module->aotus_module module~tem_prophead_module->mpi module~tem_prophead_module->aot_out_module

Derived Types

type, public ::  tem_line

Components

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

real world coordinates of the start point of the ray

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

direction vector of the line

type, public ::  tem_plane

Components

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

real world coordinates of one point of the plane

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

normal vector of the plane

type, public ::  tem_intersec

Components

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

value of lamda (parameter of the line) of the intersection

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

real world coordinates of the intersection

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

distance between the center of the face (element) and the intersection

type, public ::  tem_intersec_elem

Components

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

Subroutines

public subroutine exit_element(TreeID, line, tree)

This subroutine checks at which face, edge or corner the line leaves the element and calculates the next element.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=long_k), intent(in) :: TreeID
type(tem_line) :: line
type(treelmesh_type), intent(in) :: tree

public subroutine tem_intersec_line_plane(plane, line, intersects, intersection)

This subroutine calculates the intersection between a plane and a line. It gives back the coordinates of the intersection, the multiple of the direction vector of the intersection and the distance of the intersection to the center point of the plan.

Arguments

Type IntentOptional Attributes Name
type(tem_plane), intent(in) :: plane
type(tem_line), intent(in) :: line
logical, intent(out) :: intersects
type(tem_intersec), intent(out) :: intersection

public subroutine tem_intersec_line_line(edge, line, intersects, intersection)

This subroutine calculates the intersection between a line and a line. It gives back the coordinates of the intersection, the multiple of the direction vector of the intersection and the distance of the intersection to the center point of the line.

Arguments

Type IntentOptional Attributes Name
type(tem_line), intent(in) :: edge
type(tem_line), intent(in) :: line
logical, intent(out) :: intersects
type(tem_intersec), intent(out) :: intersection

public subroutine tem_intersec_ray_point(point, line, intersects, intersection)

This subroutine checks whether a line intersects with a point

Arguments

Type IntentOptional Attributes Name
real(kind=rk), dimension(3) :: point
type(tem_line) :: line
logical :: intersects
type(tem_intersec) :: intersection