|
[Sponsors] |
August 8, 2011, 13:45 |
implicit div(k*grad(a*u))
|
#1 |
New Member
Join Date: Aug 2011
Posts: 6
Rep Power: 14 |
Hello,
I have asked in "Running / Solving / CFD (http://www.cfd-online.com/Forums/ope...-k-grad-u.html)" before, but now this seems to be a programming question. How can I treat implicitly? - scalar field (known diffusivity) - scalar field (known mass fraction) - scalar field (unknown) fvm::laplacian(k,alpha*u) generates a compiler error. I think a possible solution is to right-multiply the fvMatrix fvm::laplacian(k,u) with a diagonal matrix made up of the values of on it's diagonal. But how do I write this in C++? Thank you Gunnar |
|
August 9, 2011, 14:22 |
|
#2 |
New Member
Join Date: Aug 2011
Posts: 6
Rep Power: 14 |
Is it really not possible to build a diagonal matrix?
Another possibility can be first to construct fvMatrix M=fvm::laplacian(k,u) In the next step I would have to multiply each row i of the matrix M with alpha[i]. However I don't understand the storage format of fvMatrix. May I ask if somebody would share a few lines of code, how to multiply one row of a fvMatrix with a scalar value? Thank you Gunnar |
|
August 11, 2011, 16:40 |
|
#3 |
New Member
Join Date: Aug 2011
Posts: 6
Rep Power: 14 |
||
August 12, 2011, 08:52 |
|
#4 |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
Can you use the chain rule to seperate alpha and u?
|
|
August 12, 2011, 11:41 |
|
#5 |
New Member
Jakob H.
Join Date: Aug 2011
Posts: 1
Rep Power: 0 |
Hi Gunnar!
You can use this function: Code:
namespace Foam{ namespace fvm{ template<class Type, class GType> tmp<fvMatrix<Type> > laplacian ( const GeometricField<GType, fvPatchField, volMesh>& gamma, GeometricField<Type, fvPatchField, volMesh>& vf, GeometricField<Type, fvPatchField, volMesh>& alpha ) { tmp<fvMatrix<Type> > Laplacian=fvm::laplacian(gamma,vf); Laplacian()*=alpha; return Laplacian; } } } Jakob |
|
August 21, 2011, 14:57 |
|
#6 |
Senior Member
Mieszko Młody
Join Date: Mar 2009
Location: POLAND, USA
Posts: 145
Rep Power: 17 |
Hi Jakob,
I read your post and it seems that you can know the answer for my question with laplacian operator. If you dont mind please read my post at: http://www.cfd-online.com/Forums/ope...n-problem.html |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
ddt explicit or implicit with courant number!! | mrshb4 | OpenFOAM | 0 | December 13, 2010 11:13 |
Help. implicit discritization | dearboy | Main CFD Forum | 0 | November 25, 2010 21:46 |
Can anyone explain the difference between these implicit concepts? | bearcat | Main CFD Forum | 0 | February 20, 2010 18:39 |
how implicit is implicit? | Joe cool | Main CFD Forum | 7 | July 16, 2004 11:10 |
UDF : Chemical Reaction in Catalytic Converter | adhimac | FLUENT | 1 | March 27, 2001 14:04 |