MARC2015安装及开发环境配置

MARCFORWIN

最近重新启动了课题,因此需要用到有限元了。思来想去还是将MSC.MARC安装上,在Google搜索了一下,发现MARC已经有2015版本了,本着不断折腾给的原则,将MARC2015安装一下,并将开发环境配置好。

1.配置清单

  • MARC2015包括文档
  • IVF2013
  • VS2012

其实对于具体的开发环境,需要根据版本手册中的描述进行安装。如果采用OOP开发子程序则需要高级的版本的IVF,而采用低版本的IVF可能存在找不到入口的情况。

在MARC2015中,具体的版本信息就是在Release Guide的52页:

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

这个表格根据不同的版本可能存在于不同的位置,不同的版本的开发环境的安装都要先找到这个表格。

2.安装过程

MARC安装过程较为简单,基本是傻瓜式的安装,只要熟悉FLEXnet license管理工具的基本可以很快的安装完MARC。安装完成之后可以打开运行一下demo。但是一个惊人的现象就是,打开的界面竟然是中文的。

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

大致看了一下,翻译的水平只能算是一般,因为在进行几何建模操作的Add指令竟然翻译为相加,当时看了半天也没看懂相加是用来做啥的。另一方面就是MARC完善的帮助文档全部是英文的,而且很多手把手教学的例子也都是英文的,因此有必要将界面弄成英文的。打开mentat文件夹,找到lang文件夹下的mentat_zh_CN.qm,可以删除也可以重命名,比如mentat_zh_CN1.qm,重启MARC就可以让MARC回到英文的界面了。

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

这样接下来就可以安装VS2012和IVF2013。但是需要注意VS2012可以安装到任意位置,IVF2013却不可以。我自己将VS2012安装到D盘用以节省点空间,然后安装完VS2012之后才能安装IVF2013,切记别弄反了。IVF2013的安装路径是不能更改的,否则使用ifort命令进行编译的时候只能在相应的ifort.exe文件夹下,其他地方即便是更改了系统环境的PATH, ifort的参数调用还是存在问题的,最简单的就是下面的命令会出现找不到文件的情况:

为了保证没有问题,将IVF2013安装到默认文件夹下是最理想的选择。

安装完成之后就已经完成了所有的安装操作。

3.环境变量

为了使得MARC在编译和链接子程序的过程中能够顺利调用IVF2013,我们需要对系统的环境变量和库进行设置。打开Windows的环境变量设置对话框,找到系统变量的PATH:

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

打开PATH,增加下面的路径:

其中第一个是调用了IVF2013的ifort编译命令,第二个是用于进行链接的LINK命令,这两个程序负责将子程序生成exe。但是还需要一些库文件进行帮助。

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

找到上图中的LIB环境变量,如果没有则要新建一个, 然后增加下面的环境变量:

上面所有的D盘的路径需要根据VS2012的具体安装路径进行更改。

4.子程序测试

拷贝e2x26.dat和u2x26.f文件到测试目录下,打开MARC设置当前目录为测试目录,然后读取dat文件,点击run,设定子程序为u2x26.f:

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

由于模型简单,因此很快可以得到3004的退出码表明计算完成,打开模型的log文件可以看到下面两条巨大的命令:

MARC2015安装及开发环境配置

MARC2015安装及开发环境配置

开发环境配置的所有操作都是为了实现上面的两条命令个,将其中的每一条命令复制到CMD窗口中应该是可以执行的,第一条命令生成一个obj文件,第二个命令会生成一个exe文件,而MARC则会调用这个exe进行计算。

5.End小结

虽然上面的操作很简单,但是知道是这些文件,以及找到这些文件的具体位置却是比较费时的,几个简单的操作花了一下午的时间来完成,期间还讲IVF2013卸载过一次。当然在开发环境安装之前进行的折腾则更多,先将之前依赖于VS2015的QT卸载了,然后卸载了VS2015,从新安装了VS2012,然后安装了IVF2013。直到配置成功之后,又从新将QT安装上,这次安装的QT是MinGW的编译器了,再也不用VS的编译器了,连CDB调试器还要自己安装。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Are you human? Click the Grapes...