Skip to content

Adapt Spray module for use with Manifold EOS #553

@baperry2

Description

@baperry2

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:

$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**

CC: @SreejithNREL @shashankNREL @justint1997

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions