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

Super face algorithm (parallel) More...

Functions/Subroutines

subroutine parallel_gathering (list_rank, list_i, list_j, coord_x_u_parallel, coord_y_v_parallel, segments_parallel, points_parallel, face_parallel, points, super_points, segments, super_segments, face, pxmin, pxmax, pymin, pymax, central_point, list_ilower1, list_ilower2, list_iupper1, list_iupper2, n_segments, n_intersection_points, epsilon)
 
subroutine parallel_broadcasting (face_parallel, segments_parallel, super_segments_parallel, points_parallel, super_points_parallel, face, segments, super_segments, points, super_points, face_index, list_stored_super_points, list_rank, list_i, list_j, pxmin, pxmax, pymin, pymax, i, j, n_super_segments, n_super_points, n_segments, n_intersection_points, n_segments_parallel, n_intersection_points_parallel, n_faces, d_x, d_y, list_faces_need_parallel, epsilon)
 
subroutine local_ij_rank (i, j, list_ilower1, list_ilower2, list_iupper1, list_iupper2, list_i, list_j, list_rank, p)
 
subroutine super_face_process_parallel (face, super_segments, segments, points, super_points, n_segments, n_intersection_points, list_faces_need_parallel, face_index, n_faces, epsilon)
 
subroutine exchange_segments_ghost_faces (face, segments, points, n_segments, n_intersection_points, face_index, n_faces, epsilon)
 
integer function point_label_in_neighbor (face, points, segments, i, j, x, y, epsilon)
 
subroutine create_final_segments_points (shape, face_index, face, segments, super_segments, segments_final, points, super_points, points_final, reference_point, n_segments, n_intersection_points, n_faces, epsilon)
 

Detailed Description

Super face algorithm (parallel)

Function/Subroutine Documentation

◆ create_final_segments_points()

subroutine mod_cut_cell_super_face_parallel_2d::create_final_segments_points ( class(t_shape), intent(in) shape,
integer, dimension(:,:), intent(inout) face_index,
type(t_face_intersection), dimension(:,:), intent(inout) face,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments,
type(t_segment_2d), dimension(:), intent(inout), allocatable super_segments,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments_final,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable super_points,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points_final,
double precision, dimension(:), intent(out), allocatable reference_point,
integer, intent(inout) n_segments,
integer, intent(inout) n_intersection_points,
integer, intent(inout) n_faces,
double precision, intent(in) epsilon )

◆ exchange_segments_ghost_faces()

subroutine mod_cut_cell_super_face_parallel_2d::exchange_segments_ghost_faces ( type(t_face_intersection), dimension(:,:), intent(inout) face,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points,
integer, intent(inout) n_segments,
integer, intent(inout) n_intersection_points,
integer, dimension(:,:), intent(inout) face_index,
integer, intent(inout) n_faces,
double precision, intent(in) epsilon )

◆ local_ij_rank()

subroutine mod_cut_cell_super_face_parallel_2d::local_ij_rank ( integer, intent(in) i,
integer, intent(in) j,
integer, dimension(:), intent(in) list_ilower1,
integer, dimension(:), intent(in) list_ilower2,
integer, dimension(:), intent(in) list_iupper1,
integer, dimension(:), intent(in) list_iupper2,
integer, dimension(:), intent(inout) list_i,
integer, dimension(:), intent(inout) list_j,
integer, dimension(:), intent(inout) list_rank,
integer, intent(in) p )

◆ parallel_broadcasting()

