Isotropic Turbulence IC / Rogalloprocedure
Hello CFDcrowd,
I'm trying to set up a DNS of isotropic turbulence in a 2*pi cube using the procedure for the initial conditions described by Rogallo. I'm getting some strange results for my initial flow field, though. Is there anybody here who knows a thing or two about this procedure and can help me out? Thanks a lot! Cfd newbie 
I am very familiar with the procedure, I know this is an old post but did you manage to get a Rogallo code up and working?

Hello bigeddy,
thanks for your offer. I did get the code working, but I'm still a little bit confused about one thing: If you follow Rogallo's procedure and create the fourier coefficients in wave space, they will not be fully isotropic. In the x and y plane they will be, but not in the z direction. If I remember correctly, thats by design (by enforcing div u =0) implicitely, but it really confused me as to why people call it "ICs for isotropic flow" when it isn't in the zdirection. Anyway, I assumed at the time that was ok (people also call the Taylor Green vortex isotropic, but it clearly isn't in the zdirection)..... But I'm currently looking into HIT again, but now for compressible HIT... do you know what's the standard procedure to generate compressible ICs? something like "compressible Rogallo"? Any references / paper would be greatly appreciated! Thanks again! 
Cool yep, I remember this issue. If you go to page 53 of Rogallos 1981 paper you'll see the three equations for e1, e2 and e3. There is a small mistake in the e3 term which should have a negative sign in front rather than a positive one. Also, enforcing the div u =0 condition doesn't necessarily mean the flow will be isotropic, its just a means to enforce continuity in the spectral domain which i think is what you're referring to.
I havent touched compressible myself as its out the scope of what im doing, but there is a thesis by G.A. Blaisdell on Numerical simulations on compressible homogeneous turbulence and another nasa report by Feiereisen, Reynolds and Ferziger on Numerical simulation of a compressible homogeneous shear flow. Those are probably the best ones to get hold of, they do things in a moving coordinate system but the equations are virtually the same as the fixed isotropic cases. I have seen some things to do with initial conditions in these two theses, I suppose if its a standard procedure you're after, choose whatever you think is the simplest and quickest to implement. One thing with initial conditions is that they will always be unphysical so you would always need to evolve the simulation some time before you pull out your wanted information. I presume you're working on a phd? Whats the objective of your study? 
Quote:
Quote:
Quote:
Quote:

yeah 715 large eddy turnover times comes to mind with incompressible simulations. Not sure what minimum evolution is for compressible but i know for incompressible we look at dissipation skewness and/or the skewness of the velocity derivative i.e. one they reach a constant average value i cant remember what it is exactly but its then that we deem our turbulence field to be stationary.
I agree, of all the stuff shock turbulence is probably the most interesting! Im actually working on a phd as well, pseudospectral incompessible dns, but with particles and hopefully very soon with a moving coordinate system! It good to know someone out there like yourself is doing something related! 
Hi guys,
I’m wondering if any of you can help me? I wrote a pseudo –spectral code and used Rogallo initial conditions. But the energy spectrum shows some strange behavior at the small scales. Actually it has some small strange oscillations at the large wave numbers. I wrote my code based on the following paper: http://www.globalsci.com/galley/DSFD31.pdf And verified it with the TaylorGreen vortex as the initial conditions. But for the isotropic homogeneous turbulence with Rogallo initial conditions I cannot get good results. Could you please let me know if you saw this behavior before or if you have any suggestion? Thanks! 
From a quick look it might be that you are not doing proper dealiasing which will pollute your high wave numbers... how high is your maximum wavenumber (of the initial E(k) in Rogallos procedure), and on how many nodes do you initialize your computation?
Just by scanning over the figures in the paper, you can see that they also do have some aliasing issues in there... is that what you are seeing as well? 
I think my dealiasing doesn’t have any problem. I put all the wave numbers larger than 2N/3 in all 3 directions equals to zero. And generally the error is not like a simple build up at the large wave numbers. It has some oscillations. I’m using 128^3 modes and initialize the entire mode. Shouldn’t I initialize the entire mode? Although I verified my code but I’m still suspicious to it. Is there any way that makes me %100 sure that my code is true and just initial conditions make errors? Sorry, I’m a beginner and might ask silly questions. Please help me solve this problem.

