CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Transient Simulations Help (

mysterious_man August 19, 2011 21:07

Transient Simulations Help
I am having difficulty in understanding how to perform transient simulation in CFX. I don't understand how I can determine the time steps or time duration for my model. Any advise on how to get started on it ?

I have tried to search on these forums but was unable to find any information regarding this !

sajad_abasi August 20, 2011 06:26

time step that you specify is used in discretization of fluid equation and it depends on your model.for some models 1s is a good time step but for other 0.0001 is good.
you should run your model in different time steps and compare your results with each other.
i hope it helps you

mysterious_man August 20, 2011 07:47

Thanks for your reply. Its a wells air turbine model and i want to run unsteady simulations. I know the angular velocity and number of blades.

Does the time steps and time duration has to be calculated or just guessed ?

Are there any tutorials on it ?


mauricio August 20, 2011 14:37

Well, if it's transitory it'd depend on first how much time do you want to capture and how fast is the process. If you set a timestep to 1 sec you'll miss out on anything that happens bet ween initial conditions and 1 sec, and everything between 1-2 secs.

First try to think how long does this process last and then you have your total time; let's say its 10 minutes. Now, would it be enough to resolve the equations for every 30 secs? or 10? or 1? You also have to think of how many timesteps you'll wait for with your computing power as well, the smaller the timestep and the bigger the total time the long it'll take to solve the equations. Also note that as a default every timestep you'll get a results file which could clog your harddrive if you don't have enough space for your run.

mysterious_man August 21, 2011 17:30

Hey mauricio,

Thanks for your reply. Lets say for example, i need to run transient simulations on an air turbine rotating at 1000 rpm and has 8 rotor blades. How will i know how long this process lasts ?


mauricio August 21, 2011 18:02

Usually you'd take only a periodic fraction of the turbine and capture the the passing of one blade over a periodic domain.You could divide the circunferential length of the periodic sector you're simulating with the rpm in rad/s and you'll get the amount of time a blade spends in that periodic sector; that should be at least a guideline of what time you can use in your transitory simulation.

There's also thinking if you really need a transitory simulation anyway; i think there's a tutorial on a periodic domain for a compressor blade on cfx that you should check, i think it's stationary but it should help with some insight on what you're doing.;)

mysterious_man August 21, 2011 18:09


Thanks for the reply ! Yeh will definitely check out that tutorial.

So dividing one section of the blade i.e. 1000 rpm / 8
Then dividing the circumferential length by the speed in rad/s will give me the total amount time i.e. Time Duration spent by the blade in the specific sector. And then i can select the number of time steps at which i want it to capture.

Thanks for all the help. :)

Doginal August 21, 2011 22:01

Typically when i'm looking at a total time and a time step for the problem you have to look at the physics of the problem. Pretty much start with a guess and then try going more course and finer from there to see what changes.

