Skip to content

Conversation

@d-montgomery
Copy link
Contributor

@d-montgomery d-montgomery commented Oct 23, 2025

This cleans up the indexing in the spray module, specifically how liquid spray species deposit to corresponding gas-phase species. The changes include:

  • Relaxation of the SPRAY_FUEL_NUM <= NUM_SPECIES requirement. This requires molecular weights to be read in from the input file for both the GCM and MP models. Users can now have multiple spray species deposit to a single, or multiple gas-phase species.
  • Removal of fdat.indx. This erroneously mapped species to a gas species with the exact same name regardless of how fdat.dep_indx was defined.
  • Full adoption of fdat.dep_indx
  • The addition of a compressed sparse row matrix $L$ which handles the specific mapping from liquid species to gas phase species.

The implementation has been tested with the SingleDropEvap validation cases, specifically WongLin, Daif, and the RungeJP8 tests (see PeleLMeX #593). For the WongLin and Daif cases, a test mechanism was created that mapped multiple species of heptane or decane to a single heptane or decane species (eg. NC7H16_1, NC7H16_2, ... mapped to a single NC7H16).

The RungeJP8 case was tested with 67 liquid fuel components mapping to a single Hychem species for POSF10264 with and without Manifold EOS. The figure below shows results comparing the new "many-to-one" capability to a detailed mechanism for POSF10264. The PeleMP cases demonstrate the impact of using different models for saturated vapor pressure. Note that the PeleMP: Antoine Many-to-One and the PeleGCM: Many-to-One are the same because the Antoine coefficients used in the PeleMP model are generated from FuelLib, so both models have effectively the same saturated vapor pressure implementation.

RungeJP8

To do:

  • Update for use with the manifold model in one-to-one mapping
  • Update for use with the manifold model with many-to-one mapping
  • Remove many debug print statements used during development
  • Needs to be tested with PeleMP model. I think this can also be done with SPRAY_FUEL_NUM > NUM_SPECIES as long as the molecular weights for each species is provided.
  • Test breakup capabilities with Spray-A-Wbreakup in PeleC with PeleMP model (see PeleC #1007)
  • Test with CounterFlowSpray in PeleLMeX
  • Double check docs (remove unused alternative criteria for $X_{g,i} p_g &gt; \bar{p}_{sat,i}$)
  • Update PeleLMeX to allow SPRAY_FUEL_NUM > NUM_SPECIES (see [PeleLMeX #593](https://github.com/AMReX-Combustion/PeleLMeX/pull/593))
  • Update SingleDropEvap tests to include many-to-one validation for RungeJP8 (see PeleLMeX #593)

baperry2 and others added 30 commits August 28, 2025 15:50
@d-montgomery d-montgomery marked this pull request as ready for review November 25, 2025 14:13
@baperry2 baperry2 changed the title Update liquid spray deposition to allow SPRAY_FUEL_NUM > NUM_SPECIES Spray: many liquid species to depositing to a single gas species Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants