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
Modify GasPhaseVals struct: For manifold model, need to map from transported "species" (actually the manifold parameters) to gas phase composition in terms of actual species
Apply source terms to correct quantities. For species, this is just a matter of using the existing mapping system to map from the liquid components to mixture fraction, etc. For enthalpy, still needs to be determined. An initial approach would be to ignore the enthalpy lost from phase change.
Places where EOS calls are currently made within the EOS module as a strating point for modifications:
$cd PelePhysics/Source/Spray
$rgrep -i eos
./SpraySetup.cpp:260: pele::physics::eos::speciesNames<pele::physics::PhysicsType::eos_type>(
./SpraySetup.cpp:285: auto eos = pele::physics::PhysicsType::eos();
./SpraySetup.cpp:286: eos.T2Hi(m_sprayData->ref_T, fuelEnth.data());
./Drag.H:148: pele::physics::EosType,
./Drag.H:151: auto eos = pele::physics::PhysicsType::eos();
./Drag.H:220: eos.T2Cpi(T_skin, cp_n.data());
./Drag.H:221: eos.T2Hi(T_part, h_part.data());
./SprayParticles.cpp:51: pele::physics::EosType,
./SprayParticles.cpp:74: pele::physics::EosType,
./SprayParticles.cpp:157: pele::physics::EosType,
./SprayParticles.cpp:329: auto eos = pele::physics::PhysicsType::eos();
./SprayParticles.cpp:334: eos.molecular_weight(gpv.mw.data());
./SprayParticles.H:201: pele::physics::EosType,
./SprayParticles.H:218: pele::physics::EosType,
./SprayParticles.H:235: pele::physics::EosType,
./BreakupSplash/WallFilm.H:38: pele::physics::EosType,
./BreakupSplash/WallFilm.H:41: auto eos = pele::physics::PhysicsType::eos();
./BreakupSplash/WallFilm.H:90: eos.T2Cpi(T_skin, cp_n.data());
./BreakupSplash/WallFilm.H:91: eos.T2Hi(T_film, h_film.data());
./SprayInterpolation.H:112: auto eos = pele::physics::PhysicsType::eos();
./SprayInterpolation.H:149: eos.EY2T(intEng, mass_frac.data(), T_i);
Initial thoughts on each (some are minor, some are major):
./SpraySetup.cpp:260: pele::physics::eos::speciesNames<pele::physics::PhysicsType::eos_type>(
Mapping for species names between spray and gas phase. Should be straightforward.
A pointer to eosparm (probably both host and device) will have to be added to the spray particle container
POTENTIAL ISSUE: although spray source can dump into ZMIX, for equilibrium calcs we will need the actual
gas phase concentration of fuel. Probably need to modify GasPhaseVals struct
./SpraySetup.cpp:285: auto eos = pele::physics::PhysicsType::eos();
./SpraySetup.cpp:286: eos.T2Hi(m_sprayData->ref_T, fuelEnth.data());
Used for finding reference gas phase enthalpy, which gets rolled into the latent heat of vaporization
Can probably be bypassed initially for manifold spray ignoring latent heat
./Drag.H:148: pele::physics::EosType,
Just interfaces for passing transparm - nothing important here
./Drag.H:151: auto eos = pele::physics::PhysicsType::eos();
./Drag.H:220: eos.T2Cpi(T_skin, cp_n.data());
./Drag.H:221: eos.T2Hi(T_part, h_part.data());
?? Could be difficult - need to harmonize between gas species and manifold quantities
./SprayParticles.cpp:51: pele::physics::EosType,
./SprayParticles.cpp:74: pele::physics::EosType,
./SprayParticles.cpp:157: pele::physics::EosType,
Just interfaces for passing transparm - nothing important here
./SprayParticles.cpp:329: auto eos = pele::physics::PhysicsType::eos();
./SprayParticles.cpp:334: eos.molecular_weight(gpv.mw.data());
?? gas phase molecular weight in GPV - is this needed for all gas species and why?
./SprayParticles.H:201: pele::physics::EosType,
./SprayParticles.H:218: pele::physics::EosType,
./SprayParticles.H:235: pele::physics::EosType,
Just interfaces for passing transparm - nothing important here
./BreakupSplash/WallFilm.H:38: pele::physics::EosType,
Just interfaces for passing transparm - nothing important here
./BreakupSplash/WallFilm.H:41: auto eos = pele::physics::PhysicsType::eos();
./BreakupSplash/WallFilm.H:90: eos.T2Cpi(T_skin, cp_n.data());
./BreakupSplash/WallFilm.H:91: eos.T2Hi(T_film, h_film.data());
./SprayInterpolation.H:112: auto eos = pele::physics::PhysicsType::eos();
./SprayInterpolation.H:149: eos.EY2T(intEng, mass_frac.data(), T_i);
Only used for PeleC
But - interpolating gas phase vals will need to change - we need actual species
** This is really the main challenges**
Right now these are incompatible. Major steps to implementation:
Places where EOS calls are currently made within the EOS module as a strating point for modifications:
Initial thoughts on each (some are minor, some are major):
CC: @SreejithNREL @shashankNREL @justint1997
The text was updated successfully, but these errors were encountered: