阅读openfoam框图
看完of的帮助文档,会非常怀念fluent的帮助文档或是matlab的帮助文档
比如我要解决一个matlab问题,基本上看帮助文档一分钟就知道我要如何取用我想要的东西,of帮助文档不光做不到,还给你炫技
真的,这东西谁看谁不懵啊
这些框图怎么来的呢,是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;
};
根据关键字识别生成的框图如下所示:
其中灰色底的方框是inherited,是派生类
其中黑边方框是有文字备案的结构体或者类
其中灰色边框是没有文字备案的结构体或类(很少的)
红色边框的是因页面大小未能完全展示的结构体或类
深蓝色箭头为public继承
深绿色箭头为protected继承
红色箭头为private继承
紫色虚线箭头意思是这个类在其他地方也有被利用
黄色虚线箭头意思是模板类之间有关系
好,自此已经非常明确了,磨刀过程完成,那么接下来就是事半功倍
这时of扔给我们一张图,就可以一眼看穿出其中的逻辑关系
咱们以fvMesh为例,
全是深蓝色箭头哈,那非常明确,全是公有制继承
其中灰色框是fvMesh,那他就是派生类的主体
当然也有其他类是他的公有派生类,右侧七个类不一一赘述
我们也能看到fvMesh继承的类中polyMesh是红色,为什么不是黑色呢,
很简单,有关他的类继承关系太复杂写不下了,干脆截断不写了
我们再回到最开始的框图,fvMesh内有关查询网格中心位置的函数C()
其实这个框图并没有说什么,主要说的是哪些函数或类用到这个中心位置查询函数了,具体还是要看源码
那咋整,能不能用
能用
告诉你去那些用的地方看看怎么用
,去抄一下,
但就是不直接了当告诉你怎么实现,
,,,
确实不讨好任何人
把案例写在源文件里是openfoam唯一的温柔
以上如有问题,请联系我进行更正,谢谢
后续还会继续更新