Skip to content

Commit 1f4067c

Browse files
Implemented new kernel interface for compositional properties (#1698)
* implemented new kernel interface for properties * fixed compilation error * addressed Sergey's comments
1 parent bf8961c commit 1f4067c

14 files changed

Lines changed: 1164 additions & 1586 deletions

src/coreComponents/physicsSolvers/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ set( physicsSolvers_sources
8484
PhysicsSolverManager.cpp
8585
SolverBase.cpp
8686
fluidFlow/CompositionalMultiphaseBase.cpp
87-
fluidFlow/CompositionalMultiphaseBaseKernels.cpp
8887
fluidFlow/CompositionalMultiphaseFVM.cpp
8988
fluidFlow/CompositionalMultiphaseFVMKernels.cpp
9089
fluidFlow/CompositionalMultiphaseHybridFVM.cpp
@@ -93,7 +92,6 @@ set( physicsSolvers_sources
9392
fluidFlow/proppantTransport/ProppantTransport.cpp
9493
fluidFlow/proppantTransport/ProppantTransportKernels.cpp
9594
fluidFlow/SinglePhaseBase.cpp
96-
fluidFlow/SinglePhaseBaseKernels.cpp
9795
fluidFlow/SinglePhaseFVM.cpp
9896
fluidFlow/SinglePhaseHybridFVM.cpp
9997
fluidFlow/SinglePhaseProppantBase.cpp

src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBase.cpp

Lines changed: 18 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -356,79 +356,25 @@ void CompositionalMultiphaseBase::updateComponentFraction( ObjectManagerBase & d
356356
{
357357
GEOSX_MARK_FUNCTION;
358358

359-
// outputs
359+
ComponentFractionKernelFactory::
360+
createAndLaunch< parallelDevicePolicy<> >( m_numComponents,
361+
dataGroup );
360362

361-
arrayView2d< real64, compflow::USD_COMP > const & compFrac = dataGroup.getExtrinsicData< extrinsicMeshData::flow::globalCompFraction >();
362-
363-
arrayView3d< real64, compflow::USD_COMP_DC > const & dCompFrac_dCompDens =
364-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::dGlobalCompFraction_dGlobalCompDensity >();
365-
366-
// inputs
367-
arrayView2d< real64 const, compflow::USD_COMP > const compDens =
368-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::globalCompDensity >();
369-
370-
arrayView2d< real64 const, compflow::USD_COMP > const dCompDens =
371-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::deltaGlobalCompDensity >();
372-
373-
KernelLaunchSelector1< ComponentFractionKernel >( m_numComponents,
374-
dataGroup.size(),
375-
compDens,
376-
dCompDens,
377-
compFrac,
378-
dCompFrac_dCompDens );
379363
}
380364

381365
void CompositionalMultiphaseBase::updatePhaseVolumeFraction( ObjectManagerBase & dataGroup,
382366
localIndex const targetIndex ) const
383367
{
384368
GEOSX_MARK_FUNCTION;
385369

386-
// outputs
387-
388-
arrayView2d< real64, compflow::USD_PHASE > const phaseVolFrac =
389-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::phaseVolumeFraction >();
390-
391-
arrayView2d< real64, compflow::USD_PHASE > const dPhaseVolFrac_dPres =
392-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::dPhaseVolumeFraction_dPressure >();
393-
394-
arrayView3d< real64, compflow::USD_PHASE_DC > const dPhaseVolFrac_dComp =
395-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::dPhaseVolumeFraction_dGlobalCompDensity >();
396-
397-
// inputs
398-
399-
arrayView3d< real64 const, compflow::USD_COMP_DC > const dCompFrac_dCompDens =
400-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::dGlobalCompFraction_dGlobalCompDensity >();
401-
402-
arrayView2d< real64 const, compflow::USD_COMP > const compDens =
403-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::globalCompDensity >();
404-
405-
arrayView2d< real64 const, compflow::USD_COMP > const dCompDens =
406-
dataGroup.getExtrinsicData< extrinsicMeshData::flow::deltaGlobalCompDensity >();
407-
408370
MultiFluidBase const & fluid = getConstitutiveModel< MultiFluidBase >( dataGroup, m_fluidModelNames[targetIndex] );
409371

410-
arrayView3d< real64 const, multifluid::USD_PHASE > const & phaseFrac = fluid.phaseFraction();
411-
arrayView3d< real64 const, multifluid::USD_PHASE > const & dPhaseFrac_dPres = fluid.dPhaseFraction_dPressure();
412-
arrayView4d< real64 const, multifluid::USD_PHASE_DC > const & dPhaseFrac_dComp = fluid.dPhaseFraction_dGlobalCompFraction();
413-
414-
arrayView3d< real64 const, multifluid::USD_PHASE > const & phaseDens = fluid.phaseDensity();
415-
arrayView3d< real64 const, multifluid::USD_PHASE > const & dPhaseDens_dPres = fluid.dPhaseDensity_dPressure();
416-
arrayView4d< real64 const, multifluid::USD_PHASE_DC > const & dPhaseDens_dComp = fluid.dPhaseDensity_dGlobalCompFraction();
417-
418-
KernelLaunchSelector2< PhaseVolumeFractionKernel >( m_numComponents, m_numPhases,
419-
dataGroup.size(),
420-
compDens,
421-
dCompDens,
422-
dCompFrac_dCompDens,
423-
phaseDens,
424-
dPhaseDens_dPres,
425-
dPhaseDens_dComp,
426-
phaseFrac,
427-
dPhaseFrac_dPres,
428-
dPhaseFrac_dComp,
429-
phaseVolFrac,
430-
dPhaseVolFrac_dPres,
431-
dPhaseVolFrac_dComp );
372+
PhaseVolumeFractionKernelFactory::
373+
createAndLaunch< parallelDevicePolicy<> >( m_numComponents,
374+
m_numPhases,
375+
dataGroup,
376+
fluid );
377+
432378
}
433379

434380
void CompositionalMultiphaseBase::updateFluidModel( ObjectManagerBase & dataGroup, localIndex const targetIndex ) const
@@ -1001,19 +947,16 @@ void CompositionalMultiphaseBase::assembleAccumulationAndVolumeBalanceTerms( Dom
1001947
MultiFluidBase const & fluid = getConstitutiveModel< MultiFluidBase >( subRegion, fluidModelNames()[targetIndex] );
1002948
CoupledSolidBase const & solid = getConstitutiveModel< CoupledSolidBase >( subRegion, m_solidModelNames[targetIndex] );
1003949

1004-
bool const isIsothermal = true;
1005950
ElementBasedAssemblyKernelFactory::
1006-
createAndLaunch< parallelDevicePolicy<> >
1007-
( isIsothermal,
1008-
m_numComponents,
1009-
m_numPhases,
1010-
dofManager.rankOffset(),
1011-
dofKey,
1012-
subRegion,
1013-
fluid,
1014-
solid,
1015-
localMatrix,
1016-
localRhs );
951+
createAndLaunch< parallelDevicePolicy<> >( m_numComponents,
952+
m_numPhases,
953+
dofManager.rankOffset(),
954+
dofKey,
955+
subRegion,
956+
fluid,
957+
solid,
958+
localMatrix,
959+
localRhs );
1017960

1018961
} );
1019962
}

0 commit comments

Comments
 (0)