CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Template in advective (and mixed) BC (https://www.cfd-online.com/Forums/openfoam-programming-development/78634-template-advective-mixed-bc.html)

 Pascal_doran July 28, 2010 12:33

Template in advective (and mixed) BC

Hi all,

I'm trying to understand advective BC (derived from mixed BC). More precisely I would like to understand why refGrad is alway equal to 0 ?? Since this BC solves D(psi)/Dt = 0 I was expected to observe such equation in the source code, but it seems that this BC is implemented only with a combination of Newman an Dirichlet condition.

More, I'm still a little bit confused about knowing which template are used or not (in mixed BC). Are those templates always used/called (from somewhere I don't know: help would be appreciate on this point to)? How can I know? I'm not able to use the full potential of the Doxygen documentation yet... (I'm still learning it :) )

BTW when I look for information on Doxygen about :
virtual tmp< fvPatchField< Type > > clone () const
it tells me that "Construct and return a clone." Is it possible to have further information on that.

Thank you for your time/help

Pascal

 astein July 29, 2010 03:09

Hi Pascal!
http://www.cfd-online.com/Forums/ope...-mixed-bc.html

The constructor you mention is a standard constructor available in all BCs. I'd say, for your plans you can just ignore it...

-Andreas.

 Fransje February 3, 2012 18:34

Quote:
 Originally Posted by Pascal_doran (Post 269186) Hi all, I'm trying to understand advective BC (derived from mixed BC). More precisely I would like to understand why refGrad is alway equal to 0 ?? Since this BC solves D(psi)/Dt = 0 I was expected to observe such equation in the source code, but it seems that this BC is implemented only with a combination of Newman an Dirichlet condition. More, I'm still a little bit confused about knowing which template are used or not (in mixed BC). Are those templates always used/called (from somewhere I don't know: help would be appreciate on this point to)? How can I know? I'm not able to use the full potential of the Doxygen documentation yet... (I'm still learning it :) ) BTW when I look for information on Doxygen about : virtual tmp< fvPatchField< Type > > clone () const it tells me that "Construct and return a clone." Is it possible to have further information on that. Thank you for your time/help Pascal
A bit late, but just in case somebody might be looking for some extra information related to the Doxygen question..

The keyword virtual is used in C++ to specify to the compiler that the function under consideration will be matched dynamically at runtime.
This basically means that the compiler should expect the implementation of that function to be made in a child of the current class. And by using the virtual keyword, you can ensure that the compiler will call the redefined virtual function in the derived class, even if you call the function by using a pointer to the base class.

Yes.. C++ can be a difficult beast to tame.. :cool:

 All times are GMT -4. The time now is 17:22.