mod_mesh_io Module

Input/Output routines for native hexahedral mesh files.

This module handles the parsing of the ASCII-based native mesh format used by the solver. It reads node coordinates, cell connectivity, face metrics, and boundary patches from the directory specified in the case parameters.



Subroutines

public subroutine read_native_mesh(mesh_dir, m)

Orchestrates the reading of all mesh components from a directory.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: mesh_dir

Path to the directory containing .dat files.

type(mesh_t), intent(inout) :: m

The mesh structure to populate.

private subroutine append_cell_face(m, cell_id, face_id)

Helper to safely add a face to a cell's local face list.

Arguments

Type IntentOptional Attributes Name
type(mesh_t), intent(inout) :: m
integer, intent(in) :: cell_id
integer, intent(in) :: face_id

private subroutine build_cell_faces(m)

Builds the cell-to-face mapping by inverting the face owner/neighbor data.

Arguments

Type IntentOptional Attributes Name
type(mesh_t), intent(inout) :: m

private subroutine read_cells(filename, m)

Reads cell definitions from cells.dat.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(mesh_t), intent(inout) :: m

private subroutine read_faces(filename, m)

Reads face metrics and owner/neighbor connectivity from faces.dat.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(mesh_t), intent(inout) :: m

private subroutine read_patches(filename, m)

Reads boundary patch definitions and face lists from patches.dat.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(mesh_t), intent(inout) :: m

private subroutine read_periodic_optional(filename, m)

Reads periodic link data from periodic.dat if it exists.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(mesh_t), intent(inout) :: m

private subroutine read_points(filename, m)

Reads node coordinates from points.dat.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
type(mesh_t), intent(inout) :: m