You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix 37 broken Fortran % accessors in docs and add lint check
Doxygen silently consumes %<word> (even inside backtick code spans),
so `bc_y%beg` renders as `bc_ybeg`. Fixed all 37 instances in
hand-written docs to use %% escape. Added check_doxygen_percent()
lint check to catch this in CI going forward.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/documentation/case.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -297,7 +297,7 @@ These physical parameters must be consistent with fluid material's parameters de
297
297
298
298
#### Elliptic Smoothing
299
299
300
-
Initial conditions in which not all patches support the `patch_icpp(j)%smoothen` parameter can still be smoothed by applying iterations of the heat equation to the initial condition.
300
+
Initial conditions in which not all patches support the `patch_icpp(j)%%smoothen` parameter can still be smoothed by applying iterations of the heat equation to the initial condition.
301
301
This is enabled by adding `'elliptic_smoothing': "T",` and `'elliptic_smoothing_iters': N,` to the case dictionary, where `N` is the number of smoothing iterations to apply.
-`chem_params%transport_model` specifies the methodology for calculating diffusion coefficients and other transport properties, `1` for mixture-average, `2` for Unity-Lewis
1017
+
-`chem_params%%transport_model` specifies the methodology for calculating diffusion coefficients and other transport properties, `1` for mixture-average, `2` for Unity-Lewis
1018
1018
1019
1019
-`cantera_file` specifies the chemical mechanism file. If the file is part of the standard Cantera library, only the filename is required. Otherwise, the file must be located in the same directory as your `case.py` file
1020
1020
@@ -1051,15 +1051,15 @@ The entries labeled "Characteristic." are characteristic boundary conditions bas
1051
1051
1052
1052
| Parameter | Type | Description |
1053
1053
| ---: | :----: | :--- |
1054
-
|`bc_[x,y,z]%grcbc_in`| Logical | Enable grcbc for subsonic inflow |
1055
-
|`bc_[x,y,z]%grcbc_out`| Logical | Enable grcbc for subsonic outflow (pressure)|
1056
-
|`bc_[x,y,z]%grcbc_vel_out`| Logical | Enable grcbc for subsonic outflow (pressure + normal velocity) |
1057
-
|`bc_[x,y,z]%vel_in`| Real Array | Inflow velocities in x, y and z directions |
1058
-
|`bc_[x,y,z]%vel_out`| Real Array | Outflow velocities in x, y and z directions |
1059
-
|`bc_[x,y,z]%pres_in`| Real | Inflow pressure |
1060
-
|`bc_[x,y,z]%pres_out`| Real | Outflow pressure |
1061
-
|`bc_[x,y,z]%alpha_rho_in`| Real Array | Inflow density |
1062
-
|`bc_[x,y,z]%alpha_in`| Real Array | Inflow void fraction |
1054
+
|`bc_[x,y,z]%%grcbc_in`| Logical | Enable grcbc for subsonic inflow |
1055
+
|`bc_[x,y,z]%%grcbc_out`| Logical | Enable grcbc for subsonic outflow (pressure)|
1056
+
|`bc_[x,y,z]%%grcbc_vel_out`| Logical | Enable grcbc for subsonic outflow (pressure + normal velocity) |
1057
+
|`bc_[x,y,z]%%vel_in`| Real Array | Inflow velocities in x, y and z directions |
1058
+
|`bc_[x,y,z]%%vel_out`| Real Array | Outflow velocities in x, y and z directions |
1059
+
|`bc_[x,y,z]%%pres_in`| Real | Inflow pressure |
1060
+
|`bc_[x,y,z]%%pres_out`| Real | Outflow pressure |
1061
+
|`bc_[x,y,z]%%alpha_rho_in`| Real Array | Inflow density |
1062
+
|`bc_[x,y,z]%%alpha_in`| Real Array | Inflow void fraction |
1063
1063
1064
1064
This boundary condition can be used for subsonic inflow (`bc_[x,y,z]%[beg,end]` = -7) and subsonic outflow (`bc_[x,y,z]%[beg,end]` = -8) characteristic boundary conditions. These are based on \cite Pirozzoli13. This enables to provide inflow and outflow conditions outside the computational domain.
Key data structures (defined in `src/common/m_derived_types.fpp`):
67
-
-`scalar_field` — wraps a 3D `real(stp)` array (`%sf(i,j,k)`)
68
-
-`vector_field` — array of `scalar_field` (`%vf(1:sys_size)`)
67
+
-`scalar_field` — wraps a 3D `real(stp)` array (`%%sf(i,j,k)`)
68
+
-`vector_field` — array of `scalar_field` (`%%vf(1:sys_size)`)
69
69
-`q_cons_vf` / `q_prim_vf` — conservative and primitive state vectors
70
70
71
71
### Build Toolchain
@@ -136,7 +136,7 @@ Both human reviewers and AI code reviewers reference this section.
136
136
137
137
### Array Bounds and Indexing
138
138
139
-
- MFC uses **non-unity lower bounds** (e.g., `idwbuff(1)%beg:idwbuff(1)%end` with negative ghost-cell indices). Always verify loop bounds match array declarations.
139
+
- MFC uses **non-unity lower bounds** (e.g., `idwbuff(1)%%beg:idwbuff(1)%%end` with negative ghost-cell indices). Always verify loop bounds match array declarations.
140
140
-**Riemann solver indexing:** Left states at `j`, right states at `j+1`. Off-by-one here corrupts fluxes.
141
141
142
142
### Precision and Type Safety
@@ -164,7 +164,7 @@ Both human reviewers and AI code reviewers reference this section.
164
164
-**Pressure formula** must match `model_eqns` value. Model 2/3 (multi-fluid), model 4 (bubbles), MHD, and hypoelastic each use different EOS formulations. Wrong formula = wrong physics.
165
165
-**Conservative-primitive conversion:** Density recovery, kinetic energy, and pressure each have model-specific paths. Verify the correct branch is taken.
166
166
-**Volume fractions** must sum to 1. `alpha_rho_K` must be non-negative. Species mass fractions should be clipped to [0,1].
167
-
-**Boundary conditions:** Periodic BCs must match at both ends (`bc_x%beg` and `bc_x%end`). Cylindrical coordinates have special requirements (`bc_y%beg = -14` for axis in 3D).
167
+
-**Boundary conditions:** Periodic BCs must match at both ends (`bc_x%%beg` and `bc_x%%end`). Cylindrical coordinates have special requirements (`bc_y%%beg = -14` for axis in 3D).
168
168
-**Parameter constraints:** New parameters or physics features must be validated in `toolchain/mfc/case_validator.py`. New features should add corresponding validation.
0 commit comments