Overshoot in instantaneous pressure near curved boundary
******************* This email originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list https://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address. ******************* Hi all, I recently started to use Nektar++ v5.0.3. I would like to simulate the incompressible flow past a smooth circular cylinder at Re=3900. The case is classic and widely studied. The test case used 3345 macro-elements in 2D plane (x-y plane). 70 edges are distributed on the cylinder boundary. The other direction (z direction) is solved by Fourier mode. For the purpose of test, a short spanwise length is set, like Lz=0.2. The results of instantaneous velocity field seems smooth near the boundary of circular cylinder. However, the instantaneous pressure field showed overshoot (or numerical oscillation?) between two neighboring macro-elements. I attached an example in the email. In order to manifest the overshoot, the visualization uses the magnitude of pressure gradient. For solving this problem, I conducted some additional tests by either adding macro-elements along the cylinder boundary or increasing the number of points of Gauss quadrature. Both methods smoothened the instantaneous pressure field around the cylinder boundary. However, neither removed the overshoot completely. It will be appreciated if anyone could give suggestions. Thank you very much in advance. Yong Cao
Hi Yong Cao, I suspect you might be using linear elements? (meaning that the edges of the elements are straight and not curved). If that's the case, the pressure "oscillation" is physical, to remove it you should use curved elements at the cylinder boundary. Cheers, Giacomo On Thu, May 5, 2022 at 10:09 AM 曹勇 <yongcao@sjtu.edu.cn> wrote:
This email from yongcao@sjtu.edu.cn originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list <https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address.
Hi all,
I recently started to use Nektar++ v5.0.3. I would like to simulate the incompressible flow past a smooth circular cylinder at Re=3900. The case is classic and widely studied.
The test case used 3345 macro-elements in 2D plane (x-y plane). 70 edges are distributed on the cylinder boundary. The other direction (z direction) is solved by Fourier mode. For the purpose of test, a short spanwise length is set, like Lz=0.2. The results of instantaneous velocity field seems smooth near the boundary of circular cylinder. However, the instantaneous pressure field showed overshoot (or numerical oscillation?) between two neighboring macro-elements. I attached an example in the email. In order to manifest the overshoot, the visualization uses the magnitude of pressure gradient.
For solving this problem, I conducted some additional tests by either adding macro-elements along the cylinder boundary or increasing the number of points of Gauss quadrature. Both methods smoothened the instantaneous pressure field around the cylinder boundary. However, neither removed the overshoot completely.
It will be appreciated if anyone could give suggestions.
Thank you very much in advance. Yong Cao
_______________________________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
Hi Yong Cao, Which basis function did you use for the pressure and the velocity field respectively? What formulation did you use to solve the incompressible flow? Can you confirm the numerical solution to the pressure field is truly converged after each time step? Thanks Bin 曹勇 wrote: This email from yongcao@sjtu.edu.cn originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list<https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address. Hi all, I recently started to use Nektar++ v5.0.3. I would like to simulate the incompressible flow past a smooth circular cylinder at Re=3900. The case is classic and widely studied. The test case used 3345 macro-elements in 2D plane (x-y plane). 70 edges are distributed on the cylinder boundary. The other direction (z direction) is solved by Fourier mode. For the purpose of test, a short spanwise length is set, like Lz=0.2. The results of instantaneous velocity field seems smooth near the boundary of circular cylinder. However, the instantaneous pressure field showed overshoot (or numerical oscillation?) between two neighboring macro-elements. I attached an example in the email. In order to manifest the overshoot, the visualization uses the magnitude of pressure gradient. For solving this problem, I conducted some additional tests by either adding macro-elements along the cylinder boundary or increasing the number of points of Gauss quadrature. Both methods smoothened the instantaneous pressure field around the cylinder boundary. However, neither removed the overshoot completely. It will be appreciated if anyone could give suggestions. Thank you very much in advance. Yong Cao [X]
Hi Guglielmo, Giacomo and Bin, Thank you very much for your kind suggestions. I provide further information in the following.
Please try reducing the number of modes of your pressure expansion by 1 but do not change the convective terms' number of modes. For e.g.
<E COMPOSITE="C[100,101]" NUMMODES="7" TYPE="MODIFIED" FIELDS="u,v,w" /> <E COMPOSITE="C[100,101]" NUMMODES="6" TYPE="MODIFIEDQUADPLUS1" FIELDS="p" />
also make sure to have the "MODIFIEDQUADPLUS1" option for the pressure terms.
The set-up of solution parameters is below. The order of polynomial mode is lower for pressure. I guess the set up has the same purpose as you suggested. ------------------------------------------------------- <EXPANSIONS> <E COMPOSITE="C[1]" BASISTYPE="Modified_A,Modified_A" NUMMODES="5,5" POINTSTYPE="GaussLobattoLegendre,GaussLobattoLegendre" NUMPOINTS="6,6" FIELDS="u,v,w" /> <E COMPOSITE="C[1]" BASISTYPE="Modified_A,Modified_A" NUMMODES="4,4" POINTSTYPE="GaussLobattoLegendre,GaussLobattoLegendre" NUMPOINTS="6,6" FIELDS="p" /> <E COMPOSITE="C[8]" BASISTYPE="Modified_A,Modified_A" NUMMODES="5,5" POINTSTYPE="GaussLobattoLegendre,GaussLobattoLegendre" NUMPOINTS="6,6" FIELDS="u,v,w" /> <E COMPOSITE="C[8]" BASISTYPE="Modified_A,Modified_A" NUMMODES="4,4" POINTSTYPE="GaussLobattoLegendre,GaussLobattoLegendre" NUMPOINTS="6,6" FIELDS="p" /> <E COMPOSITE="C[2]" BASISTYPE="Modified_A,Modified_B" NUMMODES="5,5" POINTSTYPE="GaussLobattoLegendre,GaussRadauMAlpha1Beta0" NUMPOINTS="6,5" FIELDS="u,v,w" /> <E COMPOSITE="C[2]" BASISTYPE="Modified_A,Modified_B" NUMMODES="4,4" POINTSTYPE="GaussLobattoLegendre,GaussRadauMAlpha1Beta0" NUMPOINTS="6,5" FIELDS="p" /> </EXPANSIONS> <CONDITIONS> <SOLVERINFO> <I PROPERTY="EQTYPE" VALUE="UnsteadyNavierStokes" /> <I PROPERTY="SolverType" VALUE="VelocityCorrectionScheme" /> <I PROPERTY="EvolutionOperator" VALUE="Nonlinear"/> <I PROPERTY="Projection" VALUE="Continuous" /> <I PROPERTY="GlobalSysSoln" VALUE="XxtMultiLevelStaticCond"/> <I PROPERTY="TimeIntegrationMethod" VALUE="IMEXOrder2" /> <I PROPERTY="Driver" VALUE="Standard" /> <I PROPERTY="SpectralVanishingViscositySpectralHP" VALUE="DGKernel" /> <I PROPERTY="SpectralVanishingViscosityHomo1D" VALUE="True" /> <I PROPERTY="SpectralHPDEALIASING" VALUE="True" /> <I PROPERTY="HOMOGENEOUS" VALUE="1D" /> <I PROPERTY="DEALIASING" VALUE="True"/> <I PROPERTY="USEFFT" VALUE="FFTW"/> </SOLVERINFO> -------------------------------------------------------
I suspect you might be using linear elements? (meaning that the edges of the elements are straight and not curved). If that's the case, the pressure "oscillation" is physical, to remove it you should use curved elements at the cylinder boundary.
Thank you for mentioning the straight/curved edge. The figure in the last email was visualized based on straight edges. I also noticed this problem. Other cases were also tested by high-order cylinder generation, according to 4.4.8 of user guide. The commend is like: NekMesh -m cyl:surf=2:r=0.5:N=10 …. An example is added in this email when a finer mesh is used and curved edges (N=10 for NekMesh -m cyl) on cylinder boundary. The color means the magnitude of pressure gradient that was calculated by using "FieldConvert -m gradient". The overshoot between two neighboring macro-element remains.
Which basis function did you use for the pressure and the velocity field respectively? What formulation did you use to solve the incompressible flow? Can you confirm the numerical solution to the pressure field is truly converged after each time step? Please kindly find the above set up of solver parameters. I actually used the direct solver.
Many thanks for your further comments. Best, Yong
On May 5, 2022, at 20:51, Liu, Bin <bin.liu@imperial.ac.uk> wrote:
Hi Yong Cao,
Which basis function did you use for the pressure and the velocity field respectively? What formulation did you use to solve the incompressible flow? Can you confirm the numerical solution to the pressure field is truly converged after each time step?
Thanks
Bin
曹勇 wrote:
This email from yongcao@sjtu.edu.cn originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list <https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address.
Hi all,
I recently started to use Nektar++ v5.0.3. I would like to simulate the incompressible flow past a smooth circular cylinder at Re=3900. The case is classic and widely studied.
The test case used 3345 macro-elements in 2D plane (x-y plane). 70 edges are distributed on the cylinder boundary. The other direction (z direction) is solved by Fourier mode. For the purpose of test, a short spanwise length is set, like Lz=0.2. The results of instantaneous velocity field seems smooth near the boundary of circular cylinder. However, the instantaneous pressure field showed overshoot (or numerical oscillation?) between two neighboring macro-elements. I attached an example in the email. In order to manifest the overshoot, the visualization uses the magnitude of pressure gradient.
For solving this problem, I conducted some additional tests by either adding macro-elements along the cylinder boundary or increasing the number of points of Gauss quadrature. Both methods smoothened the instantaneous pressure field around the cylinder boundary. However, neither removed the overshoot completely.
It will be appreciated if anyone could give suggestions.
Thank you very much in advance. Yong Cao
participants (3)
- 
                
                Giacomo Castiglioni
- 
                
                Liu, Bin
- 
                
                曹勇