functionLogisticGrid_

Pure function: compute normalized logistic cell widths for given N_r. Logistic function: f(r) = b + A / (1 + exp(-k * (r_norm - 1))) where r_norm = (i-1) / N_r for i in 1..N_r+1. Output: normalized cell widths (dimensionless, sum = 1.0). Caller must scale output by domain radius R_domain if physical dimensions needed.

Extends from TransiEnt.Basics.Icons.Function.

Information

1. Purpose of function

Pure helper function that computes normalized logistic cell widths for a given number of radial control volumes and domain radius. This function is used by both GridGenerator and GridGenerator_SizeOnly to ensure consistent grid generation logic.

2. Level of detail

Purely mathematical function. Implements the logistic (S-shaped) function from Gillner et al. (2025) with fixed coefficients.

3. Limits of validity

- N_r must be in range [5, 500]

- R_domain must be positive

4. Interfaces

Input: N_r (number of radial control volumes, range [5, 500])

Output: dx_normalized (normalized cell widths, length = N_r, dimensionless, sum = 1.0). The caller scales these by the domain radius R_domain to obtain physical cell widths.

5. Nomenclature

N_r = number of radial control volumes [-]

dx_normalized = normalized cell widths [-] (sum = 1.0)

b = 0.5095 (logistic baseline)

A = 31.82 (logistic amplitude)

k = 23.10 (logistic steepness)

6. Governing Equations

Logistic function:

f(r) = b + A / (1 + exp(-k * (r_norm - 1)))

where r_norm = (i-1) / N_r

7. Remarks for Usage

This is a pure function (no side effects). Used internally by GridGenerator and GridGenerator_SizeOnly. Changes to logistic coefficients should be made here to ensure consistency across both functions.

8. Validation

Tested implicitly through validation of GridGenerator and GridGenerator_SizeOnly.

9. References

no references

10. Version History

Function created by Markus Gillner (markus.gillner@tuhh.de), May 2026

Function revised by Markus Gillner (markus.gillner@tuhh.de), June 2026

- Corrected the interface description: the function takes only N_r and returns normalized cell widths (sum = 1.0); there is no R_domain input.

Inputs

TypeNameDefaultDescription
IntegerN_rnumber of radial control volumes (5 to 500)

Outputs

TypeNameDefaultDescription
Real[N_r]dx_normalizednormalized cell widths (dimensionless, sum = 1.0)