Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. dependency graph,inheritance diagram和collaboration diagram的区别与代码实现?

dependency graph,inheritance diagram和collaboration diagram的区别与代码实现?

已定时 已固定 已锁定 已移动 OpenFOAM
2 帖子 1 发布者 1.5k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    JqBu
    写于 最后由 编辑
    #1

    最近在看拉格朗日粒子库的一些代码,这里调用了很多模板类,但之间的关系分不太好。我发现同样是类的继承关系,openfoam官方却在用不同的diagram表示他们之间的关系,举个例子说明:

    对于immiscibleIncompressibleThreePhaseMixture这个类来说,他继承了incompressibleThreePhaseMixture和threePhaseInterfaceProperties两个类,代码如下:

    class immiscibleIncompressibleThreePhaseMixture
    :
    public incompressibleThreePhaseMixture,
    public threePhaseInterfaceProperties

    在openfoam官方是用dependency graph来表示它们之间的关系的,如图:
    2e100004-1e8c-4dd6-9aac-fe8f77e05282-1640142326(1).jpg

    而在拉格朗日库中,同样是类的继承关系,是用inheritance diagram和collaboration diagram表示的,对应代码如下:

    template<class CloudType>
    class ParticleForceList
    :
    public PtrList<ParticleForce<CloudType>>

    2d17c9a8-98d4-4382-90bc-df98afa75e09-1640142962.png

    332f8139-9456-4634-a2a2-d7faff9fbeae-1640143390(1).jpg

    在这里有三个疑问:
    1.dependency graph, inheritance diagram和collaoration diagram具体有什么区别?
    2.上面inheritance diagram图的右边的橙色虚线箭头表达的是什么关系?
    3.上面inheritance diagram图的右边ParticleForceList<KinematicCloudFoam::DSMCCloud>和ParticleForceList<KinematicCloud<Cloud<basicKinematicCollidParcel>>>具体是怎么实现的?我在整个src库中都没有检索到相关的代码

    如果有大神答疑 不胜感激!!!期待和大家的交流!!!

    1 条回复 最后回复
  • J 离线
    J 离线
    JqBu
    写于 最后由 编辑
    #2

    现在搞明白了各种diagram里方框的颜色、线条颜色、虚实代表的含义,详见:https://www.openfoam.com/documentation/guides/latest/api/graph_legend.html

    箭头相关:
    深蓝色箭头用于显示两个类之间的公共继承关系。
    深绿色箭头用于受保护的继承。
    暗红色箭头用于私有继承。
    如果一个类包含或被另一个类使用,则使用紫色虚线箭头。箭头被标记为可访问指向类或结构的变量。
    黄色虚线箭头表示模板实例和实例化它的模板类之间的关系。箭头被标记为实例的模板参数。

    方框相关:
    填充的灰框表示生成图的结构或类。
    带有黑色边框的方框表示文档化的结构或类。
    带有灰色边框的方框表示未文档化的结构体或类。
    带有红色边框的方框表示没有显示所有继承/包含关系的文档化结构或类。如果图形不符合指定的边界,它将被截断。

    d766de53-abdd-4f12-a732-27219ca01c20-1640161125(1).png

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]