
[Sponsors] 
October 5, 2002, 01:19 
Q: Numerical Treatment on Crossderivatives ?

#1 
Guest
Posts: n/a

Hi, friends:
I got a question on crossderivative treatment for a 2D horziontal weakly nonlinear shallow water equation model. Basically the equation being: Continuity: eta_t + h*u_x + h*v_y=0 (*) where eta is the ocean surface elevation, h is water depth. Xmomentum: u_t +u_xxt+v_yxt+u_yxt+v_yyt = f(x,y,t) Ymomentum: v_t +v_yyt+u_xyt+v_xyt+v_xxt = g(x,y,t) I'm using a predictor corrector scheme to solve them. When solve the x momentum equation, all the cross derivative terms and v stuff are moved to rhs: u_t+u_xxt= f(x,y,t)v_yxtv_yytu_yxt =F(x,y,t) and define u+u_xx=U, so the upper equation becomes U_t =F (**) Similarly,when solve the y momentum equation, all the derivative terms and u starff are moved to rhs: v_t+v_yyt =g(x,y,t)u_xytu_xxtv_xyt =G(x,y,t) i.e. U_t=(u+u_xx)_t =G(x,y,t) (***) Finit Difference Method is used. Firstly 3 time levels of F(x,y,t) are calcualted, to predict U at n+1 level, and then solve U=u+u_xx by tridiagonal method to get u(x,y,t) Then 3 time levels of G(x,y,t) are calcualted to predict V at n+1 level and then solve for v(x,y,t). The precedure is iterated since source f,g are nonlinear. The code works pretty well, except one thing: the biggest iteration error comes out from the crossderivative term v_yxt in xmomentum eqn and u_xyt in ymomentum equation. It take much more iteration steps when these terms are at present. It's a 2D code. I'm runing it for a 1D test case, basically v~=0, but in the code, I cann't make v exactly zero when solve ymomentum equation because of numerical rounding, so I get v_xyt very small but not zero and this feeds back to xmomentum equation. That is the cross derivative term transfers error back and forth between the x and y equation. I wonder if my treatment of them is okay or not. Is there a better way? I'm getting mad on it ... Thanks, if you point me an idea, I'm gonna buy pizza for you! 

October 5, 2002, 01:21 
Re: Q: Numerical Treatment on Crossderivatives ?

#2 
Guest
Posts: n/a

Oops, one typo in equation (***) should be:
V_t=(v+v_yy)_t=G(x,y,t) (***) wen 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Numerical Weather Modelling : Time and space resolution issues  chriswatt  Main CFD Forum  0  February 15, 2011 22:32 
Numerical calculation of fractional derivatives  Hamid Karani  Main CFD Forum  1  September 30, 2008 05:51 
numerical stability due to cross derivatives  wen long  Main CFD Forum  2  September 12, 2005 02:10 
numerical scheme  ado  Main CFD Forum  3  October 12, 2000 08:20 
New Books and Numerical Software  Eleuterio TORO  Main CFD Forum  0  December 18, 1998 13:41 