找回密码
 注册
Simdroid-非首页
查看: 234|回复: 3

[09.流固耦合] 流固求解问题

[复制链接]
发表于 2009-12-2 09:43:21 | 显示全部楼层 |阅读模式 来自 甘肃兰州
流固耦合时出现 Failed to find consistent initial values.
    Out_of_memory_during_assembly怎么解决?谢谢
发表于 2009-12-2 16:44:29 | 显示全部楼层 来自 北京
Simdroid开发平台
以下转自 http://www.cntech.com.cn/faq/comsol/2009/1246607387d3728.html
如何处理COMSOL中Error message: "Out of memory"?


32位平台因为内存地址空间的限制,经常出现"Out of memory"的错误信息,因此,推荐使用64位系统(例如Windows XP 64-bit Edition, Vista 64-bit或者64-bit Linux)分析各种模型。对于那些希望继续使用32位系统的用户,本文也许会有帮助。

简介
32位操作系统(例如Windows XP)理论上可以管理4GB的内存,但是大部分情况是,不管你设置多大的交换空间,它仅仅能有效调用1.5GB容量。一些操作系统要求特殊的设置才能调用更多的内存。

软件设置
以下是几种增加求解器内存调用能力的方法:

修改Java栈大小
Java栈通常将部分可用内存(包括物理内存和虚拟内存)保留用于后处理绘图,其余的内存用于网格剖分和求解。如果“内存不足”的对话框出现在求解过程中,你可以尝试减少Java栈的大小。如果出现在后处理过程中,可增加Java栈。

Windows平台,修改COMSOL34/bin/comsol.opts文件,Sun/Linux/Mac OSX平台,修改COMSOL34/bin/comsol文件。将MAXHEAP=256m行修改为诸如MAXHEAP=128m,需要重启COMSOL才能使设置生效。

运行客户机-服务器模式
通常,单独服务器的内存碎片较少,所以运行客户/服务器模式可以获得更好的效果。如果你希望修改COMSOL服务器的Java栈大小,修改上述的文件中MAXHEAPSERVER行。

运行COMSOL with MATLAB
同样的,在COMSOL with MATLAB运行模式下保持mph文件时出现内存不足的情况,修改MAXHEAPSERVER行。

32位架构的虚拟内存和的交换分区
使用硬盘交换技术时,系统交换分区文件增大,并使得操作明显变得迟钝。大部分情况下,不推荐使用硬盘交换技术。Windows XP中,系统初始化2GB的虚拟内存空间供用户使用,这些存储空间还会被其它共享库同时使用以致出现碎片。在Linux, Sun, 和Mac中,你往往可以获得3-4GB的虚拟内存空间,而且不会出现碎片。

3GB开关
在Windows XP Professional和Windows 2003 Server中,COMSOL Multiphysics可以将操作系统支配的内存缩减为1GB,从而支持3GB的虚拟内存供软件使用。你需要使用额外启动参数来启动系统,下面修改boot.ini文件的步骤,可以获得3GB虚拟内存的调用:

警告:不要直接拷贝下面boot.ini文件全部的内容,因为每个系统的参数都是不一样的,涉及到/3GB的内容使用黑体字标注。如果你修改分区盘符,系统将无法启动,唯有重装系统。

在Windows XP Professional中右键点击我的电脑,选择高级标签,在下边的启动和恢复中点击设置,在弹出的对话框中点击编辑。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="????" /3GB

上面的"????"是你的操作系统名,例如"Microsoft Windows XP Professional"。

有些用户报告说32位的Vista操作系统可以支持3GB的设置,对此我们并没有测试过。通过如下操作进行设置:使用管理员身份运行命令行,输入命令bcdedit /set IncreaseUserVa 3072,通过命令bcdedit /deletevalue IncreaseUserVa关掉3GB开关。

32位系统下监视内存
通常,3D文档需要极大的内存开销,COMSOL Multiphysics尝试分配大内存空间时,32位系统常常出现内存不足的问题。因为内存块有时并不是连续的,当你使用任务管理器查看内存使用情况时,看到内存使用量并不高,但是总是出现内存不足的情况。
Windows任务管理器的内存使用情况,常常会误导人,因为它显示的仅仅是当前一部分的交换量。下面是一种更有效的查看内存总使用量的方法(Win2000, WinNT, Win XP, Windows Vista):



1.使用Ctrl-Alt-Delete组合键打开任务管理器。

2.选择"进程"标签。

3.在查看菜单下选择选择列

4.勾上虚拟内存大小(Windows Vista: "Commit Size")。

5.在“process”中找到comsol.exe,"VM Size"显示COMSOL Multiphysics内存使用量。

请参考知识库《COMSOL Multiphysics推荐采用什么硬件平台》查找硬件要求信息,知识库《解决内存不足问题》查找内存管理信息。
回复 不支持

使用道具 举报

发表于 2009-12-2 16:46:11 | 显示全部楼层 来自 北京
我个人经验,转到linux平台!
回复 不支持

使用道具 举报

发表于 2010-1-3 16:01:21 | 显示全部楼层 来自 吉林大学
用64位机器吧
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-23 22:41 , Processed in 0.039812 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表