
[Sponsors] 
July 9, 2015, 15:17 
Weird time step initialization behavior  Wave generation model

#1 
New Member
Liad Paskin
Join Date: Jul 2015
Posts: 2
Rep Power: 0 
Hello,
My name is Liad. Iīm a naval architecture and marine engineering student, and a CFD researcher from Brazil. Right now, we are developing a finite element software for solving Navier Stokes equations. I had a problem trying to develop a wave making model, and so I’ve modeled the same problem in CFX to compare the results. Thatīs when I found a very strange behavior from CFX v14. The geometry consists of a rectangular area (1 m x 4 m), which is entirely filled with a homogeneous fluid. Since this should be a twodimensional simulation, the rectangle was extruded for the size of an element and symmetry boundary conditions were imposed on those faces. There is no free surface model in this simulation; the free surface is obtained imposing null static pressure on the top edge. The wave should be sufficiently small to match the Airy`s wave simplifications, one of which states that the free surface is undisturbed. So, on the inlet we impose the theoryīs velocities profile, i.e.: Vx = ζ w * cosh[k(z+d)] * cos(wtkx) / sinh(kd) Vz = ζ w * sinh[k(z+d)] * sin(wtkx) / sinh(kd) On the bottom is imposed a noslip, nopenetration boundary condition and on the outlet a freeslip, nopenetration boundary condition. The strange behavior observed is related to the “time initialization” option on the “transient scheme: Second Order Backward Euler” chosen. If “automatic” is picked, extrapolation is used whenever the solver finds convenient and the results are satisfactory: wave propagates as it should for time steps of 10^2 s. If “previous timestep” is picked instead, wave length is highly increased (twice the size of the domain) so it does not propagates as it should, even for a time step of 10^6 s. Since CFX`s documentation says almost nothing about this extrapolation method, I’ve made some research and found an extrapolation method called Richardson Extrapolation that might be used together with the Backward Euler transient scheme as seen in the reference: http://www.cs.elte.hu/~faragois/pape...al_version.pdf. Anyway, I donīt understand how this extrapolation method can converge a simulation that does not converge for MUCH smaller time steps. Does anyone have an idea of whatīs happening here? Thanks a lot for the patience on reading this question. There follows some images and the general settings resume as the "CFX Command Language for Run". Velocities vector solution for “automatic” time step initialization with 10^2 seconds time steps: https://drive.google.com/file/d/0Bw...ew?usp=sharing Velocities vector solution for “previous” time step initialization with 10^6 seconds time steps: https://drive.google.com/file/d/0Bw...ew?usp=sharing Mesh used for both simulations (A mesh sensitivity analysis has already been made, concluding this mesh is fine). https://drive.google.com/file/d/0Bw...ew?usp=sharing CFX Command Language for Run (This if for the “automatic” time step initialization, but the other one is exactly the same, except for the “previous” time step initialization chosen and the timestep size of 10^6): https://drive.google.com/file/d/0Bw...ew?usp=sharing With regards, Liad. 

July 9, 2015, 18:49 

#2 
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,831
Rep Power: 85 
Interesting question, thanks for the detailed post.
A few points: Richardson Extrapolation is used to increase the accuracy of a solution on a finite grid. It has no relevance to the extrapolation scheme used to initialise the solution at a new time step. The extrapolation scheme just sets the initial condition of the variable fields at a new time step. The two options are for it to be extrapolated from the previous time step or just use the previous time step values. But this is just an initial condition and should not affect the final converged results. So I am suspicious you have not adequately converged within each time step  checking your CCL you set a maximum of 1 coeff loop per iteration! Well, that is your problem, you are not converging within a time step adequately. Set the max coeff loops per iteration to a sensible number (10 is common) and then you should see no difference between extrapolation or previous time step  other than one might achieve your convergence critereon faster than the other. 

July 10, 2015, 15:46 

#3 
New Member
Liad Paskin
Join Date: Jul 2015
Posts: 2
Rep Power: 0 
First of all, thanks for the attention.
The number of coeff loops was set to unity because I wanted to approximate the solver capabilities from the one we are developing, that for now uses Picard Iteration method for dealing with Navier Stokes nonlinearity. Being K(u) the nonlinear operator in Navier Stokes, Picard method evaluates the matrix K(u) from the last step solution: K(u_n1). (BATHE et. al.) available on the link: https://drive.google.com/file/d/0Bw...ew?usp=sharing. So, setting coeff loops to unity might work as Picard Iteration Method, donīt it? The thing is that, it might be more difficult to converge a solution by this simplistic method, but it should converge to the real solution as time steps get smaller. In other words: There might be a sufficiently small time step that would converge my solution even if the number of coeff loops is set to unity. Thatīs why i kept reducing time steps from 10^2 to 10^6. Anyway, iīve just tried what you suggested and changed the number of max. coeff. loops to 10. It hasnīt changed any of the conclusions made on the first post (Although i havnīt tried time steps as small as 10^6 for lack of time, iīve reduced it for 10^4). With regards, Liad. 

July 11, 2015, 06:21 

#4  
Super Moderator
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,831
Rep Power: 85 
Quote:
So I think it highly unlikely you are getting anything useful out of the simulation by limiting it to 1 coeff loop. I do not understand your comment that when it runs to convergence each time step the conclusions are the same. If it runs to convergence then the extrapolation or previous time step option should not matter. They should both converge to the same result, but probably with different number of coeff loops to get there. 

Tags 
cfx 14, timestep extrapolation, transient analisys, wave generation 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
InterFoam negative alpha  karasa03  OpenFOAM  7  December 12, 2013 04:41 
dynamic Mesh is faster than MRF????  sharonyue  OpenFOAM Running, Solving & CFD  14  August 26, 2013 07:47 
mixerVesselAMI2D's mass is not balancing  sharonyue  OpenFOAM Running, Solving & CFD  6  June 10, 2013 09:34 
Multiple floating objects  CKH  OpenFOAM  10  September 21, 2011 23:13 
Transient simulation not converging  skabilan  OpenFOAM Running, Solving & CFD  12  September 17, 2007 17:48 