COMSOL MATLAB JAVA=任你飞
来源公众号:COMSOL仿真交流
COMSOL Multiphysics
引言
编写自己的有限元软件,是很多研究者追求的目标之一,COMSOL Multiphysics独有的开放性设计原则,使得它成为实现这种梦想的不二选择。目前来看,有两种方式来实现,各有优缺点:MATLAB,或者选择Java。
01
MATLAB 开发
COMSOL Multiphysics
MATLAB开发包含两个层面。首先,可以将MATLAB看作一个中间平台,利用MATLAB的数据处理功能,作为COMSOL Multiphysics和其他CAE软件(如,Ansys、Abaqus等)之间的数据转换接口,实现各种不同CAE软件之间的相互耦合。
另一种应用是开发操作界面。在MATLAB中可以通过编写GUI,或者直接调用GUI toolbox的方法来建立一个满足你需求的图形化操作界面,然后就可以作为一个独立的软件包。如果大家有兴趣,在网上可以找到很多业已成熟的软件包,甚至已成为较为独立的商用软件包。
一般的做法是,首先在COMSOL Multiphysics中创建一个类似的模型, 然后另存为M文件。接下来在MATLAB中,用GUIDE创建界面,并保存控制文件。在控制文件(M文件)中,有目的地将模型M文件一段段的代码插入进来。通过这样的操作,就可以实现自定义的图形化操作界面。
使用MATLAB的优点很明显:使用简单、不需要复杂的编程技巧。缺点在于:这种方式必须同时具有COMSOL和MATLAB这两种软件,以及LiveLink的授权,成本相对较高;运行时由于两种软件必须同时启动,而且MATLAB是解释式执行方式,因此计算效率较低。
02
Java 开发
COMSOL Multiphysics
COMSOL Multiphysics提供Java标准的API (应用编程接口)函数,熟练的编程用户,可以利用API编写出界面、运行指令、甚至是尝试修改底层函数等。这是一个创新性功能,通过提供这种功能,可以发挥自己的创造力,构建出自己的软件。
其优点显而易见,我们可以自由地选择喜爱的编程软件,诸如Visual Java、 VC、VB甚至Visual Fortran等,都可以用来试着调用API,构建一个有限元软件。而且可以编译执行,将大大地提高工作效率。缺点在于,需要仔细处理图形化显示部分,以及安装和了解Java。最方便的做法是安装类似Eclipse 等软件的集成环境,通过连接调用COMSOL的库,直接在集成环境中编码、编译和执行。
03
物理模型创建器
COMSOL Multiphysics
大家只要能够把自己的模型推导得到弱解形式的方程,就可以通过定义内置变量、表达式、弱解方程以及边界条件等,创建一个自定义的预置模型。这个模型可以如同其他所有内置模型一样使用。
采用物理模型创建器,可以很方便地创建出自己的应用模式,而且可以直接调用COMSOL Multiphysics的前后处理,以及求解器,使用起来会相当方便。目前存在的缺点就在于,定义一个自己的应用模式,需要我们首先通过数学处理,推导得到弱解方程,这样就使得它的应用受到局限。此外,为了完整地表现出一个应用模式,还需要相当细致地做出全面的定义,特别是边界条件等。
【投稿专栏】
“COMSOL仿真交流”微信公众号自创办以来得到了广大科研工作者和研究生的广泛关注和支持。为更好地服务仿真学习与研究,本公众号现因业务需要长期招聘供稿作者。您可发送简历到likeapoem@163.com,邮件主题请注明“姓名+供稿作者”。
欢迎“光声力热”类相关专业的科研爱好者加入“COMSOL仿真交流”团队。