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

Functions/Subroutines

subroutine reconstruction (mesh, volume_fraction, centroid, centroid_dual, use_symmetric, use_analytic, tolerance, max_iter, reconstructed_poly)
 
subroutine reconstruct_planes (mesh, n_planes, compute_symmetric_difference, use_symmetric_reconstruction, use_analytic_reconstruction, tolerance, n_iterations)
 
subroutine reconstruct_planes_old (mesh, n_planes, compute_symmetric_difference, use_symmetric_reconstruction, use_analytic_reconstruction, tolerance, n_iterations)
 
subroutine write_mof_problem (filename, tetra, ref_volume, ref_centroid)
 
subroutine write_mof (filename, volume_fraction, centroid, centroid_dual)
 
subroutine read_mof (filename, volume_fraction, centroid, centroid_dual)
 
subroutine sampling (mesh, shape, volume_fraction, centroid, n_samples)
 
subroutine plane_intersection (mesh, origin, normal, volume_fraction, centroid, centroid_dual)
 
subroutine paraboloid_intersection (mesh, a, b, volume_fraction, centroid, centroid_dual)
 
subroutine intersection (mesh, polyhedron, volume_fraction, centroid, centroid_dual)
 
subroutine mesh_intersection (mesh, tetra_mesh, octree, volume_fraction, centroid, centroid_dual, is_verbose)
 
subroutine intersect_cell (mesh, tetra_id, tetra_mesh, octree, volume, momentum)
 
subroutine compute_area_of_symmetric_difference (mesh, sd_mesh, octree, volume_fraction, reconstructed_poly, area)
 
subroutine compute_area_of_symmetric_difference_plane (mesh, origin, normal, volume_fraction, reconstructed_poly, area)
 
subroutine compute_area_of_symmetric_difference_paraboloid (mesh, a, b, volume_fraction, reconstructed_poly, area)
 
subroutine compute_area_cell (mesh, tetra_id, sd_mesh, octree, volume_fraction, reconstructed_poly, area)
 
subroutine clip_two_poly (poly1, poly2, intersection, is_empty)
 
double precision function tetra_volume (point)
 
logical function is_tetra_oriented (vertices)
 

Function/Subroutine Documentation

◆ clip_two_poly()

subroutine mod_mof::clip_two_poly ( type(t_polyhedron), intent(in) poly1,
type(t_polyhedron), intent(in) poly2,
type(t_polyhedron), intent(out), allocatable intersection,
logical, intent(out) is_empty )

◆ compute_area_cell()

subroutine mod_mof::compute_area_cell ( type(t_tetrahedral_mesh), intent(in) mesh,
integer, intent(in) tetra_id,
type(t_tetrahedral_mesh), intent(in) sd_mesh,
type(t_octree), intent(in) octree,
double precision, intent(in) volume_fraction,
type(t_polyhedron), intent(in) reconstructed_poly,
double precision, intent(out) area )

◆ compute_area_of_symmetric_difference()

subroutine mod_mof::compute_area_of_symmetric_difference ( type(t_tetrahedral_mesh), intent(in) mesh,
type(t_tetrahedral_mesh), intent(in) sd_mesh,
type(t_octree), intent(in) octree,
double precision, dimension(:), intent(in) volume_fraction,
type(t_polyhedron), dimension(:), intent(in) reconstructed_poly,
double precision, dimension(:), intent(out), allocatable area )

◆ compute_area_of_symmetric_difference_paraboloid()

subroutine mod_mof::compute_area_of_symmetric_difference_paraboloid ( type(t_tetrahedral_mesh), intent(in) mesh,
double precision, intent(in) a,
double precision, intent(in) b,
double precision, dimension(:), intent(in) volume_fraction,
type(t_polyhedron), dimension(:), intent(in) reconstructed_poly,
double precision, dimension(:), intent(out), allocatable area )

◆ compute_area_of_symmetric_difference_plane()

subroutine mod_mof::compute_area_of_symmetric_difference_plane ( type(t_tetrahedral_mesh), intent(in) mesh,
double precision, dimension(3), intent(in) origin,
double precision, dimension(3), intent(in) normal,
double precision, dimension(:), intent(in) volume_fraction,
type(t_polyhedron), dimension(:), intent(in) reconstructed_poly,
double precision, dimension(:), intent(out), allocatable area )

