-
Notifications
You must be signed in to change notification settings - Fork 95
Implemented new kernel interface for compositional properties #1698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
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
launch
functions, and derived classes implementing thecompute
functions. The goal is to make the extension to thermal easier using callbacks in thecompute
functions. 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).