Implemented new kernel interface for compositional properties#1698
Implemented new kernel interface for compositional properties#1698francoishamon merged 4 commits intodevelopfrom
Conversation
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.hpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.hpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.hpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.hpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.hpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseFVM.cpp
Outdated
Show resolved
Hide resolved
src/coreComponents/physicsSolvers/fluidFlow/CompositionalMultiphaseBaseKernels.cpp
Outdated
Show resolved
Hide resolved
|
"The downside is that I am no longer able to use explicit instantiation with this approach" @francoishamon, why is that downside? I always thought its a benefit ) |
|
@mkhait Previously, in the compositional solver, we were explicitly instantiating the templated functions (mainly the I don't know enough about compilation to provide a more detailed answer :) and experts will jump in to add details. The long term approach that we want to follow is to use just-in-time compilation to speed up our builds, as in this PR. |
This PR implements a simple kernel interface for the compositional property updates:
with a base class that contains the various
launchfunctions, and derived classes implementing thecomputefunctions. The goal is to make the extension to thermal easier using callbacks in thecomputefunctions. The non-local terms (fluxes, etc) will be done in #1696, and the well kernels in another PR.The downside is that I am no longer able to use explicit instantiation with this approach.
The PR is ready for ready for review, and passes the integrated tests on Quartz and Lassen (no rebaseline necessary).