Hi
I think you can define a new field newfield=alpha*u and use fvc::laplacian(k,new) good luck |
But I need the implicit (fvm::laplacian), not the explicit (fvc::laplacian) term.
If there is no such term, it should be possible to use something like fvm::laplacian(k,u)*diag(alpha) for . diag(alpha) would be a sparse diagonal matrix with the entries of the field alpha on it's diagonal, but I don't think such matrix exists in Openfoam. What do you think, does it make sense to implement it? Thanks Gunnar |
Hi
I do not know:( |
How about a little chain rule? i.e. split into:
Code:
\nabla \cdot ( k \alpha \nabla u ) + \nabla \cdot ( k u \nabla \alpha ) |
Hi
But you loose conservative form. |
First of all the equation appears to be not consistent, the first and last terms are vectorial, meanwhile the second one is scalar.
Regards. |
Hi Gunnar,
If the only think you need is modification of the discretization matrix (by multiplying diag(alpha)), then you can change the matrix itself. See the PISO algorithm from icoFoam: http://openfoamwiki.net/index.php/IcoFoam You can do similar and: 1. discretize alpha 2. UEqn.A() = UEqn.A()*alpha_discretized maybe will work... ZMM |
|
Hi Kai,
Of course, I would proceed using this transformation. Currently I have some issues with laplacian operator in OFoam as well. Could you see my post: http://www.cfd-online.com/Forums/ope...n-problem.html Maybe you will have some suggestions... Thanks ZMM |
All times are GMT -4. The time now is 04:25. |