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.


Uses

  • module~~mod_mesh_io~~UsesGraph module~mod_mesh_io mod_mesh_io module~mod_kinds mod_kinds module~mod_mesh_io->module~mod_kinds module~mod_mesh_types mod_mesh_types module~mod_mesh_io->module~mod_mesh_types iso_fortran_env iso_fortran_env module~mod_kinds->iso_fortran_env module~mod_mesh_types->module~mod_kinds

Used by

  • module~~mod_mesh_io~~UsedByGraph module~mod_mesh_io mod_mesh_io program~lowmach_react_hex lowmach_react_hex program~lowmach_react_hex->module~mod_mesh_io

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