本帖最后由 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',[0.5;0.2],'partcont','on')
postpart(fem,'partcont','on','t',fem.sol.tlist(19:50),...
'cmap','kg','npart',[0.4 0.6])
参考 postpart.m 檔 271、272行,如下:
postplot(fem,'tridata','U_ns','trimap','gray','tribar','off','T',val.t( i ))
meshplot(fem,'edgecolor',[0.7 0.7 0.7],'boundcolor','k','elmode','on')
需任选一组背景图,后处理解的背景或是网格型的背景!
参考 postpart.m 文件 301行,插入下列指令,产生局部放大 (Xmin=0.2, Xmax=0.4, Ymin=0.1, Ymax =0.3) 的显示效果,例如:改掉原本指令 axis equal,改成 axis([0.2 0.4 0.1 0.3]),如下图所示:
•录制动画文件,参考如下指令:
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 相关作法。
|