successive increase in timestep
I am having problem in specifying a reasonable timestep. Any starting time step greater than 0.005[s] gives an overflow error. Can i specify initial timestep as 0.005[s] and then increase it to 0.05 . How to sepcify these two timesteps. any suggestion would be appreciated.
|
Re: successive increase in timestep
You can change the timestep during the simulation though the solver manager if running locally or over whatever network you use to run parallel. You can also specify an expression for the timestep and it's fairly simply to set up a step function to start the timestep at .005 and have it gradually step up to .05 after X iterations.
|
Re: successive increase in timestep
Thanks John, Could you give an example of this expression. lets say I want to increase the timestep from 0.005 to 0.05 after 20timesteps or 20 iterations. what would be the expression of the step function??? thanks
|
Re: successive increase in timestep
actually I am trying to speeds up the simulation time by increasing the timestep. Any suggestion towards this goal.?
|
Re: successive increase in timestep
Hello If you want to use 0.005 and after 20 timesteps use directly 0.05, you have to make expression like dt=0.005[s]*step((0.1[s]-t)/1[s])+0.05[s]*step((t-0.1[s])/1[s]). Hope it's help Best regards
|
Re: successive increase in timestep
You could try using an expression such as
step(20-citern)*((citern-1)*0.0025+0.005) + step(citern-20)*0.05 What this does is at iteration 1 your timestep is 0.005 and it will increment it every iteration until iteration 20 to be 0.05. Generally, though, if you're having overflow errors with your timestep it could be the timestep you're choosing is too large. I typically like to use about 1/3 of the advection time for my timestep. |
Re: successive increase in timestep
Thanks Jhon, To change the time step through SolverManager . What is the process. Should I click 'Edit Definition File' and save it. or something else needs to be done? Thanks again.
|
Re: successive increase in timestep
You can click on "Edit Run in Progress" and change the time step to the desired value.
|
Re: successive increase in timestep
An easier way is to create a 1-D interpolation function using the CFX "User Functions" in Pre. There are two variables that relate to the iteration number: "aitern" and "citern", which are the absolute and current iteration numbers respectively.
For your funtion, set the following coordinates: 1, .005 [s] 20, .005 [s] 30, .05 [s] This will give you a constant value of .005 [s] for iterations 1 though 20, then linearly increase the value to .05 [s] between 20 and 30. Also, check the extend min and max buttons. This will tell the solver to use the last value for all iterations above 30. To create a user function, just right click on the User Function folder in Pre and insert a new function. The GUI is pretty straighforward and will produce the following CCL: LIBRARY: CEL: FUNCTION: variable timestep Argument Units = [] Option = Interpolation Profile Function = Off Result Units = [s] INTERPOLATION DATA: Data Pairs = 1,0.005,20,0.005,30,0.05 Extend Max = On Extend Min = On Option = One Dimensional END END END END To use the function, enter "variable timestep(aitern)" for your timestep. -CycLone |
Re: successive increase in timestep
Hi,
Start with a small timestep for a few iterations until the solution starts monotonically converging. Then increase the timestep size using "edit run in progress" in steps, 10x per step is a good start. After a period of monotonic convergence you should be able to increase the timestep to many times bigger than you started with (often 1000x or more). Glenn Horrocks |
Re: successive increase in timestep
Hi again. I am confused about iteration and timestep. if i say 20th iteration then is it mean 20th timestep. if not. then could you explain bit more.
|
All times are GMT -4. The time now is 21:28. |