-
Notifications
You must be signed in to change notification settings - Fork 60
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
Add VOF subequations interface and refactor VOF phase gradient projection #1318
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.
Looks good! not many comments
Thanks a lot! I completely forgot to clean the includes after testing things out ^^' |
5fa6496
to
23acab1
Compare
In my last commit, I also cleaned up some includes in VOF. |
23acab1
to
c863f32
Compare
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.
Nice work, it is way cleaner!
Here are my first comments, I will have another look later :) In addition, I think there are a few briefs missing.
for (unsigned int i = 0; i < n_dofs; ++i) | ||
{ | ||
const auto phi_i = scratch_data.phi[q][i]; | ||
local_rhs(i) += phi_i * filtered_vof_phase_gradient * JxW; |
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.
I guess here I not sure anymore if we should use the filtered phase or only the phase, but it out of the scope of this PR
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.
Should we open an issue to re-investigate and document it?
95c0724
to
d9189e8
Compare
70a90cf
to
3b7eb42
Compare
b61cc4e
to
3d553a2
Compare
3d553a2
to
0114c08
Compare
7948397
to
5b8a957
Compare
Description Following PR #1318, this one refactors the curvature projection to be assembled and solved through the VOF subequations interface. Assembly of the matrix and right-hand side for both VOFSubequations (phase fraction gradient and curvature projection) are now done in the same loop without the WorkStream method, as they are pretty simple to assemble. Testing The unit test dedicated to the interface has been updated. Visual inspection of data was done with the rising bubble case using paraview. Co-authored-by: Bruno Blais <[email protected]>
Description
This PR adds an interface for secondary equations solved within the span of the VOF auxilliary physics. The interface is similar to the multiphysics interface for auxiliary physics. At the moment, only the L2 projection of the phase fraction gradient has been refactored through this interface and only a linear solver has been implemented.
A new base class for scratch data and assembler objects has also been added.
Testing
All tests have passed.
A new unit test has been added for the VOFSubequationsInterface.
Also tested with the rising bubble example.
Miscellaneous (will be removed when merged)
For non-linear equations, it is planned that the class inherits from the PhysicsSolver to go through the same mechanism.
Checklist (will be removed when merged)
See this page for more information about the pull request process.
Code related list:
Pull request related list: