0.6.0
Loading...
Searching...
No Matches
mod_cut_cell_super_face_3d Module Reference

Super face algorithm (sequential) More...

Functions/Subroutines

subroutine super_cell (face, face_index, segments, points, super_segments, super_points, list_cells, n_faces, n_segments, n_intersection_points, epsilon)
 
logical function are_there_non_connected_segments (face, segments, super_segments, n_segments)
 
subroutine create_points_super_cell (list_triangles, list_inside_points, list_intersected_faces, super_points, points, coord_x_u, coord_y_v, coord_z_w, i, j, k, pxmin, pxmax, pymin, pymax, pzmin, pzmax, n_intersection_points, epsilon)
 
subroutine inside_points (n, point1, point2, triangle_points, list_inside_points, epsilon, dx, dy, dz)
 
pure subroutine super_cell_points (face, segments, super_segments, list_super_points, list_boundary_segments, n_segments)
 
logical function are_cells_intersected_aptly (list_intersected_faces, list_inside_points, list_triangles, list_segments, points, super_points, coord_x_u, coord_y_v, coord_z_w, n_intersection_points, i, j, k, px, py, pz, epsilon)
 
subroutine compute_segments (list_faces, d, coord, coord1, coord2, list_triangles, list_inside_points, points, super_points, n_intersection_points, epsilon, segments_in_face)
 
integer function, dimension(2) index_point (coord_point1, coord_point2, ind, d, m, list_inside_points, list_intersected_faces, rel_tol)
 
subroutine add_point (list_segments, point)
 
subroutine add_neighboring_faces_list_segments (list_segments, list_inside_points, list_intersected_faces, coord_point1, coord_point2, l, m, t, d, coord1, coord2, pxmax, pymax, pzmax, epsilon)
 
subroutine create_super_segments (list_intersected_faces, segments, super_segments, super_points, list_inside_points, list_stored_super_points, list_segments, points, face, face_index, coord_x_u, coord_y_v, coord_z_w, i, j, k, pxmin, pxmax, pymin, pymax, pzmin, pzmax, s, v, n_segments, n_intersection_points, n_faces, epsilon)
 

Detailed Description

Super face algorithm (sequential)

Function/Subroutine Documentation

◆ add_neighboring_faces_list_segments()

subroutine mod_cut_cell_super_face_3d::add_neighboring_faces_list_segments ( integer, dimension(:,:,:,:,:), intent(inout) list_segments,
double precision, dimension(:,:,:), intent(in) list_inside_points,
integer, dimension(:,:,:,:,:,:), intent(in) list_intersected_faces,
double precision, dimension(:), intent(in) coord_point1,
double precision, dimension(:), intent(in) coord_point2,
integer, intent(in) l,
integer, intent(in) m,
integer, intent(in) t,
integer, intent(in) d,
double precision, dimension(:), intent(in) coord1,
double precision, dimension(:), intent(in) coord2,
integer, intent(in) pxmax,
integer, intent(in) pymax,
integer, intent(in) pzmax,
double precision, intent(in) epsilon )

◆ add_point()

subroutine mod_cut_cell_super_face_3d::add_point ( integer, dimension(:), intent(inout) list_segments,
integer, dimension(:), intent(in) point )

◆ are_cells_intersected_aptly()

logical function mod_cut_cell_super_face_3d::are_cells_intersected_aptly ( integer, dimension(:,:,:,:,:,:), intent(in) list_intersected_faces,
double precision, dimension(:,:,:), intent(in) list_inside_points,
integer, dimension(:,:), intent(in) list_triangles,
integer, dimension(:,:,:,:,:), intent(out), allocatable list_segments,
type(t_point_intersection_3d), dimension(:), intent(in), allocatable points,
type(t_point_intersection_3d), dimension(:), intent(in), allocatable super_points,
double precision, dimension(:), intent(in) coord_x_u,
double precision, dimension(:), intent(in) coord_y_v,
double precision, dimension(:), intent(in) coord_z_w,
integer, intent(in) n_intersection_points,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) px,
integer, intent(in) py,
integer, intent(in) pz,
double precision, intent(in) epsilon )

◆ are_there_non_connected_segments()

logical function mod_cut_cell_super_face_3d::are_there_non_connected_segments ( type(t_face_intersection), intent(in) face,
type(t_segment_3d), dimension(:), intent(in), allocatable segments,
type(t_segment_3d), dimension(:), intent(in), allocatable super_segments,
integer, intent(in) n_segments )

◆ compute_segments()

subroutine mod_cut_cell_super_face_3d::compute_segments ( integer, dimension(:,:), intent(in) list_faces,
integer, intent(in) d,
double precision, intent(in) coord,
double precision, dimension(:), intent(in) coord1,
double precision, dimension(:), intent(in) coord2,
integer, dimension(:), intent(in) list_triangles,
double precision, dimension(:,:,:), intent(in) list_inside_points,
type(t_point_intersection_3d), dimension(:), intent(in), allocatable points,
type(t_point_intersection_3d), dimension(:), intent(in), allocatable super_points,
integer, intent(in) n_intersection_points,
double precision, intent(in) epsilon,
integer, dimension(:,:), intent(out), allocatable segments_in_face )

