Core kind parameters, mathematical constants, and global utility routines.
This module serves as the foundational precision manager for the solver.
It centralizes the selection of floating-point precision (real64) and
provides a set of universally available mathematical constants to
avoid hard-coded magic numbers throughout the codebase.
Additionally, it provides critical infrastructure for:
1. Error Handling : A standardized fatal_error mechanism to ensure
consistent error reporting and clean termination.
2. String Manipulation : Utilities like lowercase for case-insensitive
namelist and file processing.
module~~mod_kinds~~UsesGraph
module~mod_kinds
mod_kinds
iso_fortran_env
iso_fortran_env
module~mod_kinds->iso_fortran_env
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
module~~mod_kinds~~UsedByGraph
module~mod_kinds
mod_kinds
module~mod_bc
mod_bc
module~mod_bc->module~mod_kinds
module~mod_input
mod_input
module~mod_bc->module~mod_input
module~mod_mesh_types
mod_mesh_types
module~mod_bc->module~mod_mesh_types
module~mod_energy
mod_energy
module~mod_energy->module~mod_kinds
module~mod_energy->module~mod_bc
module~mod_fields
mod_fields
module~mod_energy->module~mod_fields
module~mod_energy->module~mod_input
module~mod_energy->module~mod_mesh_types
module~mod_mpi_flow
mod_mpi_flow
module~mod_energy->module~mod_mpi_flow
module~mod_profiler
mod_profiler
module~mod_energy->module~mod_profiler
module~mod_fields->module~mod_kinds
module~mod_fields->module~mod_bc
module~mod_fields->module~mod_input
module~mod_fields->module~mod_mesh_types
module~mod_flow_projection
mod_flow_projection
module~mod_flow_projection->module~mod_kinds
module~mod_flow_projection->module~mod_bc
module~mod_flow_projection->module~mod_fields
module~mod_flow_projection->module~mod_input
module~mod_flow_projection->module~mod_mesh_types
module~mod_flow_projection->module~mod_mpi_flow
module~mod_flow_projection->module~mod_profiler
module~mod_transport_properties
mod_transport_properties
module~mod_flow_projection->module~mod_transport_properties
module~mod_input->module~mod_kinds
module~mod_mesh_io
mod_mesh_io
module~mod_mesh_io->module~mod_kinds
module~mod_mesh_io->module~mod_mesh_types
module~mod_mesh_types->module~mod_kinds
module~mod_mpi_flow->module~mod_kinds
module~mod_mpi_flow->module~mod_mesh_types
module~mod_mpi_radiation
mod_mpi_radiation
module~mod_mpi_radiation->module~mod_kinds
module~mod_output
mod_output
module~mod_output->module~mod_kinds
module~mod_output->module~mod_energy
module~mod_output->module~mod_fields
module~mod_output->module~mod_flow_projection
module~mod_output->module~mod_input
module~mod_output->module~mod_mesh_types
module~mod_output->module~mod_mpi_flow
module~mod_species
mod_species
module~mod_output->module~mod_species
module~mod_output->module~mod_transport_properties
module~mod_profiler->module~mod_kinds
module~mod_species->module~mod_kinds
module~mod_species->module~mod_bc
module~mod_species->module~mod_fields
module~mod_species->module~mod_flow_projection
module~mod_species->module~mod_input
module~mod_species->module~mod_mesh_types
module~mod_species->module~mod_mpi_flow
module~mod_species->module~mod_transport_properties
module~mod_transport_properties->module~mod_kinds
module~mod_transport_properties->module~mod_input
module~mod_transport_properties->module~mod_mesh_types
module~mod_transport_properties->module~mod_mpi_flow
program~lowmach_react_hex
lowmach_react_hex
program~lowmach_react_hex->module~mod_kinds
program~lowmach_react_hex->module~mod_bc
program~lowmach_react_hex->module~mod_energy
program~lowmach_react_hex->module~mod_fields
program~lowmach_react_hex->module~mod_flow_projection
program~lowmach_react_hex->module~mod_input
program~lowmach_react_hex->module~mod_mesh_io
program~lowmach_react_hex->module~mod_mesh_types
program~lowmach_react_hex->module~mod_mpi_flow
program~lowmach_react_hex->module~mod_mpi_radiation
program~lowmach_react_hex->module~mod_output
program~lowmach_react_hex->module~mod_profiler
program~lowmach_react_hex->module~mod_species
program~lowmach_react_hex->module~mod_transport_properties
proc~flow_allgather_owned_matrix
mod_mpi_flow::flow_allgather_owned_matrix
proc~flow_allgather_owned_matrix->module~mod_profiler
proc~flow_allgather_owned_matrix_inplace
mod_mpi_flow::flow_allgather_owned_matrix_inplace
proc~flow_allgather_owned_matrix_inplace->module~mod_profiler
proc~flow_allgather_owned_scalar
mod_mpi_flow::flow_allgather_owned_scalar
proc~flow_allgather_owned_scalar->module~mod_profiler
proc~flow_allgather_owned_v4
mod_mpi_flow::flow_allgather_owned_v4
proc~flow_allgather_owned_v4->module~mod_profiler
proc~flow_allreduce_global_scalar
mod_mpi_flow::flow_allreduce_global_scalar
proc~flow_allreduce_global_scalar->module~mod_profiler
proc~flow_allreduce_global_vector
mod_mpi_flow::flow_allreduce_global_vector
proc~flow_allreduce_global_vector->module~mod_profiler
proc~flow_exchange_cell_matrix
mod_mpi_flow::flow_exchange_cell_matrix
proc~flow_exchange_cell_matrix->module~mod_profiler
proc~flow_exchange_cell_scalar
mod_mpi_flow::flow_exchange_cell_scalar
proc~flow_exchange_cell_scalar->module~mod_profiler
proc~flow_exchange_face_scalar
mod_mpi_flow::flow_exchange_face_scalar
proc~flow_exchange_face_scalar->module~mod_profiler
proc~flow_gather_owned_matrix_root
mod_mpi_flow::flow_gather_owned_matrix_root
proc~flow_gather_owned_matrix_root->module~mod_profiler
proc~flow_gather_owned_scalar_root
mod_mpi_flow::flow_gather_owned_scalar_root
proc~flow_gather_owned_scalar_root->module~mod_profiler
proc~flow_global_dot_owned
mod_mpi_flow::flow_global_dot_owned
proc~flow_global_dot_owned->module~mod_profiler
proc~flow_global_dots_owned
mod_mpi_flow::flow_global_dots_owned
proc~flow_global_dots_owned->module~mod_profiler
proc~flow_global_max_owned
mod_mpi_flow::flow_global_max_owned
proc~flow_global_max_owned->module~mod_profiler
proc~flow_global_sum_owned
mod_mpi_flow::flow_global_sum_owned
proc~flow_global_sum_owned->module~mod_profiler
proc~flow_global_two_dots_owned
mod_mpi_flow::flow_global_two_dots_owned
proc~flow_global_two_dots_owned->module~mod_profiler
proc~pressure_matvec
mod_flow_projection::pressure_matvec
proc~pressure_matvec->module~mod_profiler
proc~update_transport_properties
mod_transport_properties::update_transport_properties
proc~update_transport_properties->module~mod_profiler
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Variables
Type
Visibility Attributes
Name
Initial
real(kind=rk),
public,
parameter
::
half
=
0.5_rk
integer,
public,
parameter
::
name_len
=
64
real(kind=rk),
public,
parameter
::
one
=
1.0_rk
integer,
public,
parameter
::
path_len
=
256
integer,
public,
parameter
::
rk
=
real64
Working real precision parameter (Double Precision).
All physical fields and numerical coefficients must use this kind.
real(kind=rk),
public,
parameter
::
tiny_safe
=
1.0e-300_rk
A very small positive value used for safe divisions and tolerance checks.
Designed to be well above the underflow limit of double precision.
real(kind=rk),
public,
parameter
::
two
=
2.0_rk
real(kind=rk),
public,
parameter
::
zero
=
0.0_rk
Functions
Converts an input string to all lowercase characters.
Read more…
Arguments
Type
Intent Optional Attributes
Name
character(len=*),
intent(in)
::
text
The source string to convert.
Return Value
character(len=len)
Subroutines
Aborts the simulation with a formatted error message.
Read more…
Arguments
Type
Intent Optional Attributes
Name
character(len=*),
intent(in)
::
scope
The name of the module or feature (e.g., "mod_input").
character(len=*),
intent(in)
::
message
Descriptive message explaining why the simulation failed.