version 0.6.0
Loading...
Searching...
No Matches
mod_prepare_cut_cell Module Reference

Cut cell routines.

Functions/Subroutines

subroutine detect_cell_with_boundary (is_cut, boundary_shape, x_u, y_v, z_w)
 Finds cells through which boundary_shape runs.
 
subroutine get_cell_boundary_ends (first_point, second_point, nodes, boundary_shape, x_u, y_v, z_w)
 Get the position of a line-segment-approximated boundary.
 
subroutine prepare_cut_cell (cut_cell, boundary_shape, x_u, y_v, z_w)
 
subroutine prepare_cut_cell_cell (isd_metrics)
 
subroutine get_surface (cut_cell, surface)
 
subroutine get_surface_field (cut_cell, surface_field)
 
subroutine get_directions (cut_cell, direction)
 
subroutine get_midpoints (cut_cell, midpoint)
 
subroutine print_cut_cell_to_vtk_file (cut_cell, filename)
 

Function/Subroutine Documentation

◆ detect_cell_with_boundary()

subroutine mod_prepare_cut_cell::detect_cell_with_boundary ( logical, dimension(:,:,:), intent(out) is_cut,
class(t_shape), intent(in) boundary_shape,
double precision, dimension(:), intent(in) x_u,
double precision, dimension(:), intent(in) y_v,
double precision, dimension(:), intent(in) z_w )

Arguments coord_x_u, coord_y_v, coord_z_w holds the coordinates of the VERTICES of the mesh.

This routine assumes that each edge of the cell is crossed at most one time.

◆ get_cell_boundary_ends()

subroutine mod_prepare_cut_cell::get_cell_boundary_ends ( type(t_point_list), intent(inout) first_point,
type(t_point_list), intent(inout) second_point,
type(t_node_list), intent(in) nodes,
class(t_shape), intent(in) boundary_shape,
double precision, dimension(:), intent(in) x_u,
double precision, dimension(:), intent(in) y_v,
double precision, dimension(:), intent(in) z_w )

Uses the signed distance function at each boundary. bl: bottom left, br: bottom right, …

The cell is normalized. (Not sure if this is OK.)

2D only.