incomp-flame-post/docs/m_calculate.md

4 KiB

m_calculate.f90

![Language](https://img.shields.io/badge/Language-Fortran Source-blue?style=for-the-badge)

Overview

Author: Google DeepMind Team & Ignis @brief DNS post-processing mathematical operations and derivatives.

This module calculates spatial derivatives (first and second derivatives in X, Y, Z directions) using high-order compact finite difference schemes. It also calculates chemical reaction rates, positive/negative component extraction, and threshold operations.

API Index


API Reference

[Module] m_calculate

Author: Google DeepMind Team & Ignis @brief DNS post-processing mathematical operations and derivatives.

This module calculates spatial derivatives (first and second derivatives in X, Y, Z directions) using high-order compact finite difference schemes. It also calculates chemical reaction rates, positive/negative component extraction, and threshold operations.


[Subroutine] m_calculate_init

subroutine m_calculate_init()

Initializes the workspace arrays and matrices.

Pre-allocates transposed workspace buffers (xsrc, xdst, rsrc, rdst) and performs the LU decomposition setup via ludcmp for the tridiagonal compact schemes.


[Subroutine] m_calculate_finalize

subroutine m_calculate_finalize()

No description provided.


[Subroutine] ddx1d

subroutine ddx1d(dst, src)

No description provided.


[Subroutine] ddx

subroutine ddx(dst, src)

Computes the first-order derivative in the X-direction.

  • src: 3D input scalar field (nxp, nyp, nzp).
  • dst: 3D output derivative field (nxp, nyp, nzp).

[Subroutine] ddy

subroutine ddy(dst, src)

Computes the first-order derivative in the Y-direction.

  • src: 3D input scalar field (nxp, nyp, nzp).
  • dst: 3D output derivative field (nxp, nyp, nzp).

[Subroutine] ddz

subroutine ddz(dst, src)

Computes the first-order derivative in the Z-direction.

  • src: 3D input scalar field (nxp, nyp, nzp).
  • dst: 3D output derivative field (nxp, nyp, nzp).

[Subroutine] d2dx1d

subroutine d2dx1d(dst, src)

No description provided.


[Subroutine] d2dx

subroutine d2dx(dst, src)

No description provided.


[Subroutine] d2dy

subroutine d2dy(dst, src)

No description provided.


[Subroutine] d2dz

subroutine d2dz(dst, src)

No description provided.


[Subroutine] tp

subroutine tp(a, b, nx)

No description provided.


[Subroutine] tp2

subroutine tp2(a, b, n1, n2)

No description provided.


[Function] rxn_rate

function rxn_rate(c)

Computes the chemical reaction rate based on the progress variable c.

This uses a piecewise exponential/Arrhenius model depending on whether the progress variable is below c_cut, above c_ref, or intermediate.

  • c: The progress variable (0.0 to 1.0).

Returns:

The computed reaction rate.


[Function] threshold_min_max

function threshold_min_max(c, minc, maxc)

No description provided.


[Function] positive

function positive(c)

No description provided.


[Function] negative

function negative(c)

No description provided.