About usage of fvm::laplacian
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? |
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 ? |
Quote:
|
Depends on what you are trying to obtain.
|
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? |
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:
|
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. |
All times are GMT -4. The time now is 02:03. |