-
Notifications
You must be signed in to change notification settings - Fork 922
Set the symmetry BC mandatorily, only for velocity. #2174
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
After updating solution and before communications, the normal component is subtracted from the velocity of the sym wall.
pcarruscag
left a comment
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.
Can you show the residual convergence in each time step before and after this change please.
|
Ok, here is an example. A steady simulation is used and the relevant files are attached below. The geometry is A-airfoil case with AoA = 13.3 deg, and the spanwise boundaries are set to MARKER_SYM. Two cases shown below use the same configuration and mesh file, the only difference comes from the submitted code and the original code. For the distribution on the sym bc, the spanwise speed keeps zero. For the history of drag and lift (CSF here for the spanwise direction is z-direction), submitted code shows little differences after convergence. For the history of the residual, increasing instabilities is not observed. Relevant files: |
|
It looks like your example is only converging a couple orders of magnitude, have you tried running it for more iterations or tweaking the settings? |
|
This is inconsistent with the current implementation. The symmetry boundary condition that is implemented is using the reflection tensor https://github.com/su2code/SU2/blob/master/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl You can also see there the implementation of the symmetry boundary condition for the velocity. You are now basically partially overwriting the weakly imposed boundary condition with a strongly imposed boundary condition. If you want to see a failing testcase you can try your approach with the 90 degree bend tutorial testcase and you will see that the residuals will stall after 100 iterations. With the current implementation in develop you can see that the symmetry boundary is only weakly imposed and does not fulfill the symmetry condition exactly, but the same is true for the inlet boundary condition. |
|
Sorry for the late reply, here are some personal opinions. (1) I have also test the turb flatplate and Onera M6 case (Fig1.Original; Fig2.Submit) in the tutorials. The convengence and results also shows just slightly difference. (2) This PR is not suitable for the euler wall, for the wall is not always a straight plane and singular points do not statisfy the condition for the normal direction is hard to define. (3) Well, I have noticed the BC_Sym_Plane before, but it is very puzzling to me that only the closed point to the vertex on the sym wall is considered to add additional negative normal flux contribution. Maybe the mesh is unstructured and more than one point out of wall is linked to the vortex. Maybe the closed point is not normal to the wall while it always occurs on the 3D sym plane such as the ONERA M6 wing case. (4) This PR is to add a limitation of the velocity on the sym wall, just like what we do to the turb walls in the CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh). The fix is only available for the SYMMETRY wall and in the implicit iteration, just to avoid uncertainty and potential instability. /--- Initialize lower and upper limits---/ |
|
Here is the files of the ONERA M6 case. |
|
Hi, |
|
Hello, |







After updating solution and before communications, the normal component is subtracted from the velocity of the sym wall.
Related Work
#1168, #657, #1625, #1125
The symmetry BC in SU2 is waiting for further implementation, for scalar vars and vectors.


But first of all, we should ensure that the wall normal velocity is zero for the sym BC.
When we run an unsteady simulation with sym BC such as the following A-airfoil cases, the spanwise velocity on the spanwise sym BC has a distribution that we donot want to see. (Free stream velocity is 0.15 and the spanwise velocity can exceed 0.01 (the ±0.001 in the figure is to show more clearly) where it should be zero.)
And this PR is to ensure the zero normal velocity.
PR Checklist
Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.
pre-commit run --allto format old commits.