◆ intersect_cell()

subroutine mod_mof::intersect_cell ( type(t_tetrahedral_mesh), intent(in) mesh,
integer, intent(in) tetra_id,
type(t_tetrahedral_mesh), intent(in) tetra_mesh,
type(t_octree), intent(in) octree,
double precision, intent(inout) volume,
double precision, dimension(3), intent(inout) momentum )

◆ intersection()

subroutine mod_mof::intersection ( type(t_tetrahedral_mesh), intent(in) mesh,
type(t_polyhedron), intent(in) polyhedron,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
double precision, dimension(:,:), intent(out), allocatable centroid_dual )

◆ is_tetra_oriented()

logical function mod_mof::is_tetra_oriented ( double precision, dimension(3,4), intent(in) vertices)

◆ mesh_intersection()

subroutine mod_mof::mesh_intersection ( type(t_tetrahedral_mesh), intent(in) mesh,
type(t_tetrahedral_mesh), intent(in) tetra_mesh,
type(t_octree), intent(in) octree,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
double precision, dimension(:,:), intent(out), allocatable centroid_dual,
logical, intent(in) is_verbose )

◆ paraboloid_intersection()

subroutine mod_mof::paraboloid_intersection ( type(t_tetrahedral_mesh), intent(in) mesh,
double precision, intent(in) a,
double precision, intent(in) b,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
double precision, dimension(:,:), intent(out), allocatable centroid_dual )

◆ plane_intersection()

subroutine mod_mof::plane_intersection ( type(t_tetrahedral_mesh), intent(in) mesh,
double precision, dimension(3), intent(in) origin,
double precision, dimension(3), intent(in) normal,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
double precision, dimension(:,:), intent(out), allocatable centroid_dual )

◆ read_mof()

subroutine mod_mof::read_mof ( character(len=*), intent(in) filename,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
double precision, dimension(:,:), intent(out), allocatable centroid_dual )

◆ reconstruct_planes()

subroutine mod_mof::reconstruct_planes ( type(t_tetrahedral_mesh), intent(in) mesh,
integer, intent(in) n_planes,
logical, intent(in) compute_symmetric_difference,
logical, intent(in) use_symmetric_reconstruction,
logical, intent(in) use_analytic_reconstruction,
double precision, intent(in) tolerance,
integer, intent(in) n_iterations )

◆ reconstruct_planes_old()

subroutine mod_mof::reconstruct_planes_old ( type(t_tetrahedral_mesh), intent(in) mesh,
integer, intent(in) n_planes,
logical, intent(in) compute_symmetric_difference,
logical, intent(in) use_symmetric_reconstruction,
logical, intent(in) use_analytic_reconstruction,
double precision, intent(in) tolerance,
integer, intent(in) n_iterations )

◆ reconstruction()

subroutine mod_mof::reconstruction ( type(t_tetrahedral_mesh), intent(in) mesh,
double precision, dimension(:), intent(in) volume_fraction,
double precision, dimension(:,:), intent(in) centroid,
double precision, dimension(:,:), intent(in) centroid_dual,
logical, intent(in) use_symmetric,
logical, intent(in) use_analytic,
double precision, intent(in) tolerance,
integer, intent(in) max_iter,
type(t_polyhedron), dimension(:), intent(out) reconstructed_poly )

◆ sampling()

subroutine mod_mof::sampling ( type(t_tetrahedral_mesh), intent(in) mesh,
class(t_shape), intent(in) shape,
double precision, dimension(:), intent(out), allocatable volume_fraction,
double precision, dimension(:,:), intent(out), allocatable centroid,
integer, intent(in) n_samples )

◆ tetra_volume()

double precision function mod_mof::tetra_volume ( double precision, dimension(3,4), intent(in) point)

◆ write_mof()

subroutine mod_mof::write_mof ( character(len=*), intent(in) filename,
double precision, dimension(:), intent(in) volume_fraction,
double precision, dimension(:,:), intent(in) centroid,
double precision, dimension(:,:), intent(in) centroid_dual )

◆ write_mof_problem()

subroutine mod_mof::write_mof_problem ( character(len=*), intent(in) filename,
type(t_polyhedron), intent(in) tetra,
double precision, dimension(2) ref_volume,
double precision, dimension(3,2) ref_centroid )