
[Sponsors] 
April 23, 2012, 04:13 
Equation question

#1 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,100
Blog Entries: 6
Rep Power: 19 
Hi all,
I am using OF for two years now and wanna get deeper into the code and wanna make a new solver using an old one and transform the steady equations into the time dependent equations. Okay my problem for now is, that I am not sure if I interpret the *Eqn.H files correct. I read a few threats here in the forum which helped me a lot but now I need your help. I added an attachment with my problem. There you can see my solving equations. I just wanna have a look at the differential equations but I think that I transformed them not right, or? Further more I do not know what "Sp" means. Thx in advance. Regards Tobi 

April 23, 2012, 08:17 

#2 
Senior Member
Anton Kidess
Join Date: May 2009
Location: Delft, Netherlands
Posts: 919
Rep Power: 17 
fvm::Sp denotes an implicit source term. You can ignore it when translating code into equations, it's purely related to numerics.
__________________
*On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer. *Help define the OpenFOAM stackexchange Q&A site: http://area51.stackexchange.com/prop...oamtechnology 

April 23, 2012, 09:32 

#3 
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 20 
suppose you want to solve this equation
dU/dt = A + BU implemented like fvm:ddt(U) == A + B*U using euler scheme, this results in U^n  U^{n1} = dt*A + dt*B*U^{n1} => U^n = dt*A + (dt*B + 1)*U_{n1} implemented like this fvm::ddt(U) == A + fvm::Sp(B, U) this results in U^n  U^{n1} = dt*A + dt*B*U^n => (1  dt*B)*U^n = dt*A + U^{n1} so the first implementation is explicit treatment of the B*U term, while the other is implicit treatment. Hope this makes it clearer This also makes it possible to do some 'cheating' of large explicit sourceterms by linearizing them again... dU/dt = A + B*U = A*1 + B*U + A*(U/U) + B*U which can be implemented like fvm::ddt(U) = fvm:Sp(A/U, U) + B*U which in turn is treated numerically like U^{n}  U ^{n1} = dt*(A*U^n / U^{n1} + B*U^{n1}) so you see now that A is no longer multiplied by 1, but by something else, which for the converged solution hopefully is 1 and have a stabilizing effect on the solver. 

April 24, 2012, 04:24 

#4 
Senior Member
Tobias Holzmann
Join Date: Oct 2010
Location: Leoben (Austria)
Posts: 1,100
Blog Entries: 6
Rep Power: 19 
Hi nicklas,
thanks for your good explanation! I used your statement and generated a file (attachment). can you have a look at the file? I am interessted in the last line I added. Thats my understanding of your post. The second file is a transformation from openfoam equation code into scalar equation. Is that correct? Its a while ago that I used grad, div and laplacian. thx in advance tobi 

Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Calculation of the Governing Equations  Mihail  CFX  7  September 7, 2014 06:27 
momentum equation question  mauz  Main CFD Forum  0  March 26, 2010 12:34 
continuity equation  Rafal  Main CFD Forum  4  November 29, 2006 10:27 
TwoPhase Buoyant Flow Issue  Miguel Baritto  CFX  4  August 31, 2006 12:02 
continuity equation for the mixture  mateus  Main CFD Forum  0  May 2, 2003 03:59 