阅读openfoam框图

看完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()
其实这个框图并没有说什么,主要说的是哪些函数或类用到这个中心位置查询函数了,具体还是要看源码

那咋整,能不能用
能用
告诉你去那些用的地方看看怎么用
,去抄一下,
但就是不直接了当告诉你怎么实现,
,,,
确实不讨好任何人
把案例写在源文件里是openfoam唯一的温柔


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

发表评论

相关文章