# implicit div(k*grad(a*u))

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 LinkBack Thread Tools Display Modes
 August 8, 2011, 13:45 implicit div(k*grad(a*u)) #1 New Member   Join Date: Aug 2011 Posts: 6 Rep Power: 5 Hello, I have asked in "Running / Solving / CFD (modify laplacian: div(k*grad(a*u)))" 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: 5 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: 5 anybody any idea? or at least a reason, why there cannot be an implicit scheme for Thank you Gunnar

 August 12, 2011, 08:52 #4 Senior Member   David Gaden Join Date: Apr 2009 Location: Winnipeg, Canada Posts: 397 Rep Power: 12 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 tmp > laplacian ( const GeometricField& gamma, GeometricField& vf, GeometricField& alpha ) { tmp > Laplacian=fvm::laplacian(gamma,vf); Laplacian()*=alpha; return Laplacian; } } } In your case: fvm::laplacian(k,u,alpha) Jakob

 August 21, 2011, 14:57 #6 Senior Member   Mieszko Młody Join Date: Mar 2009 Location: POLAND, USA Posts: 129 Rep Power: 8 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: laplacian problem

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post mrshb4 OpenFOAM 0 December 13, 2010 12:13 dearboy Main CFD Forum 0 November 25, 2010 22:46 bearcat Main CFD Forum 0 February 20, 2010 19:39 Joe cool Main CFD Forum 7 July 16, 2004 11:10 adhimac FLUENT 1 March 27, 2001 14:04

All times are GMT -4. The time now is 20:45.

 Contact Us - CFD Online - Top