subroutine mod_cut_cell_super_face_parallel_2d::parallel_broadcasting ( type(t_face_intersection), dimension(:,:), intent(in) face_parallel,
type(t_segment_2d), dimension(:), intent(in), allocatable segments_parallel,
type(t_segment_2d), dimension(:), intent(in), allocatable super_segments_parallel,
type(t_point_intersection_2d), dimension(:), intent(in), allocatable points_parallel,
type(t_point_intersection_2d), dimension(:), intent(in), allocatable super_points_parallel,
type(t_face_intersection), dimension(:,:), intent(inout) face,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments,
type(t_segment_2d), dimension(:), intent(inout), allocatable super_segments,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable super_points,
integer, dimension(:,:), intent(inout), allocatable face_index,
integer, dimension(:), intent(in) list_stored_super_points,
integer, dimension(:), intent(in) list_rank,
integer, dimension(:), intent(in) list_i,
integer, dimension(:), intent(in) list_j,
integer, intent(in) pxmin,
integer, intent(in) pxmax,
integer, intent(in) pymin,
integer, intent(in) pymax,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(inout) n_super_segments,
integer, intent(inout) n_super_points,
integer, intent(in) n_segments,
integer, intent(in) n_intersection_points,
integer, intent(in) n_segments_parallel,
integer, intent(in) n_intersection_points_parallel,
integer, intent(inout) n_faces,
double precision, intent(in) d_x,
double precision, intent(in) d_y,
integer, dimension(:,:), intent(inout), allocatable list_faces_need_parallel,
double precision, intent(in) epsilon )

◆ parallel_gathering()

subroutine mod_cut_cell_super_face_parallel_2d::parallel_gathering ( integer, dimension(:), intent(inout), allocatable list_rank,
integer, dimension(:), intent(inout), allocatable list_i,
integer, dimension(:), intent(inout), allocatable list_j,
double precision, dimension(:), intent(inout), allocatable coord_x_u_parallel,
double precision, dimension(:), intent(inout), allocatable coord_y_v_parallel,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments_parallel,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points_parallel,
type(t_face_intersection), dimension(:,:), intent(inout), allocatable face_parallel,
type(t_point_intersection_2d), dimension(:), intent(in), allocatable points,
type(t_point_intersection_2d), dimension(:), intent(in), allocatable super_points,
type(t_segment_2d), dimension(:), intent(in), allocatable segments,
type(t_segment_2d), dimension(:), intent(in), allocatable super_segments,
type(t_face_intersection), dimension(:,:), intent(in) face,
integer, intent(in) pxmin,
integer, intent(in) pxmax,
integer, intent(in) pymin,
integer, intent(in) pymax,
integer, dimension(:), intent(in) central_point,
integer, dimension(:), intent(in), allocatable list_ilower1,
integer, dimension(:), intent(in), allocatable list_ilower2,
integer, dimension(:), intent(in), allocatable list_iupper1,
integer, dimension(:), intent(in), allocatable list_iupper2,
integer, intent(in) n_segments,
integer, intent(in) n_intersection_points,
double precision, intent(in) epsilon )

◆ point_label_in_neighbor()

integer function mod_cut_cell_super_face_parallel_2d::point_label_in_neighbor ( type(t_face_intersection), dimension(:,:), intent(in) face,
type(t_point_intersection_2d), dimension(:), intent(in) points,
type(t_segment_2d), dimension(:), intent(in) segments,
integer, intent(in) i,
integer, intent(in) j,
double precision, intent(in) x,
double precision, intent(in) y,
double precision, intent(in) epsilon )

◆ super_face_process_parallel()

subroutine mod_cut_cell_super_face_parallel_2d::super_face_process_parallel ( type(t_face_intersection), dimension(:,:), intent(inout) face,
type(t_segment_2d), dimension(:), intent(inout), allocatable super_segments,
type(t_segment_2d), dimension(:), intent(inout), allocatable segments,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable points,
type(t_point_intersection_2d), dimension(:), intent(inout), allocatable super_points,
integer, intent(in) n_segments,
integer, intent(in) n_intersection_points,
integer, dimension(:,:), intent(inout), allocatable list_faces_need_parallel,
integer, dimension(:,:), intent(inout), allocatable face_index,
integer, intent(inout) n_faces,
double precision, intent(in) epsilon )