tem_intersection_module Module


Uses

  • module~~tem_intersection_module~~UsesGraph module~tem_intersection_module tem_intersection_module module~tem_topology_module tem_topology_module module~tem_intersection_module->module~tem_topology_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~treelmesh_module treelmesh_module module~tem_intersection_module->module~treelmesh_module module~env_module env_module module~tem_intersection_module->module~env_module module~tem_param_module tem_param_module module~tem_intersection_module->module~tem_param_module module~tem_topology_module->module~env_module module~tem_float_module->module~env_module module~tem_geometry_module->module~tem_topology_module module~tem_geometry_module->module~tem_float_module module~tem_geometry_module->module~treelmesh_module module~tem_geometry_module->module~env_module module~tem_geometry_module->module~tem_param_module module~tem_property_module tem_property_module module~tem_geometry_module->module~tem_property_module module~tem_logging_module tem_logging_module module~tem_geometry_module->module~tem_logging_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_debug_module tem_debug_module module~tem_geometry_module->module~tem_debug_module mpi mpi module~tem_geometry_module->mpi module~treelmesh_module->module~tem_topology_module module~treelmesh_module->module~env_module module~tem_global_module tem_global_module module~treelmesh_module->module~tem_global_module module~tem_sparta_module tem_Sparta_module module~treelmesh_module->module~tem_sparta_module module~tem_aux_module tem_aux_module module~treelmesh_module->module~tem_aux_module module~treelmesh_module->module~tem_property_module module~treelmesh_module->module~tem_logging_module module~aot_table_module aot_table_module module~treelmesh_module->module~aot_table_module module~treelmesh_module->module~tem_tools_module module~aotus_module aotus_module module~treelmesh_module->module~aotus_module module~treelmesh_module->mpi module~flu_binding flu_binding module~env_module->module~flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~env_module->module~aotus_module module~env_module->mpi module~tem_param_module->module~env_module module~tem_global_module->module~env_module module~tem_global_module->module~tem_aux_module module~tem_global_module->module~tem_logging_module module~tem_global_module->module~aot_table_module module~tem_global_module->module~aotus_module module~tem_global_module->mpi module~tem_prophead_module tem_prophead_module module~tem_global_module->module~tem_prophead_module module~aot_out_module aot_out_module module~tem_global_module->module~aot_out_module module~tem_sparta_module->module~tem_float_module module~tem_sparta_module->module~env_module module~tem_sparta_module->module~tem_aux_module module~tem_sparta_module->module~tem_logging_module module~tem_sparta_module->mpi module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->module~flu_binding module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->module~aotus_module module~tem_aux_module->mpi module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_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_property_module->module~env_module module~tem_property_module->mpi module~tem_property_module->module~tem_prophead_module module~tem_logging_module->module~env_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~aotus_module module~tem_subtree_type_module->module~treelmesh_module module~tem_subtree_type_module->module~env_module module~tem_subtree_type_module->module~tem_global_module module~tem_subtree_type_module->module~tem_aux_module module~tem_subtree_type_module->module~tem_property_module module~tem_subtree_type_module->module~tem_logging_module module~tem_subtree_type_module->mpi module~tem_tools_module->module~env_module module~tem_debug_module->module~env_module module~tem_debug_module->module~tem_logging_module module~tem_debug_module->module~flu_binding module~tem_debug_module->module~aot_table_module module~tem_debug_module->module~tem_tools_module module~tem_comm_env_module->mpi module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->module~flu_binding module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~aotus_module 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->module~aot_table_module module~tem_prophead_module->module~aotus_module module~tem_prophead_module->mpi module~tem_prophead_module->module~aot_out_module

Contents


Derived Types

type, public :: tem_line

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: coordStart(3)

real world coordinates of the start point of the ray

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

direction vector of the line

type, public :: tem_plane

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: coord(3)

real world coordinates of one point of the plane

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

normal vector of the plane

type, public :: tem_intersec

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: lambda

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

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

real world coordinates of the intersection

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

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

type, public :: tem_intersec_elem

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: center(3)
real(kind=rk), private :: 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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
real(kind=rk), dimension(3):: point
type(tem_line) :: line
logical :: intersects
type(tem_intersec) :: intersection