[转帖]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)[转帖]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]