Register Blogs Members List Search Today's Posts Mark Forums Read

 March 1, 2024, 04:28 About usage of fvm::laplacian #1 Member   Song Young Ik Join Date: Apr 2022 Location: South Korea Posts: 58 Rep Power: 4 I have a bit confusing part about laplacian operator of openfoam, so I am writing the thread to ask some question https://www.openfoam.com/documentati...laplacian.html When we look at this guide, it says fvm::laplacian can be used as not only laplacian operator, but as combination of divergence and gradient. But since they mentioned diffusion coefficient as example, I initially thought it is actually meaningless, since it is meaningless to put constant coefficient before or after the gradient operator and has no difference. However, I was trying to modify some scalartransport code, and I found that they use fvm::laplacian(rho*D(), s_) and rho is definitely non-constant operator. In this case, is it used as div(rho*D*grad(s))or just laplacian(rho*D*s)? Can anybody give exact description of how fvm:: functions are used?

 March 1, 2024, 05:14 #2 Senior Member   Domenico Lahaye Join Date: Dec 2013 Posts: 751 Blog Entries: 1 Rep Power: 17 Not sure. Does it help to write out definition of div( grad s) aka div( D grad s) with D = 1 and div( D grad s) where D is a function of e.g. x and y ? Tobermory likes this.

March 1, 2024, 05:37
#3
Member

Song Young Ik
Join Date: Apr 2022
Location: South Korea
Posts: 58
Rep Power: 4
Quote:
 Originally Posted by dlahaye Not sure. Does it help to write out definition of div( grad s) aka div( D grad s) with D = 1 and div( D grad s) where D is a function of e.g. x and y ?
So, we can put any scalar at location of D, even if it isn't constant by time and space, right?

 March 1, 2024, 05:51 #4 Senior Member   Domenico Lahaye Join Date: Dec 2013 Posts: 751 Blog Entries: 1 Rep Power: 17 Depends on what you are trying to obtain.

 March 1, 2024, 06:06 #5 Member   Song Young Ik Join Date: Apr 2022 Location: South Korea Posts: 58 Rep Power: 4 What does that imply? I know that when used with single variable as input, fvm::laplacian will be used as pure laplacian operator. Are you trying to say about this functionality?

March 1, 2024, 11:07
#6
Senior Member

Join Date: Apr 2020
Location: UK
Posts: 672
Rep Power: 14
fvm::laplacian is defined in fvmLaplacian.C (https://cpp.openfoam.org/v8/fvmLaplacian_8C_source.html) and like many OpenFOAM functions is overloaded, so can be called in many different ways. Regardless, all of them evaluate the quantity
, albeit in a fashion that is suitable for an implicit discretisation. may be a constant or may vary spatially ... it is still a "Laplacian".

Quote:
 Can anybody give exact description of how fvm:: functions are used?
You might need to be more specific with your question here, my friend! In general, we can say that the fvm functions like fvm::laplacian are all implicit discretisations of the relevant functions, fit for a finite volume model.

 March 2, 2024, 03:17 #7 Member   Song Young Ik Join Date: Apr 2022 Location: South Korea Posts: 58 Rep Power: 4 Oh, I got it now! Thanks for the reply I was curious about how they actually work, since I only knew that they do something about solving PDE. Now I found that it involves with fvm namespace implicitly, while fvc does it explicitly. Thanks again. Tobermory likes this.

 Tags divergence, fvm, gradient, laplacian, scalartransport