|April 3, 2012, 01:14||
G. D. McBain
Join Date: Apr 2010
Posts: 3Rep Power: 7
This is quite a good idea; I believe artificial compressibility may even have originally been developed as a false-transient method of enforcing incompressibility (though I don't have access to Chorin's paper at the moment).
While it might be possible to adapt and re-use the infrastructure of class ddt as commonly used in the transient solvers distributed with OpenFOAM, such as laplacianFOAM, that wouldn't be necessary in this case. Instead, I presume one would really only contemplate using backward-Euler integration for the false transient, so all that would be required is to set up two lots of variables for the unknowns, e.g. add pold for the pressure, defined just like your original pressure variable. Then formulate the backward-Euler step equation for your pseudo-time, and each pseudo-timestep, solve these for the new unknowns in terms of the old and then copy the new to the old, repeating till converged within a tolerance (or whatever). Implement this as a standard C++ while-loop, inside the real time-stepping loop. (Again, there are facilities in the OpenFOAM library to support iteration, but it's by no means necessary to use them if you haven't learned them, as nothing too complicated is required here.)
Hope this helps.
|Thread||Thread Starter||Forum||Replies||Last Post|
|BlockMesh FOAM warning||gaottino||OpenFOAM Native Meshers: blockMesh||7||July 19, 2010 14:11|
|Import problem||ARC||Open Source Meshers: Gmsh, Netgen, CGNS, ...||0||February 27, 2010 11:56|
|Problem installing on Ubuntu 9.10 -> 'Cannot open : No such file or directory'||mfiandor||OpenFOAM Installation||2||January 25, 2010 10:50|
|Axisymmetrical mesh||Rasmus Gjesing (Gjesing)||OpenFOAM Native Meshers: blockMesh||10||April 2, 2007 14:00|
|Import gmsh msh to Foam||adorean||Open Source Meshers: Gmsh, Netgen, CGNS, ...||24||April 27, 2005 08:19|