Couette flow in lierature

Ok. I want to add mod function, could you tell me how to do it?

Thanks a lot

It’s implemented on my develop branch, but you are better off just using the % syntax.

Ok, thanks a lot. And is the definition of yt wrong?


It depends on what you are trying to achieve. A way to test this would be in a simple Python or Matlab script plotting yt, you can then see if it matches your expectation.

Thanks, I have a question. I want to test the accuracy of the Roe scheme, which has a high dissipation. So the couette flow in the former article can’t be used. Do you know of any viscous case that can measure accuracy of the Roe scheme?

I depends how you want to measure it. A good article to read is the L2 Roe scheme paper:
and this short note looking at implicit LES: Redirecting

If you want to exactly quantify the error the best place to start is with the Euler vortex case or the inviscid Taylor–Green vortex, as they both have exact solutions. However, with some limited exceptions, changing the Riemann solver is not as important as getting the mesh right, especially the mach number > 0.1. Less than that and you are probably better off using ACM anyway. There is of course a Roe scheme for ACM, but the effects there are more marginal and are predominantly observed in the convergence. Roe isn’t implemented in ACM, but I have a branch with a bunch of Riemann solvers implemented including exact solvers.

Here are some results that we decided not to submit in the end. (Note for future readers: no promises on how long I will keep this google drive link active for).

Yes, the Euler vortex case or the inviscid Taylor–Green vortex can be used to test the accuracy exactly, and they are inviscid. But I want to test the accuracy under the viscous flow. So I want to find out if there is viscous fluid case to quantify error?

I am sorry to borther you again.

a. Can I set the variable ‘mu’ as a linear law, such as mu = kT, which is in the ini file?

b. I follow the case in your paper :An extended range of energy stable flux reconstruction methods on triangles. yt = (mod((y + 10 - t, 20) - 10)). You mean the scope of yt is [-2,2], I need to change the yt to fit the scope [-2,2].


To answer a, what you are asking for is a non-trivial solution to the compressible Navier–Stokes equations. There aren’t a large number of these, you can try the 2D euler vortex with some viscosity, the solution should probably decay with exp(-C*t^2), but you’ll have to work out the exact form of that yourself. I can’t think of many other cases other than Couette flow and maybe Taylor–Couette flow. But non-trivial compressible cases with exact solutions are hard to find. You could try method of manufactured solution?

In that paper the domain was [-10,10]^2, so if you want to change the domain you’ll need to make some modifications. Probably to yt = (mod((y + 2 - t), 4) - 2) for [-2,2]^2, but like I’ve said to some other points, try plotting this in python or matlab first, that is how I verified that the function was doing the correct thing for me.

I used the method of manufactured solution. The rho, rhou, rhov, E in [solver-source-terms] is exact solution rho_e, rho_eu_e, rho_ev_e…? Or submit the exact solution into NS equation, then put the f_x, f_y as the rhou, rhov in [solver-source-terms]?

I tried the both methods, but I can’t get the right results. Do I need something else to do?


Hopefully I have understood your question correctly. What you need to do prescribe the solution and behaviour you want, and use the source terms to get that behaviour. So say you want the solution to be stationary with the u velocity to being sin(y). Input that on the left-hand-side, and work out what source term you would need to support that solution. You can then apply the initial condition and source term in the ini file.

Yeah, that’s what I did. I set the rho, rhou… in [solver-source-terms] to the source term fm, fx… But the result is still wrong.

And the thermal conductivity before T_x is
, but in the flux file, it is

So this is handled in how T_x is defined. See the comment before the definition:
// Compute temperature derivatives (c_v*dT/d[x,y])

i.e. T_x == c_v*dT/dx.

So I think you may have gotten the substitution wrong when calculating the source terms, or typed them in wrong in the ini file.

I follow the MMS in the following paper, the exact solution and source term are presented.

So there is no source term error. I upload the ini file and mesh, could you check the error for me? Thanks a lot.

Best regards

The method of manufactured solution case linked to in that paper is a 3D test case. Are you sure that the restriction you did from 3D to 2D is correct?

Ok, I will check it. Thanks.

And in the fluid force plugin, when I compute the lift coefficient, Cl = 2Fy/(rho*U * U * D),
Fy=Py+Vy? Is it right?

Best regards

It will depend on how you configured your case. If your inflow is u=u_0, v=0, then yes.

If it is not the case you mentioned, then how to calculate Fy?

Best regards

You would just have to use some trigonometry to resolve the force into the right direction.