cora 发表于 2006-4-30 09:58

[转帖]FEMLAB 台湾代理商的一些问答zz

本帖最后由 wdhd 于 2016-4-1 10:17 编辑

  Q1:FEMLAB 3.0a 无法安装?

  A:一般来说,当置入 FEMLAB CD 于光驱后,会自动执行 Install Anywhere,来侦测系统配备,依计算机等级与系统配备,约花十秒钟至两、三分钟不等,随后会进入安装设定的对话窗口。若是无法进入安装设定窗口,参考下面方法:

  (1) FEMLAB CD 所有档案复制到别台计算机硬盘上

  (2) 将档案全部复制回到原本计算机中,执行 \FEMLAB30\lib\win32\FEMLAB.exe 即可。

  Q2:建议执行 FEMLAB 3.0a 最佳效能的硬件使用平台?

  A:

  CPU:

  目前 FEMLAB 3.0a 只能利用一个CPU,但使用参数解的时候,可以开启多个应用程序于丛集计算机上。因为 FEMLAB 3.0a 是32位的应用程序,所以使用64位的计算机,如 AMD Opteron,并不会特别增加效率。

  RAM:

  支持Windows平台至2GB内存,支持大部分Unix/Linux平台至4GB内存,但要达到4GB需要一些设定才有办法达成。而Windows操作系统,其内部会保留许多内存,使得实际上可用的内存大约剩1.5GB(以2GB上限来说)。

  图形显示卡:

  FEMLAB 使用 OpenGL 做为硬件加速,DirectX同样也支持,一般来说中阶的显示卡DirectX比OpenGL更适宜,但NVidia的显示卡在OpenGL表现上也很理想。

  其它:硬盘的转速对FEMLAB影响不大。

  备注:年底前推出的FEMLAB 3.1 ,将支持64 位机器Solaris, HP-UX, IA-64, AMD64。

  Q3:FEMLAB Client Server之启动方式与优点。

  A:对于单机版本,藉由TCP/IP通讯之Client Server设计,能够分开执行于同一台计算机上之GUI与计算程序,也可以透过网络执行于不同的计算机上"启动方式如下:

  •第一步:启动FEMLAB Server,让计算机自动指定一组port。

  •第二步:启动FEMLAB Client,可在Model Navigator > settings分页窗口中显示出已指定产生之port。

  备注:若FEMLAB Client无法自动产生port号码,请手动输入Server 在dos命令窗口显示的port号码。

  Q4:为何利用Femlab2.3版模拟出来的档案用 "FEMLAB 3.0 with MATLAB" 无法执行?

  A:有时估算初始值的错误,在某些功能,特别是 weak contraints 写法是不同于两个版本。

  修正方法:

  开启下拉式选单Solve > Solver Manager。

  开对话窗口中,设定Initial value为Initial value expression。

  重新执行后即可。

  Q5:FEMLAB 3.0a 安装于MATLAB 7版的修正方式

  A:•(一) 确认目前 FEMLAB 版本为 3.0a,可点选主选单Help > Abour FEMLAB来确认版本。如下:

  FEMLAB 3.0a

  3.0.0.228

  2004/04/05

  •(二) 决定 FEMLAB 3.0a 的安装路径,例如 C:\FEMLAB30a。

  •(三) 确认 FEMLAB 程序已经关闭。

  •(四) 复制 jni.jar 档案至 FEMLAB 安装目录的 jar 数据夹内,这将会覆盖原始的档案。

  •(五) 开启档案..lib\win32\femlab.opts,编辑 mlroot=FEMLAB Client 基本上跟原本使用的 FEMLAB 是一样的,只是当要进行运算时,会丢到 FEMLAB Server 来处理。

  开启方式说明:先开启程序集 > FEMLAB 3.0 > Client Server > FEMLAB Server,在等待数秒产生一组port后,即可以打开程序集> FEMLAB 3.0 > Client Server > FEMLAB Client,来执行并开启FEMLAB GUI,直到等到计算时,FEMLAB Client 会自动的把模型中的计算参数传给 FEMLAB Server 来运算,运算完成后再传回给 FEMLAB Client (GUI) 来显示参数解。

  Q6:如何增加内存的使用量?

  A:FEMLAB 3.0 版使用更有效益的方式来运用内存,所以针对比较复杂的 Model(特别是3D Model),使其能够更快、更顺利的完成计算,减少 Out of memory 错误讯息的发生可能!

  一般来说,对于进行计算时的内存使用量,有下列的考虑因素:

  node 数因变数、PDE系数矩阵的稀疏性

  在不改变几何结构或网格细致度情况下,如何更有效的利用内存,其方法如下:

  •(一) 使用 Client/Server 的设计:藉由执行程序的不同,来配置不同处理程序时的内存使用量,最终提高计算时的内存使用量。FEMLAB Client 基本上跟原本使用的 FEMLAB 是一样的,只是当要进行运算时,会丢到 FEMLAB Server 来处理。

  开启方式说明参考安装与启动 > Q3,

  •(二) 若使用传统:FEMLAB 启动方式,则可提高 Java heap size:

  设定方式说明:至数据夹 FEMLAB30/lib/win32,开启档案 femlab.opts,将其中一行的参数 MAXHEAP=256m 从 256MB 至 128MB 或更低。

  错误讯息的问答

  Q1:产生网格与后处理时,图形无法正确显示的问题?

  A:假如FEMLAB在图形呈现时出现问题,修正办法有两种:

  •第一种方法:较旧的图形显示卡可能没支持OpenGL,因此需将显示卡驱动程序更新;

  •第二种方法:切换OpenGL 显示改成DirectX显示方式,请先将FEMLAB程序关闭,接着执行FEMLAB数据夹底下之win32_3d_dx.exe解压缩即可。若需切换回来,请执行win32_3d_ogl.exe。

  Q2:为何有时外部CAD产生之iges档不容易加载至FEMLAB或不容易网格化?

  A:一般来说,IGES档案大于1MB时就很难载入。对于档案较小的IGES档案,载入的成功与否需依据几何的复杂度。加载后,需要修图,很容易产生破碎面而无法进行下一步动作,需要分离几何对象,再个别进行调整。

  备注:IGES档案的存放路径中必须不能有任何中文字(档案夹)的出现。

  Q3:收敛问题与内存不足的问题Out of memory during LU factorization?

  A:特别对于对流扩散方程中,常常这两种问题会伴随产生。

  •(一) 找出比较好的初始猜试值。

  •(二) 调整一些参数,如黏滞系数、扩散系数等,使其更容易求解。最后再一此解做为原本问题的初始猜试值。

  •(三) 使用参数解来逼近。

  •(四) 使用更细致的网格,并且使用 GMRES 求解器,节省内存用量。

  Q4:如何仿真高度非线性问题,并避免分析时的不收敛?

  A:以下五种方法可以解决的非线性方程式的不收敛问题:

  •(建议一) 使用 general solution form 或是 weak solution form,来提供 exact Jacobians处理非线性偏微分方程式。此外,当使用到耦合变量时,必须使用 weak solution form 来得到准确的 Jacobian。

  •(建议二) 提供最有可能的初始值。

  •(建议三) 确保边界条件是一致的 (consistent)。

  •(建议四) 将稳态非线性问题切换成瞬时问题并试着去求解。这种方式一般会产生较平滑的收敛,确保求解问题的时间需够长足以达到稳态。

  •(建议五) 使用参数解,以及变化与非线性行为很大关系的材料系数,因此可以一连串的微调方程式的非线性程度。

  Q5:如何避免几何上的奇异点来影响分析的结果?

  A:几何奇异点是指尖锐的角或是在网格化、分析过程中产生问题的角。实际上,尖锐的角在结构问题分析上会导致无限大的应力值。为了避免奇异点,可以使用FEMLAB 3.0 圆角(Fillet) 绘图指令在模型的角边产生一个半径圆角,最终该尖角的应力值将会以有限大小存在。

