前阵子不是说要给OpenFOAM整个壳儿么,然后利用空余时间规划了一波。
套壳的目的是为了提高案例准备的工作效率,所以一个设计良好的GUI界面是必不可少的。经过一番规划,我越来越觉得这工作量似乎有点大。不过既然是套壳,那么显然也可以参照商用CFD软件的布局和设计样式。这里将比较典型的CFD软件(Fluent、STAR CCM+、CFX)拿出来简单分析一下。
1 Fluent界面
Fluent的界面在近几个版本改动比较大,最新版本界面如下图所示,其包括几个主要部分:
-
Ribbon功能区。大部分情况下用不到,而且视觉效果也而不太好,这可能是受到Scheme做GUI的限制。Ribbon功能区中的按钮功能都能在模型树中通过右键菜单完成。 -
模型树。这个属于Fluent GUI的核心组件,几乎所有的操作都可以通过模型树节点完成。 -
任务页面板。一些模型树节点所对应的参数设置可以通过任务页完成。但有些节点对应的参数则通过独立的对话框设置。 -
图形窗口。用于显示网格及后处理结果。 -
控制台窗口。主要用于输出软件运行过程中的一些信息。

Fluent的界面比较传统,没有什么激进的设计。在使用的过程中,用户可以通过单击或双击模型树节点,在打开的任务页面板或对话框中设置相应的参数。这种设计谈不上有多好,但似乎也很难找到有什么不好的地方。
个人觉得不好的地方是Ribbon功能区设计。目前Fluent功能区的按钮功能绝大部分是和模型树重叠的,导致按钮过多,找起来不太方便。个人觉得完全没必要把所有的功能都放到Ribbon中,只需要将模型树无法达到的功能放在功能区就好,这样按钮数量少了,界面也会清爽不少。
话说,Fluent的界面是否能统一字体?难道就只有我发现了Fluent在同一个界面上用了很多中字体么?功能区和任务页是一种字体,模型树一种字体,控制台又是另一种字体。图形窗口在显示文本时有是另一种字体,真心是乱七八糟。
2 STAR CCM+界面
STAR CCM+的界面近几个版本也改动了不少,不过总体上还是延续的。其主要界面包括以下几个部分:
-
菜单。传统的下拉式菜单。 -
工具栏。传统工具栏样式,放置了一些常用的操作。 -
模型树。STAR CCM+界面的主要特点是包含有一个深度极大的模型树。 -
属性参数。和模型树配合一起设置参数。 -
图形窗口。显示几何、网格以及计算结果。 -
信息输出窗口。用于显示软件运行过程中的一些输出信息。

STAR CCM+的界面是采用JAVA编写的,总体上来看现代化程度要比Fluent好太多了,起码字体基本上是统一的(信息输出窗口的字体和其他界面字体不一致)。而且STAR CCM+采用的字体是自己设计的,总体上来看比较美观。
STAR CCM+的参数设置完全依赖于模型树结构,不过用户可以通过双击模型树节点,然后在弹出的对话框中集中设置参数。但总体上来说,模型树深度太大,鼠标点击频率会增加,从而降低操作效率。
3 CFX界面
CFX的操作界面几十年没变过了。这里之所以将CFX的界面拉过来,是因为其界面比较典型。其界面结构包括:
-
菜单。传统的下拉式菜单。 -
工具栏。传统的工具栏形式。 -
模型树。用于组织仿真模型结构。 -
图形窗口。显示网格、边界等信息。 -
信息输出窗口。用于输出软件运行过程中的输出信息。
CFX的界面结合了Fluent与STAR CCM+各自界面的优势,其不同于Fluent将模型树与参数面板分离的界面形式,也不同于STAR CCM+那种纯粹模型树打天下的形式,CFX利用模型树组织仿真案例结构,而参数设置面板则通过标签页控件与Outline放在了一起,这样最大的好处是可以最大化图形窗口。

我个人更喜欢CFX的操作界面,如果能将菜单和工具栏合并成ribbon功能区就更完美了。
各位道友,如果让你来选心目中的CFD软件界面,更倾向于借鉴哪款软件的界面?
(完)

本篇文章来源于微信公众号: CFD之道








评论前必须登录!
注册