Quote:
try the following: use a spectrum that cuts of at lets say 64, and use 128 nodes per direction. see if your problem persists. Did you validate your code? If not, I strongly suggest you use the method of manufactured solutions to do so. Also, what about the time discretization? In the paper, they are using a second order scheme.... that seems unwise, since the spatial order is thus so much higher than the temporal one. try lowering your timestep, see what happens... 
I validated my code by the method of manufactured solutions. But the thing I'm worried about is that even when I had some mistakes in my code method of manufactured solutions gave me the right answer. I mean some mistakes don’t show up in the method of manufactured solutions. I also compared results of my code with results of TaylorGreen Vortex and in general results show good agreement but there are some minor differences.
For the time discretization I used both low storage RK and 4th order RK with integrating factor. 
Well, why do you say that the errors wont show up if you use the manufactured solution? You can create a source term that tests all your terms in the equations, create crazy stuff like a standing wave and so on... If you design your source complicated enoufh, you should find your error.
Also what makes me sceptical is that you are not getting a perfect match for the TG..., at what Re and for how many DOF? You should be able to match the TGV for low Re perfectly..., Do you get the temporal desin order? 
Because when I wrote my code I used the method of manufactured solutions to verify it. And it seemed results show very good agreement, but later I found a mistake in my code. So even with a mistake in my code I got good results for the method of manufactured solutions.
I tried to reproduce fig.3 in Orszag paper: http://www.springerlink.com/content/p062uj04n2717064/fulltext.pdf With 32^3 modes and 4 different Re numbers (Re=100,200,300,400). I also reproduced some of the plots in Spectral Methods (by Canuto) book for Re=100 and Re=800 and DOF=16^3, 32^3, 48^3, 64^3 and 128^3. As you mentioned for low Re numbers and large DOF I got perfect agreement but for large Re number and small DOF agreement is very poor. 
Sorry, what do you mean by "temporal design order"?
I also have 2 more questions: 1 What initial energy spectrum do you use? 2 How do you initialize the velocity filed? How do you apply conjugate symmetry? For example I initialize velocities of all the modes which –N/2<kz<0, N/2<ky<N/21, N/2<kx<N/21 and put the velocities of the modes which 1<kz<N/21, N/2<ky<N/21, N/2<kx<N/21 complex conjugate of the first set. 
Quote:
Quote:
Could you show us a plot of what you think goes wrong? If it's ok for low Re, high and bad for high Re and low N, you are dealing with a nonlinear term, so I still think it might be the dealiasing... 
Quote:
When you did your tests with the manufactured solution, did you get spectral accuracy as it should be? If you are well resolved spatially, just to a temporal order of convergence analysis (increase/decrease the timestep) and see if you get the correct order.! Quote:
Quote:

How do u choose ur timestep? Constant or with CFL/DFL condition?
Do u filter all terms or only the nonlinear part? Do u use the filter in every RungeKuttaStep or after each timestep? In your paper the rotation form of the NavierStokesEquations is used! Try to implement some more forms like the SkewSymmetricForm and compare it with rotation form! But before that, make some more MFSTests and analys the spatial and temporal convergence order, like cfdnewbie said! Regards... 
Eifoehn4,
My time step is based on the CFL number which is about 0.5. I don’t do LES for now. I’m just trying to do DNS first and see how my code works for the isotropic turbulence. Yeah, I’m using the rotation form of the NS and I think it’s the most stable form. Isn’t it? You’re right I’m trying to apply MFS again and investigate the spatial and temporal orders. Thanks! 
With "filtering" i mean the 2/3 rule (dealising).
Do you dealise in every RungeKuttaStep or in each timestep? Do you dealise the linear variables of the NavierStokesEquations? Quote:

I dealias in every RungeKuttaStep. The way I dealias is like this:
I start computation with like Nx=Ny=Nz=120 modes and initialize all modes. Then in each RK step for computing the nonlinear term I do zeropadding. I increase number of modes to Mx=My=Mz=(3/2)*120=180 and put the velocities and vortices of modes which i>Nx/2 or j>Nx/2 or k>Nx/2 equal to zero. After computing the nonlinear term I just pick up modes where i<Nx/2 or j<Nx/2 or k<Nx/2 and continue computation with Nx=Ny=Nz=120 (i,j,k are counters in the x,y and z directions). I don't know how I can put a picture here! 
All times are GMT 4. The time now is 19:20. 