|
楼主 |
发表于 2005-8-26 09:47
|
显示全部楼层
回复:(visualsun)[转帖]CFX-4 常见问题
CFX-4 CFX编译器<BR><BR>1、不能通过Build产生几何体文件,该检查些什么? <BR>你可能已经产生了表面网格而没有正确地删除掉,在Mesh 菜单选Delete/Element,在Delete Related下锁住 Nodes和Empty Groups。选择所有表面然后按下Apply,产生一个新的表面网格,再试一次VOLMSH。<BR>如果还是不行,检查你的几何体,如果你用的是高级约束,你必须使子面完全覆盖母面。以确保子面与母面的边线相关联,如果你正确地完成关联,可以看到绿色的三角形(实点)和黄色三角形 (实曲线)。在Help菜单,参考约束的Introduction,检查你是否正确建立了约束条件,确保你只在Parent Face数据箱中有母面并且所有的子面在Surfaces Covering Parent数据箱。<BR>检查通用模型精度设置,若你获得有关”collapsing elements”的信息,降低通用模型公差可能会解决问题。选择Preferences/Global。降低公差10或100倍。<BR>如果节点数据中有不均衡的现象,请看下面关于手动平衡它们的建议。<BR><BR>2、定义advanced constraints的基本步骤是什么? <BR>创建一套完全覆盖母面的子表面. 在online Help 中关于Introduction to Constraints in the Build图表中,给出了母面上的子表面的例子。在每个子表面和母面边缘的交叉点,必须创建实点,在Geometry form中应用Associate/Curve/Cure完成之。<BR>第一条曲线应该是子面边线,而第二条曲线为根边线。实线沿着实点生成。当你要在Constraints form 创建Advance Constraints时,首先要选择子面,然后把所有子面放在surface covering parent(覆盖母面的面)数据箱中。除非你用的是Constrain and Equivalence菜单,否则在Analysis form 中,你在Analysis 表中按下Apply时,它们将和simple constraints(初级约束)以同样的方式被执行。<BR>你首先需要划分子表面,接下来是母面和其余的表面,检查Ensure Structured Mesh或 Ensure Consistent Seeding两项是选中的.<BR>联络CFX的技术支持部门可以得到一个工具,利用它可以加速高级约束的创建,这对于复杂的几何体尤其有用。<BR><BR>3、当我用高级约束时,应该把节点放在母面还是子面上?<BR>节点只能放在子面上,不能放在母面上。然后在子面上创建表面网格。接下来再在母面和其余面上创建表面网格。<BR><BR>4、当我应用secession 文件时,我需要设置我的全局模型公差吗?<BR>你需要设置全局模型公差,尤其是你改变网格的密度时,以避免重复节点问题,<BR>你可以从在线帮助或从前一个Build运行中的一个journaral文件中得到正确的PCL。<BR><BR>5、在Build中,如何产生一个2维(2D)和3维(3D)的圆柱形几何体。<BR>如果你想建立一个2D轴对称模型,你应该在Build中建立一个Slab,然后在Analysis 表单中的Solver里选择Slab=Wedge, 照常放入Patches,但你必须在Y平面处放一个对称Patch,如果你在命令文件中用的是CYLINDRICAL COORDINATES (柱坐标系),TWO DIMENSIONS (两维), AXIS INCLUDED (包括轴在内),这将会给你一个极坐标下的网格 (Polorgrid).<BR>对于三维圆柱形模型,你需要的是一个六面的参照体,用等网格来划分几何体,确保几何体的轴在X轴上,然后在Analysis表单里选择(x,r,theta)坐标系。 对于三维极坐标下的网格,按照圆柱来考虑,但以立方体来创建几何体,对于一个简单的180度扇形,可用Create/solid/XYZ在起点(0 0 –Pi/2)至(0 0 +pi)来创建实体。使起点在(0,0,Pi/2)只是为了在Visulise容易看见,这并不重要。<BR>在Y轴下部放一个对称的平面。如果需要创建循环边界,保证你在Apply菜单用[x, y, z]来描写格子,在命令菜单用CYLINDRICAL COORDINATES, THREE DIMENSIONS 和AXIS INCLUDED。<BR>参考Build 在线帮助可了解更多信息。<BR><BR>6、Build开始变慢。<BR>这可能是由以下几个原因造成的:<BR>不正确的公差。进入Preference/Global,检查公差是否和几可体特征相关。过小的公差会使Build做许多不必要的工作。 <BR>显示弦公差,进入Display/Geometry,弦公差会影响用来在屏幕上画圆圈的弦线的数目。试着以10倍的速度来增加弦公差,如果弦公差太小,你的机器将会在图形系统中作过多工作而引起崩溃。 <BR>数据库变得零碎,关闭数据库并压缩它(File/utilities/Compact)这会重新排序数据库,删除空格。 <BR>数据库包含许多不必要的几何体,选择”groups”,显示并使用部分几何体。 <BR>块的数目太多:在可能的地方采用参数化的立方实体,并通过使用约束减少块的数量。 <BR>如果依然很慢<BR>将你需要的所有几何体放入一个单个的组中。 <BR>关闭数据库文件,并产生一个新的。 <BR>进入File/Import然后选择‘MCS/PatrcnDB’在表格第一列Patran Import preferenee下点Import?按钮,这会使此列所有数值设置为’none’,点击None后进入组,在对话框中输入组名称。 <BR>关闭preference表单,选’Equivalence Options’检查公差是否正确。最好选择’Import database’ 选项。 <BR>关闭菜单,从列表中选择最初的数据库文件 <BR>这个过程仅仅将你所需要的几何体输入一个新的数据库文件<BR><BR>7、发生SIGSEGV错误<BR>SIGSEGV错误,即一个“分割错误”已经发生,例如,程序试图进入所分配到的内存空间以外的地方。<BR>根据经验,指出以下几个原因:<BR>几何体引用了不存在的构造实体,例如,你可能删掉了一个面顶点处的点。通过与面/体相关联得到所有点。采用Tools/List/Create,选择Geometry/Point/Associate然后选择'surface'或'Solid',选取某几何体,按下Apply。表格A或B将会包含一序列相关的点,这些点可通过表格上的按钮加入到当前组中。 <BR>采用了极端公差,如果公差很大或太小,(<1.0e-050r>1.0i+0.3)那么在创建/编辑几何体时会出现这些错误,如果你的几何体特征需要极端公差,那你应对几何体选取更为适当的单位。例如,以毫米(mm)代替米(meters)你可以用Analysis 表单中的缩放比例因子将网格缩放成计算单位。 <BR>采用非常小的显示弦公差:这会增加在屏幕上显示你的几何体所需要边线和多边形数目,一个过大的数目会使某些机器上的图形子系统崩溃。 <BR><BR>8、发生SIGGTTOU错误<BR>这只和Sun Solaris机器有关,由于Interbase没有开始而引起的,参照安装指南可对Interbase问题有更详细的认识。<BR>你可能发现不能象预想的那样运行qli,如果是这样,你需要进行完整的interbase安装。注意:如果libgds.so没有找到,可以在/CFX/build/interbase/lib目录下复制它。<BR>尽管这样,qli仍然有时会报告不能找到libgds.so。这时你可用setenv命令将/usr/interbase/和usr/interbase/lib加入到你的LD_LBRARY_PATH变量。<BR><BR>9、怎样在Windows NT下由Build4.2打印<BR>在build/Win_NT目录下,有一个名为cfxbuild_printers.def的文件。这个必须重命名为p3_printers.def以便Build能识别它。这是你安装Microsoft TCP/IP打印的操作系统选项的先决条件。本质上讲,这是一个Microsoft的lpr实现,使你能够打印到网络上的任何打印机。在Help索引中查询lpr可了解更详细的内容。这个CFX-4软件包括Hummingbird Exceed X服务软件,也包括它自身的lpr版本。重命名Exceed lpr,exe为别的名字。以应用Microsoft的那个。这显然依赖于路径名称等,但是最好是删除或重命名Exceed的那个版本。<BR>在P3_printers.def文件中,有一行名为Destination,在这一行你需要指定打印机的详细资料,和Microsoft lpr命令中要求的一样。至少,你必须指定服务器名称(即使你正在服务器上运行)和打印机名称。在默认情况下,打印机名称很长并包含空格(例如QMS-PS 800 Plus v46.1)因此他们要用双引号引起来。 一个典型的Destination行是这样的:<BR>Destination = -S tyro -P "QMS-PS 800 Plus v46.1"<BR><BR>10、如何手动平衡节点<BR>如果大量网格出错,这表明那些实体的节点数不等,需要进一步使之平衡,用符号标记实体,然后创建一个组包含实体中的一个。Post 这个组,然后用(Tools)工具菜单。用Mesh/Node/Association创建一个List,在Association下选择Face。选择实体的所有面,你会在List A表格中你会看到所有写入`lista`的节点标识。选择Add to Group 和你刚刚创建的组,然后,你可以显示有问题的实体和与之相关的节点。<BR>用工具条中的Node size图标将节点放大,以便于下个部分,放大到边线,你可以看清楚节点在哪里不等值。在Mesh表格,选择Equivalence/List/Tolerance Cube,然后选取两个不均等的节点放入Equivalence列表中,重复以上步骤直至改正所有的实体,然后再重写几何体文件。<BR><BR>11、在我的HP上,很难进入CFX-Build4的在线帮助<BR>在命令窗键入以下内容:<BR>setenv CFX_BUILD_NO_AUTOHELP true<BR>在运行CFX-Build 之前,关于字体的警告忽略,不会引起什么问题。运行时在线帮助也可启动。<BR>CFX_dir/build/4.2/machine_type/frame/bin/viewer<BR>在CFX_dir目录安装 CFX-4<BR><BR>12、我需要一些关于圆柱几何体划分网格的建议。<BR>以下的指导方针会对你有帮助:<BR>采用一个5块的柱面,当值较大时,单块柱面会产生性能不好的元,并且不能很好地解决轴的问题。 <BR>确保网格在方位角的方向足够好,这样做会使模型中心处有较密的网格。但可以确保边线处的精度。 <BR>根据2中间的块十分小,网格多半会沿流动排列,0.5D为一个合理的比率。 <BR>第一次在较低的数值系统得到收敛解,用QUICK删除数值发散。 <BR>确保每个旋涡精确描述模型入口处 <BR><BR>13、在BUILD中,我需要一些关于参数化的提示<BR>在命令窗口,在工具条下,可以同下面的语句来声明实型和整型参数<BR>real variable_name = real value<BR>例如: real height = 3.5<BR>integer integer_name = integer value <BR>例如:integer elements = 6<BR>命令:<BR>asm_const_grid_xyz ( "2", "[`height` 0 0]", "Coord 0", @ <BR>asm_create_grid_xyz_created_ids <BR>注解:<BR>asm_const_grid_xyz 是一个函数,以点的参照坐标的结构来构造点。 所有的参数在Build 的在线帮助都有引证。你可以复习以前的session文件以了解其它的构造函数。 <BR>"2" 是点标识,如果是空格(" "), Build 会自动分配点标识。 <BR>"[`p2` 0 0]" 是坐标列表,注意如果使用已定义的变量需要用单引号。 <BR>"Coord 0" 是创建点所用的参考坐标系。 <BR>@是一个延续字符。 <BR>asm_create_grid_xyz_created_ids是包含所创建点的输出串。 <BR>和CFX-4命令文件中的语法一样,你可以做注释,例如: <BR>/* lconeb :- Length of conical side of burner */<BR> |
|