cora 发表于 2006-4-30 09:58

回复:(cora)[转帖]FEMLAB 台湾代理商的一些问答zz

本帖最后由 wdhd 于 2016-4-1 10:20 编辑

  参数设定的问答

  Q1:-极坐标轴的设定问题

  A:-我们可以自行定义变量的转换来达成。

  •3D 球坐标轴假如要以 r, phi 和 theta 表示出材料属性或双耦极,只需要在直角坐标上绘制几何模型,并利用Options > Expressions > Scalar Expressions窗口上定义出三个表示式。

  其关系式定义如下:

  r: sqrt(x^2+y^2+z^2)

  phi: atan2(y,x)

  theta: acos(z/r)

  数学函数 sqrt, atan2 与 acos 为 FEMLAB 内建函数,一旦定义完成后,就可以随意的去运用这些坐标函数了。

  •2D 极坐标轴

  假如是 2D 极坐标的情况,则是比较简单来定义:

  r: sqrt(x^2+y^2)

  phi: atan2(y,x)

  如果是轴对称的问题,则可直接使用 FEMLAB 内建轴对称应用模式 (r-z 空间)。

  Q2:-薄壳结构的绘制方法

  A:-我们可以使用两个近似大小的球体做几何交集产生。首先利用球体几何对象绘制 x 半径的球体,接着绘制另一个球体,假设此球体的半径可设定为 x-0.01x (x 为薄壳球体的外半径,厚度为外半径的 0.01 倍 ),最后进行两对象的交集 (intersection),即可得到半径 x ,厚度 0.01x 的薄壳!

  Q3:-如何将(A)方程式求解完毕后所得到的答案,再带入( B )方程式中来迭代计算?

  A:-使用Solve > Solver Manager,开启该对话窗口。

  •(第一步) 在Solve for分页窗口与Output分页窗口中,先勾选(A)方程式来进行计算与显示结果。接着使用initial value 分页窗口之store solution按钮来暂存第一组数值解。

  •(第二步) 在Solve for分页窗口与Output分页窗口中,改勾选( B )方程式来进行计算与显示结果即可。

  Q4:-使用 FEMLAB 求解具有高阶时间微分项之 PDE 方程式。

  A:-我们可以使用 FEMLAB 求解具有高阶时间微分项之 PDE 方程式。

  •(1) 首先,需先将我们 PDE 方程式转换成一组一阶 PDE 方程式,假如选择系数型PDE 模式的话,则可以设定 3 PDEs ( 三个因变量 U=(u,v,w) )。

  •(2) 求解形式选择 Time dependent,而在 Subdomain 设定中,输入每个方程式的正确系数,来得到正确的系统。

  EX: 以 uttt-uxx=0 为例拆解系统方程式,可得到三组一阶时间微分之相依方程式。

  wt-uxx=0

  vt-w=0

  ut-v=0

  几何与网格的问答

  Q1:FEMLAB 3.0版网格设定之新功能?

  A:

  •(一) 网格参数设定窗口全部整理,针对局部网格的调整更容易。

  •(二) 针对几何结构在 x- y- z- 方向比例差异很大时,在旧版本需呼叫 Matlab函数Scalemesh.m 才能够调整,在3.0版,使用Advanced分页窗口内的scale geometry before meshing来设定比例参数即可。

  •(三) 针对狭小范围的几何结构,使用使用Advanced分页窗口内的Resolution of narrow regions来设定再切割网格的倍数。

  Q2::比例几何差异过大( thin geometry) 的网格设定。

  A:比例差异过大的几何模型,如 x:y:z = 1:1:0.01。若使用 Auto Mesh 将有可能产生过多的网格。因此必须要藉助特别的网格设定才能解决。

  使用方式:开启Mesh > Mesh Parameter,选择Advanced分页窗口,在Scale geometry before meshing字段中,设定为 x: 1, y: 1, z: 5,则可有效减少网格的密度。

  Q3:绘制螺旋型的结构的对象建立。

  A:目前 FEMLAB 3.0 版仍旧需要 MATLAB 界面的辅助下,才能够绘制螺旋型的结构,helix1, helix2, helix3, genextrude 等函式。

  使用方式:

  •(一) 开启 FEMLAB With MATLAB 程序。

  •(二) 回到 MATLAB 工作窗口下,输入下面指令:

  范例一:(直接显示结果)

  h = helix1

  geomplot ( h )

  范例二(载入至 FEMLAB 中)

  h = helix3(6,30,20,3*20,12)

  切换至 FEMLAB GUI:

  (A) 空间坐标轴选择 3D ,并任意选择一个物理模式。

  ( B ) 下拉选单 File > Import > Geometry Objects,输入 h。

  后处理的问答

  Q1:如何输出特定点的数据?

  A:使用FEMLAB 3.0即可直接的输出特定点的数值解,参考以下方法:

  假设已完成计算:

  •(一) 至下拉式选单File > Export > Post processing Data。

  •(二) 在Export Data对话窗口中,有四个分页,包含General、Subdomain、Bound

  ary与Point。

  •(三) 首先选择 General 分页窗口,对Export data from勾选Subdomains;在Exp

  ort to file新增建立一个文本文件,来记录欲得到的特定点数据。

  •(四) 建立一个标有坐标轴的文本文件,其格式如下:

  (以2D为例)

  0.1 0.3

  0.2 0.3

  0.3 0.3

  上面第一列表示坐标轴 X 轴,第二列表示坐标轴 Y 轴。两轴之间需空一格。

  •(五) 切换 Subdomain 分页,在Predefined quantities,选择欲粹取的物理量;

  在Coordinates from file。选择先前储存的坐标轴数据文件。最后按OK,步骤三所建立的文字文件内,即可得到我们要的结果。

  Q2:使用函式 postpart.m 来产生粒子随流场移动,或带电粒子随电场运动 (particle tr

  acing) 的功能

  A:

  •(1)内涵的程序代码适用于 FEMLAB 3.0a 版。

  •(2)本函式可直接应用于 2D 或 2D 轴对称模式之中。

  •(3)本函式可设定于无重力粒子 d(xi)/dt=vi,或考虑重力场效应 mp*d(vi)/dt=(mp-mf)*gi-6*pi*rp*miu*(vi-ui)。

  其中:

  •vi=粒子速度 (particle velocity)

  •mp=粒子质量 (particle mass)

  •mf=粒子体积x流体密度 (particle volume * density of fluid)

  •gi=重力 (the gravity)

  •pi=圆周率 (3.1415..)

  •rp=粒子半径 (particle radius)

  •miu=流体黏滞系数 (viscosity in the fluid)

  •ui=流体速度 (fluid velocity)

  力的平衡包含浮力与粒子附近的流场运动产生的阻力,而浮力项视物理性质而改成磁力或静电力。

  使用方式:(参考范例 cylinder_flow model)

  从 Model Library 加载该范例档案,开启File > Export > FEM Structure,并将 FEM Structure输出至 Matlab Workplace 中。

  自行测试下列的基本指令:

  postpart(fem)

  postpart(fem,'t',fem.sol.tlist(19:end))

  postpart(fem,'t',fem.sol.tlist(19:end),'partcont','on')

  postpart(fem,'t',fem.sol.tlist(19:end),...

  'partcont','on','npart',30)

  postpart(fem,'t',fem.sol.tlist(19:end),...

  'partcont','on','partline','on')

  postpart(fem,'t',fem.sol.tlist(19:end),...

  'partcont','on','npart',...

  linspace(0.1,0.9,10),'partline','on')

  postpart(fem,'t',fem.sol.tlist(19:end),...

  'partscoord',,'partcont','on')

  postpart(fem,'partcont','on','t',fem.sol.tlist(19:50),...

  'cmap','kg','npart',)

  参考 postpart.m 檔 271、272行,如下:

  postplot(fem,'tridata','U_ns','trimap','gray','tribar','off','T',val.t( i ))

  meshplot(fem,'edgecolor',,'boundcolor','k','elmode','on')

  需任选一组背景图,后处理解的背景或是网格型的背景!

  参考 postpart.m 文件 301行,插入下列指令,产生局部放大 (Xmin=0.2, Xmax=0.4, Ymin=0.1, Ymax =0.3) 的显示效果,例如:改掉原本指令 axis equal,改成 axis(),如下图所示:

  •录制动画文件,参考如下指令:

  M=postpart(fem,'t',fem.sol.tlist(19:39),'anim','on')

  movie(gcf,M)

  movie2avi(M,'name of file')

  备注:

  FEMLAB 3.1 版将自动支持粒子轨迹 (Particle tracing) 的窗口界面功能。

  案例补充说明

  Q1:旋臂量 MEMS Switch Model 操作说明

  A:FOR FEMLAB 2.3版

  考量多重物理量耦合和形变的解题系统

  问题分析流程:

  •(一) 首先计算电场和静电力(几何结构尚未变形)

  •(二) 在未变形的几何结构下经由ES的静电力计算,来计算位移变形量

  •(三) 在位移变形量的计算完成后,据此产生新的几何结构

  •(四) 在几何结构变形后,计算电场与静电力

  •(五) 利用新的静电力,套入PS问题中来计算新的位移量

  •(六) 重复动作 (四至六),直到位移量小于某个设定的公差值

  备注:

  •步骤三中,使用FEMLAB函数postinterp,这个函数能够计算边界的位移量。静电力使用函式ES_Force.m来计算,从PS Model的边界条件来呼叫。

  •ES_Force.m利用的参数为:输入参数dom、子域数s.dom、边界单位弧长s,FEMLAB函数postinterp可用来计算某边界dom上某点s之静电力。

  解题步骤:

  •(一) 设定初始值:在FEMLAB GUI窗口下,建构ES以及PS Model(包含边界条件、PDE参数等),并将档案储存成mems_es_gui.mat和mems_ps_gui.mat

  •(二) 储存FEMLAB structure给Matlab利用:

  o(二A) 首先在FEMLAB下开启mems_es_gui.mat,接着输出FEMLAB structure给Matlab(Ctrl+F),接着切到Matlab窗口,输入fem_es=fem; save mems_es_init fem_es; %将ES Model重要信息储存成mems_es_init.mat文件,并递交给主程序mems_model_script.m运用o

  (二 B ) 同样的,在FEMLAB下开启mems_sme_gui.mat,接着输出FEMLAB structure给Matlab(Ctrl+F),接着切到Matlab窗口,输入fem_sme=fem; save mems_sme_init fem_sme;

  %将PS Model重要信息储存成mems_sme_init.mat文件,并递交给主程序mems_model_script.m运用

  •(三) 在Matlab 命令列窗口下,执行mems_model_script即可

  备注:

  mems_model_script为主程序,可利用Matlab meditor来开启,首先会加载先前两个 _init文件,把FEMLAB structure所记录的重要信息读入。所有相关档案,必须储存于Matlab Workspace 分享路径中

  FOR FEMLAB 3.0版

  使用 ALE 执行建模,请参考 ALE 相关作法。
页: [1]
查看完整版本: [转帖]FEMLAB 台湾代理商的一些问答zz