If your looking a blade moving through the air, compare the length of the blade to the velocity seen by the blade for a rough estimate. Choose a time step such that the full flow can be captured (so if your blade is 1 m long and your velocity is 4m/s dont have the time step at 0.25s as in that one time step the flow will have passed completely over the blade.

I've been modeling a blade moving in a specific path and i typically start with my time step being 1/200 - 1/500 the total time then go from there. I'm not saying that will be good for you but that's at least what i use.

You can also look at the Currant number when running a simulation for a more physical representation. I'm pretty sure its just a comparison of the velocity of the flow to the length of cells. Just do a quick google search on that for more information.

swiss_zhang August 22, 2011 05:27

There are 3 Options for the Time Step delta_t:

1: Phyical Time Step ( for the case you are very clear about the phyics: delta_t = constant )

some general rules to determine delta_t = factor * Length/ (flow velocity )

for simple case f = 1/3 and for complicated case f < 1/3

for rotating machine delta_t = 1/omega

2: Adaptive Time Step (for the case you are not very clear about the phyics):

you just specify a max and a min Time Step based on the above general rules and the solver will automatically calculate the time step based on your interval

3: Local Time Step (For the case there are more than one time steps)

Remark: You do need to carry out a Time Step Dependency Study:

1: using delta_t
2: using 2*delta_t; if no significant change on the results -> using 2*delta_t
3: if there is a significant change on the results -> using 1/2*delta_t

mysterious_man August 22, 2011 07:26

Thanks for your replies.

For total time duration, i calculated it using = (Circumferential Length / Omega)*Number of Blades
So with 1000 rpm and 8 blades, i got 0.01146 for the total duration

But for time steps, i put it as 0.001

When i try to save the definition file, i get an error 'Transient analyses require that initial conditions are specified unless an Initial Values file is specified at run-time.'

swiss_zhang August 22, 2011 08:02


Originally Posted by mysterious_man (Post 320995)
Thanks for your replies.

For total time duration, i calculated it using = (Circumferential Length / Omega)*Number of Blades
So with 1000 rpm and 8 blades, i got 0.01146 for the total duration

But for time steps, i put it as 0.001

When i try to save the definition file, i get an error 'Transient analyses require that initial conditions are specified unless an Initial Values file is specified at run-time.'


First you need to run a steady state simulation, because you will need the results of steady state simulation as the initial condition for the transient simulation.

secondly, i will use the time needed for one revolution as the total time of the simulaton. Because there is no difference between the first and second revolution, unless you simulate a cold-start. -> t_total = 60 s / 1000 Revolution = 0.06 s/Revolution

thirdly, for delta_t. Since you have 8 blades, that means every 360/8=45 you have a blade. we want to capture the flow behaviour within 1/3(or 1/4)*45 = 15 (or 11.25).
therefore, delta_t = 0.06*15/360 or 0.06*11.25/360 = 0.0025s or 0.001875s

mysterious_man August 22, 2011 08:29

Thanks for your reply swiss_zhang,

I have already ran steady simulations. But how do i go about it for transient. Steady was so straight forward.

How do i set the results of the steady flow simulation as the initial conditions ?

Do i need to open the.cfx file for the steady flow simulation and change the analysis type to transient and then try running it ?


mysterious_man August 22, 2011 12:09

swiss_zhang, I think i have figured out how to run the transient simulations. Thanks for your help.

One more quick question, if i want to change the inlet boundary conditions for the transient simulation to sinusoidal. Any idea how i can achieve that ?


swiss_zhang August 23, 2011 03:28

use expression

I think you'd better learn some basics operation about CFX. Go to the homepage of Ansys and download the learning material. Everything you asked is there.

good luck

mysterious_man August 24, 2011 09:56

Hey swiss_zhang,

Thanks for replying.

I have been searching but couldn't find any information regarding how to change the inlet flow boundary conditions to a sinusoidal flow for a pulsatile flow.:confused:

mauricio August 24, 2011 20:54

hey, do you have 2 phases then? if so you could try what i did for slug flow; set the volume fractions to depend of an if function that compares the position in y to a height calculated through an expression with the sinusoidal pattern. When y < calculated height, vfrac=1, when >calculated height then vfrac=0.

brunoc August 25, 2011 19:30

Hi there,

There are some things you should consider.

First, do you want to capture some detailed information on the time-changing behavior of the blades interacting with other components? Or maybe some transient behavior (vortex shedding?) happening on your machine? If you don't, keep in mind that running steady state is a better option. In fact that is the standard practice among turbomachinery simulations.

If you do need to go transient, a good approach is to set your timestep according to a Courant number, and try (at least at first) to keep it around 1-5. However a rule-of-thumb for CFX is that each iteration should converge in 3-5 coefficient (inner) loops. If it's taking more than that, then your timestep is too big. In fact you might even be inserting some numerical errors in your result.

As for the simulation total time, you should monitor something meaningful to your equipment during the simulation (torque, power and head being good first choices). See how these change as time evolves. For a turbomachinery you should reach a cyclic behavior related to the blade passage frequency. From then on, run for as much as you like. But something around 1-2 complete turns will probably be enough.

Last but not least, take a look at the best practice sections for turbomachinery in CFD-Online:

The CFX documentation also has some very good tips. Study it as well.


All times are GMT -4. The time now is 08:46.