MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_model.fpp.f90 File Reference

Contains module m_model. More...

Go to the source code of this file.

Modules

module  m_model
 Binary STL file reader and processor for immersed boundary geometry.

Functions/Subroutines

impure subroutine m_model::s_read_stl_binary (filepath, model)
 This procedure reads a binary STL file.
impure subroutine m_model::s_read_stl_ascii (filepath, model)
 This procedure reads an ASCII STL file.
impure subroutine m_model::s_read_stl (filepath, model)
 This procedure reads an STL file.
impure subroutine m_model::s_read_obj (filepath, model)
 This procedure reads an OBJ file.
impure type(t_model) function, public m_model::f_model_read (filepath)
 This procedure reads a mesh from a file.
impure subroutine m_model::s_write_stl (filepath, model)
 This procedure writes a binary STL file.
impure subroutine m_model::s_write_obj (filepath, model)
 This procedure writes an OBJ file.
impure subroutine, public m_model::s_model_write (filepath, model)
 This procedure writes a binary STL file.
subroutine, public m_model::s_model_free (model)
 This procedure frees the memory allocated for an STL mesh.
impure logical function m_model::f_read_line (iunit, line)
impure subroutine m_model::s_skip_ignored_lines (iunit, buffered_line, is_buffered)
 Reads the next non-comment line from a model file, using a buffered look-ahead mechanism.
real(wp) function m_model::f_model_random_number (seed)
 This function is used to replace the fortran random number generator because the native generator is not compatible being called from GPU routines/functions.
impure real(wp) function, public m_model::f_model_is_inside (model, point, spacing, spc)
 This procedure, recursively, finds whether a point is inside an octree.
real(wp) function, public m_model::f_model_is_inside_flat (ntrs, pid, point)
 This procedure, given a cell center will determine if a point exists instide a surface.
integer function m_model::f_intersects_triangle (ray, triangle)
 This procedure checks if a ray intersects a triangle.
subroutine, public m_model::s_check_boundary (model, boundary_v, boundary_vertex_count, boundary_edge_count)
 This procedure checks and labels edges shared by two or more triangles facets of the 2D STL model.
subroutine, public m_model::s_register_edge (temp_boundary_v, edge, edge_index, edge_count)
 This procedure appends the edge end vertices to a temporary buffer.
subroutine, public m_model::s_distance_normals_3d (ntrs, pid, point, normals, distance)
 This procedure determines the levelset distance and normals of 3D models by computing the exact closest point via projection onto triangle surfaces.
subroutine, public m_model::s_distance_normals_2d (pid, boundary_edge_count, point, normals, distance)
 This procedure determines the levelset distance and normals of 2D models by computing the exact closest point via projection onto boundary edges.
subroutine, public m_model::s_instantiate_stl_models ()
subroutine, public m_model::s_pack_model_for_gpu (ma)

Variables

type(t_model_array), dimension(:), allocatable, target, public m_model::models
integer, dimension(:), allocatable, public m_model::gpu_ntrs
real(wp), dimension(:, :, :, :), allocatable, public m_model::gpu_trs_v
real(wp), dimension(:, :, :), allocatable, public m_model::gpu_trs_n
real(wp), dimension(:, :, :, :), allocatable, public m_model::gpu_boundary_v
integer, dimension(:), allocatable, public m_model::gpu_boundary_edge_count
integer, dimension(:), allocatable, public m_model::gpu_total_vertices
real(wp), dimension(:, :, :), allocatable, public m_model::stl_bounding_boxes

Detailed Description

Contains module m_model.

Author
Henry Le Berre hberr.nosp@m.e3@g.nosp@m.atech.nosp@m..edu

Definition in file m_model.fpp.f90.