◆ create_points_super_cell()

subroutine mod_cut_cell_super_face_3d::create_points_super_cell ( integer, dimension(:,:), intent(in) list_triangles,
double precision, dimension(:,:,:), intent(inout), allocatable list_inside_points,
integer, dimension(:,:,:,:,:,:), intent(out), allocatable list_intersected_faces,
type(t_point_intersection_3d), dimension(:), intent(in), allocatable super_points,
type(t_point_intersection_3d), dimension(:), intent(in) points,
double precision, dimension(:), intent(in) coord_x_u,
double precision, dimension(:), intent(in) coord_y_v,
double precision, dimension(:), intent(in) coord_z_w,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) pxmin,
integer, intent(in) pxmax,
integer, intent(in) pymin,
integer, intent(in) pymax,
integer, intent(in) pzmin,
integer, intent(in) pzmax,
integer, intent(in) n_intersection_points,
double precision, intent(in) epsilon )

◆ create_super_segments()

subroutine mod_cut_cell_super_face_3d::create_super_segments ( integer, dimension(:,:,:,:,:,:), intent(in) list_intersected_faces,
type(t_segment_3d), dimension(:), intent(inout) segments,
type(t_segment_3d), dimension(:), intent(inout), allocatable super_segments,
type(t_point_intersection_3d), dimension(:), intent(inout), allocatable super_points,
double precision, dimension(:,:,:), intent(in) list_inside_points,
integer, dimension(:), intent(in) list_stored_super_points,
integer, dimension(:,:,:,:,:), intent(in) list_segments,
type(t_point_intersection_3d), dimension(:), intent(inout) points,
type(t_face_intersection), dimension(:,:,:,:), intent(inout) face,
integer, dimension(:,:), intent(inout) face_index,
double precision, dimension(:), intent(in) coord_x_u,
double precision, dimension(:), intent(in) coord_y_v,
double precision, dimension(:), intent(in) coord_z_w,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
integer, intent(in) pxmin,
integer, intent(in) pxmax,
integer, intent(in) pymin,
integer, intent(in) pymax,
integer, intent(in) pzmin,
integer, intent(in) pzmax,
integer, intent(inout) s,
integer, intent(inout) v,
integer, intent(in) n_segments,
integer, intent(in) n_intersection_points,
integer, intent(inout) n_faces,
double precision, intent(in) epsilon )

◆ index_point()

integer function, dimension(2) mod_cut_cell_super_face_3d::index_point ( double precision, intent(in) coord_point1,
double precision, intent(in) coord_point2,
integer, dimension(:), intent(in) ind,
integer, intent(in) d,
integer, intent(in) m,
double precision, dimension(:,:,:), intent(in) list_inside_points,
integer, dimension(:,:,:,:,:,:), intent(in) list_intersected_faces,
double precision, intent(in) rel_tol )

◆ inside_points()

subroutine mod_cut_cell_super_face_3d::inside_points ( integer, intent(in) n,
double precision, dimension(:), intent(in) point1,
double precision, dimension(:), intent(in) point2,
double precision, dimension(:,:), intent(in) triangle_points,
double precision, dimension(:,:,:), intent(inout), allocatable list_inside_points,
double precision, intent(in) epsilon,
double precision, intent(in) dx,
double precision, intent(in) dy,
double precision, intent(in) dz )

◆ super_cell()

subroutine mod_cut_cell_super_face_3d::super_cell ( type(t_face_intersection), dimension(:,:,:,:), intent(inout) face,
integer, dimension(:,:), intent(inout), allocatable face_index,
type(t_segment_3d), dimension(:), intent(inout), allocatable segments,
type(t_point_intersection_3d), dimension(:), intent(inout), allocatable points,
type(t_segment_3d), dimension(:), intent(inout), allocatable super_segments,
type(t_point_intersection_3d), dimension(:), intent(inout), allocatable super_points,
integer, dimension(:), intent(in) list_cells,
integer, intent(inout) n_faces,
integer, intent(in) n_segments,
integer, intent(in) n_intersection_points,
double precision, intent(in) epsilon )

◆ super_cell_points()

pure subroutine mod_cut_cell_super_face_3d::super_cell_points ( type(t_face_intersection), intent(in) face,
type(t_segment_3d), dimension(:), intent(in), allocatable segments,
type(t_segment_3d), dimension(:), intent(in), allocatable super_segments,
integer, dimension(:), intent(inout), allocatable list_super_points,
integer, dimension(:), intent(inout), allocatable list_boundary_segments,
integer, intent(in) n_segments )