阅读openfoam框图

时间:2023-02-20 20:04:54

看完of的帮助文档,会非常怀念fluent的帮助文档或是matlab的帮助文档
比如我要解决一个matlab问题,基本上看帮助文档一分钟就知道我要如何取用我想要的东西,of帮助文档不光做不到,还给你炫技
阅读openfoam框图

真的,这东西谁看谁不懵啊


这些框图怎么来的呢,是doxygen自动生成的,
那doxygen是怎样生成的呢?

以下面作为例子说下怎样生成的这个框图呢

点击查看代码
/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented,
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};

根据关键字识别生成的框图如下所示:
阅读openfoam框图


其中灰色底的方框是inherited,是派生类

其中黑边方框是有文字备案的结构体或者类

其中灰色边框是没有文字备案的结构体或类(很少的)

红色边框的是因页面大小未能完全展示的结构体或类


深蓝色箭头为public继承

深绿色箭头为protected继承

红色箭头为private继承

紫色虚线箭头意思是这个类在其他地方也有被利用

黄色虚线箭头意思是模板类之间有关系


好,自此已经非常明确了,磨刀过程完成,那么接下来就是事半功倍
这时of扔给我们一张图,就可以一眼看穿出其中的逻辑关系


咱们以fvMesh为例,
阅读openfoam框图
全是深蓝色箭头哈,那非常明确,全是公有制继承
其中灰色框是fvMesh,那他就是派生类的主体
当然也有其他类是他的公有派生类,右侧七个类不一一赘述
我们也能看到fvMesh继承的类中polyMesh是红色,为什么不是黑色呢,
很简单,有关他的类继承关系太复杂写不下了,干脆截断不写了


我们再回到最开始的框图,fvMesh内有关查询网格中心位置的函数C()
其实这个框图并没有说什么,主要说的是哪些函数或类用到这个中心位置查询函数了,具体还是要看源码

那咋整,能不能用
能用
告诉你去那些用的地方看看怎么用
,去抄一下,
但就是不直接了当告诉你怎么实现,
,,,


以上如有问题,请联系我进行更正,谢谢
后续还会继续更新