|October 18, 2010, 05:10||
Implementation issues of fvSchemes / laplacianScheme, in particular gaussLaplacianSch
Join Date: Oct 2010
Posts: 3Rep Power: 6
I am quite new to OpenFOAM and have a few questions concerning the implementation fo fvSchemes like the gaussLaplacianScheme for example.
First how it works in my opinion (please correct me if I am wrong):
- within the controlDict the user specifies what type of fvScheme should be used like Gauss.
- the static function laplacianScheme::New within the abstract base class is invoked in order to create the right laplacian scheme and creates the gaussLaplacianScheme.
- next the function fvmLaplacian is called to do real work. And here I have a couple of questions:
-> 3 files exists: gaussLaplacianScheme.H, gaussLaplacianScheme.C and gaussLaplacianSchemes.C
-> Within the files gaussLaplacianScheme.H, gaussLaplacianScheme.C I see the definition and implementation of the fvmLaplacian method. But this function does not get called! Instead within the file gaussLaplacianSchemes.C macros are used to define (redefine? what happens here???) the same fvmLaplacian method which gets called!!! What is the meaning of the file gaussLaplacianSchemes.C? Why are there macros for redefining/reimplementing the fvmLaplacian function? Why is this necessary? Why the implementation not within the gaussLaplacianScheme.C fvmLaplacian function? What is the clue of this implementation detail and why?
Any help and hints on the implementation of gaussLaplacianScheme and why these "strange" macros within gaussLaplacianSchemes.C are necessary are appreciated!!!!
Thanks in advance,
|fvschemes, gausslaplacianscheme, laplacianscheme|
|Thread||Thread Starter||Forum||Replies||Last Post|
|OpenFOAM fvSchemes: laplacianScheme,||thomek||Main CFD Forum||1||October 18, 2010 05:17|