作者:一个醒不来的梦zyc | 来源:互联网 | 2017-11-15 23:32
不是很喜欢FoamX的界面,而且还是习惯直接去编辑输入文件,所以在自己的机器上也没有配置FoamX。试了一下,的确有错误,或许以后可以在需要的时候配置一下。记得以前在配置FoamX的过程中也遇到过一些问题,主要是有些库文件无法识别(记得当初的做法是做了链接使目标文件转向已有的库),刚才正好发现一篇文章对这个问题有所介绍,转部分文字过来:
foamInstallationTest通过!应该可以输入FoamX进界面爽一下了吧!我在半个月不断的被各种问题之前确实是这么想的,现在回想起来好多问题还是源于对Linux的理解不足,致使走了很多弯路,由于很多问题不能重现,只能简略描述可能遇到的障碍如下:
(1) 找不到libssl.0.9.7.so或者其他的什么库;
这多半是因为你用的Linux新于或者老于OpenFOAM的需求版本导致的,比如Mandriva 2007之后的版本已经整合了libssl.0.9.8,因此FoamX在运行的时候根本不认。如果你的版本不到0.9.7,那还是到Openssl的网站上下一个吧,然后安装,在这里要注意OpenFOAM需求的Share Libary路径在/usr/lib,而Openssl安装到的很有可能是/usr/share/lib,因此,不论是过新还是过老安装了新版本的情况,都应该用ln命令进行连接,使得FoamX能够搜索到需要的库。命令如下:
过新:在/usr/lib中输入 ln libssl.0.9.8.so libssl.0.9.7.so
过旧:在/usr/lib中输入 ln /usr/share/lib/libssl.0.9.7.so libssl.0.9.7.so
另要注意以上操作可能需要以root身份来完成,因此最好新开启一个Root Shell或者采用su命令转换身份运行。
(2) localhost提示;
这个警示貌似时有时无,在我本本的2007上没有提示,但在实验室的机器上就提示当前运行在localhost下,可能会导致问题,然后就卡住不动了,只能按Ctrl+C跳出。好在解决这个问题还比较简单,只要开一个Root Shell或者用什么?e的方法在命令行中运行[~]localhost XXXXX就行了,比如本例中切换到Root用户后,在[root@localhost ~]的提示符下输入localhost coastlab就可以了,提示符就会变为[root@coastlab]。
(3) 形如
Starting NameServer with inet:linux:1234 ...
uncaught MICO exception: IDL:omg.org/CORBA/INITIALIZE:1.0 (0, not-completed)
/home/coastlab/OpenFOAM/OpenFOAM-1.4/bin/runFoamXHB: line 127: 6862 Aborted nsd -ORBIIOPAddr $myIOP --ior $FOAMX_USER_CONFIG/ns.ref
的错误……
这个是最为崩溃、不知所云、无从下手,却又最奇迹般的解决的错误。正如(2)中所能总结出来的一样,OpenFOAM是倾向于类似主机-客户端形式运行的,类似于Ansys的那个什么Server,因此当它无法顺利连接到所指定的Server的时候就会罢工,(2)中的情况所描述的是其避免本地运行的措施。而在这里,当我发现网络畅通的时候错误提示过一会才有、而网络断开时马上就会报错的时候我心里就有底了。在OpenFOAM Message Board一搜,果然有很多类似的问题和解决方案,但其中最适合我的看来就是更改/etc/hosts的设置了,打开这个文件一看,只有127.0.0.1 localhost一行,而我们所要做的就是加上一行127.0.0.1 coastlab或者选用你的对外IP,如192.168.0.5 coastlab就可以了。
在这一切完成之后,如果不出意外的话,理论上你应该就可以见到User Guide中画的那个FoamX主窗口了,走出这万里长征第一步,等待的可能是更多更繁杂的问题,但当千里之行已经始于足下的时候,你还会担心看不到前方的曙光吗?(原作者:openfoam)