想问一个关于BasicTurbulenceModel的问题



  • 很多湍流模型里面,比如linearViscousStress.H
    #ifndef linearViscousStress_H
    #define linearViscousStress_H

    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

    namespace Foam
    {

    /---------------------------------------------------------------------------
    Class linearViscousStress Declaration
    *---------------------------------------------------------------------------*/

    template<class BasicTurbulenceModel>//<class BasicTurbulenceModel>?????
    class linearViscousStress
    :
    public BasicTurbulenceModel
    里面都有BasicTurbulenceModel,它应该是一个基类,对吧。但是我找不到相关的源文件。有没有人能够指引一下!!!


  • OpenFOAM教授

    @yuan_neu 这是模板类的模板类型,属于泛型编程,请搜索“C++模板类”。。。



  • @yuan_neu 这种用法是一种设计模式,叫 Ploicy-Based Class Design
    结合了类的继承和模板类的特性。BasicTurbulenceModel 不是一个具体的类名,而是一个模板参数。


Log in to reply