-
Notifications
You must be signed in to change notification settings - Fork 289
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
HDG Navier Stokes #3732
HDG Navier Stokes #3732
Conversation
4522b49
to
acd9220
Compare
This allows verification of the new APIs. Running with this version of the example we obtain the same results as the previous (git) version
And add some boundary ID info
Set tau = 1 for all faces
Still don't work. There's still an artifact at the flow outlet
This reverts commit 39a2438.
And some clang formatting
This reverts commit 5f843be.
I was missing `JxW_face` for the pressure face kernels
I'm through the `scalar_face_` routines
I think the Jacobian might be wrong though
I'm just not sure how to do this with the "two-step" vector increment
This reverts commit 8a255a7.
This reverts commit 483d9aa.
This ensures that the aux system variables are up-to-date when we perform the residual evaluation which considers both the "aux" and nonlinear solution values. This also ensures that the Jacobian matches the residual for all nonlinear iterations >= 1
There is a fundamental problem with this. The problem is that the computed increment for the mixed system is nonzero even if the increment is zero for the LM system. So basically I think trying to increment the mixed solution outside of a global incrementing is just not gonna work
This reverts commit 19579d0.
Precheck only implemented for PETSc
Marking this as ready for review. These current failures seem unrelated? |
Job Coverage on da16a3e wanted to post the following: Coverage
Warnings
This comment will be updated on new commits. |
Definitely unrelated. Logan's looking atone; I have a hypothesis about and an attempted fix for the other. |
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'm happy with this as-is. Feels like we could shave off a hundred lines of code with an FEMContext
, though.
I've opened #3742 as an acknowledgment that I should try using |
What was your ksp/pc type for that profile? But regardless, 64x64 is pretty small; if the assembly was already negligible there then I wouldn't worry about it in general. The only exception I can think of is really high polynomial degree. We already do an O(Np^2d) assembly (p^d bases, p^d quadrature point values for each on each of N elements), even on tensor product elements where there are asymptotically cheaper tricks ... but these local inverses look like O(Np^3d), don't they? You've got m=p^d entries in those matrices and then you're doing O(m^3) inverses on each element? |
Based on work by Nguyen and Cockburn. I've implemented MMS tests for both lid and channel flow type boundary value problems.
Cavity MMS results
grid_size=2
L2 error for u is: 1.543638e-01
L2 error for v is: 1.543638e-01
L2 error for pressure is: 2.879229e-01
grid_size=4
L2 error for u is: 4.007067e-02
L2 error for v is: 4.007067e-02
L2 error for pressure is: 5.268862e-02
grid_size=8
L2 error for u is: 1.012986e-02
L2 error for v is: 1.012986e-02
L2 error for pressure is: 1.111670e-02
grid_size=16
L2 error for u is: 2.543457e-03
L2 error for v is: 2.543457e-03
L2 error for pressure is: 2.581651e-03
Channel MMS results
grid_size=2
L2 error for u is: 2.318716e-01
L2 error for v is: 3.545995e-01
L2 error for pressure is: 6.271178e-01
grid_size=4
L2 error for u is: 6.192154e-02
L2 error for v is: 9.922736e-02
L2 error for pressure is: 1.775775e-01
grid_size=8
L2 error for u is: 1.577982e-02
L2 error for v is: 2.597410e-02
L2 error for pressure is: 4.410009e-02
grid_size=16
L2 error for u is: 3.977834e-03
L2 error for v is: 6.505690e-03
L2 error for pressure is: 1.091284e-02