Flow3D学习——3 算例1 Aerospace Tutorial
Aerospace Tutorial
新建一个项目,Model Setup Tab-Meshing & Geometry Tab-Subcomponent
Tab-Geometry Files-c:\Flow3D\gui\stl_lib\tank.stl,Type and Potential
使用缺省选项,因为将引入其它形状作为固体,Subcomponent 1中坐标范围(Min/Max)为:
X: 5.0~15.0, Y: 5.0~15.0, Z: 0.0~15.0
tank.stl的单位对FLOW-3D来说是未知的,可能是英寸、英尺、毫米等,现在
假设模型是SI(国际单位),那么流体或固体的属性都应该是SI的。(这里有些糊涂,FLOW-3D会使用STL文件中的单位么?)
模拟的情况为从圆柱形底部入口向球形水箱内充水,计算域应该和此形状范围
相近,略大一点但不能紧贴着形状边界。
底边界的位置和边界条件类型有关,如果入口处流速已知那么模拟多少入口长
度没有关系,因为断面形状是固定的,但是如果特定位置的压力是已知的,那
么要把边界放在该位置处因为压力会受入口长度的重力和粘性效应影响而变化。
建议计算域要大于最大几何尺寸的5%,底边界除外,可以小于5%,这样计算域
底部和入口交叉,不会挡住水流,因此计算域定义为
X: 4.95~15.05 Y: 4.95~15.05 Z: 0.05~15.05
在Mesh-Cartesian的Block 1中按上面参数修改计算域尺寸,然后在Block 1
上右键选择Update Mesh更新显示。
Re = Reynold数 = Inertial Force/Viscous Force = UL/ν
Bo = Bond数 = Gravitational Force/Surface Tension Force = gΔρL^2/σWe = Weber数 = Inertial Force/Surface Tension Force = LU^2ρ/σ
U是特征流速,L是特征长度,g是重力加速度,ρ是密度,σ是表面张力系数。
这个问题中大约用100s充满水,冲水体积540立米,入口直径2m,入口流速为540/(100*π*1^2)=1.7m/s,Reynolds数为
Re=1.7*2/(1.0e-6)=3.4e6
由于Reynolds数远大于1,因此惯性力比粘性力更重要,即不需要很密的网格考虑粘性力,也不需要指定粘性特性。考虑表面张力影响的系数为
Bo = gΔρL2/σ = 9.8m/s^2 * 1000 kg/m^3 * (2m)^2/(0.073kg/s^2) =
5.4e5
We = LU2ρ/σ = 2m * (1.7 m/s)^2 * 1000 kg/m^3 / (0.073kg/s^2) =
7.9e4
可以看出表面张力也不需要考虑。
slice中文
缺省网格在X、Z方向为10,Y方向为1。
在Block 1上右键选择Automatic Mesh,通过网格大小或总网格数修改网格。由于入口直径2m,最少应该有5个网格,因此网格大小为0.4m,选择所有方向均为0.4生成网格。
当前水箱为固体,在Geometry的Component 1下面展开Subcomponent 1,把Subcomponent Type由Solid变为Complement(什么意思?),网格定义变为正常情况。
选择工具栏中的Favor图标,在FAVORize下选择using computational mesh,在view component volume中选择Open,单击Render,保存项目显示。用cutting planes或mesh slice可以看到网格内部。(这里是什么作用?为什么第二个例子里没有这步?)
选择Model Setup中的Boundaries tab定义边界条件,选择Z-min边界,选择Specified Velocity按钮然后输入W-velocity为1.7,其它边界条件不变。General tab:设置计算结束时间为100s,并在Finish condition中选择使用Finish time。低速流入时不必考虑气体影响,因此在Number of fluids中仅选择一种流体。Interface Tracking选择Free surface or sharp interface,如果是气体注入则用No sharp interface选项并用2种流体让气体扩散。Flow Mode选择不可压流体。
Initial tab:这个模拟中不需要设置初始条件。
Physics tab:设置使用的模块,因为是高Reynolds数,不需要考虑粘性,所以仅使用Gravity,Z-direction中输入-9.8。Viscosity和Surface tension 模块不必考虑。
Fluids tab:仅需要考虑流体密度,在左侧Density中的Fluid 1的Density 中输入1000(或者到Water at 20 C-si用Load Fluid 1载入)
Output tab:Flow-3D始终输出速度、温度、流体fraction等,缺省输出间隔为1/10结束时间,暂时取缺省值。
Simulate tab:Run Simulation。然后可以观看结果。
下面进行热启动计算,关闭入口边界,定义x方向的加速度使流体摇晃,在计算域中嵌套一个块体并计
算流体摇晃时流体对块体的作用力。
转到Navigator下,File>Add Restart Simulation,创建热启动模拟,模拟名称取缺省值,选择OK。
在General tab中选择Restart按钮,数据源(flsgrf.*)应该正确,热启动
开始时间为100s,选择reset time to zero保证非惯性输入从0开始,其它取缺省选项。修改结束时间为12s。
热启动既可以从输入文件中读入新的数据也可以从上次计算结果中读取数据,
这些都在刚才的对话框(Restart Options)中设置。热启动时间输出在hd3msg 中,可以在Restart Options的Times下拉列表中选择,还可以在Diagnostics>Solver Messages中查看。
在Boundaries tab中设置Z-min边界为symmetry边界条件。
在Physics Tab中选择Non-Inertial Reference Frame按钮,激活非惯性作用,并使用Tabular Input,输入数据
0 5 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
3 -5 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
6 5 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
9 -5 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
10 0 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
12 0 0.0 9.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
在Meshing and Geometry中增加Component 2,选择Subcomponent-Cylinder
并选择New Component 2,圆柱半径设置为0.25,Z-low为7,Z-high为12,
单击transform按钮在X和Y方向均平移10。设置完后Geometry列表中多出Component 2项。(每个Component表示具有不同性质的材料,同一Component 下的每个Subcomponent都是相同材料的)
要计算障碍物上的作用力,创建嵌套的加密网格包含障碍物,这样计算结果更
准确,嵌套计算网格范围为:
X: 9.0 to 11.0 Y: 9.0 to 11.0 Z: 6.5 to 12.5
在Mesh-Cartesian上右键选择Add Mesh Block,输入上面的计算范围。嵌套网格要保持比例在2:1以内,因此在Block 2上右键选择Auto mesh,设置所有方向网格大小为0.2。
为保证插值准确,在Block 1中增加Block 2的边界点,在Mesh Cartesian的Block 1的X Direction上右键Add,增加9和11两个点,在Y方向相同,Z方向增加6.5和12.5。(这是只增加点,不必重新划分网格?)
在Numerics tab下选择Pressure solver options下的Convergence controls,缺省inter-block boundary type coefficient为0.25,修改为
0。(如果不为0是什么含义?)
为计算障碍物上的作用力,包括压力和粘性剪切应力(不是没有考虑粘性?),需要手动编辑输入文件,File-Edit simulation在$grafic namelist下增加障碍物上的力(这是什么意思?可能需要参考Input变量的说明)
nwinf=1,
xf1(1)=9.4, xf2(1)=10.6, yf1(1)=9.4, yf2(1)=10.6, zf1(1)=6.9,
zf2(1)=12.1,
修改Model Setup-Output中的Restart Data-time interval为0.24,这样每
计算0.24s输出一次结果,12s会有50次输出。
Simulate-Run simulation开始模拟
在Analyze tab下选择flsgrf.aerospace_restart打开结果文件,作用力输出在Probe Tab下,在Data source中选择General History,可以检查障碍物上各方向的作用力,注意这些作用力包括压力和粘性剪应力,在列表中选择x-
force window 1,Render查看。
Flow3D学习——4 算例2 Casting Tutorial
创建新的workspace,名称为Casting Example,创建新的simulation名称为casting。
导入几个stl文件,每个文件都是Component 1的Subcomponent,即材料特性将应用于里面的每固体。
注入口(sprue)先作为固体导入以便观看,然后修改为complement,这样网格区域内除几何形状在的区域都变为固体,即对那部分进行取反操作。另外cad生成的stl文件是毫米单位,这里用单位,需要缩放1/10。
导入c:\Flow3D\gui\stl_lib\sprue2.stl和part.stl,都作为Component 1的Subcomponent,把part.stl的类型改为Hole。把每个Subcomponent的Global Magnifications变为
0.1。Subcomponent 2需要平移,X方向Translations为3,Z方向0.5。每次输入后按Enter键以更新显示。
增加一个Box作为Hole,参数为X 4.5-8.5, Y -0.4-0.4, Z -0.4-0.6
使用3块网格计算,修改计算网格参数
# Cells Low High
X:    6    -1.5 1.5
Y:    1    -0.1 0.1
Z:    30  -3.4 11.6
X:    21    1.5 12.0
Y:    1    -0.1 0.1
Z:    6    -2.4 0.4
X:    16    2.5 10.5
Y:    1    -0.1 0.1
Z:    20    0.4 10.4
此时可以把Subcomponent 1从Solid变为complement,这样会填充包围它的网格。
记住,几何形状和网格块无关,几何形状会自动占据网格块内的空间。
为检查网格,进行前处理Simulate>Preprocess Simulation,然后在Analyze tab下选择prpgrf.casting,
在2-D Tab中的右下角Mesh Block按钮弹出的对话框中选择所有块,Render后示可以用于检查的图形。(这里给出了检查的方式)
Block 1顶部注入口边界流速是变化的,不易指定,可以使用定常的stagnation pressure表示上注入溶液高度固定(大溶液池)或者stagnation pressure随时间变化,即上面液面高度逐渐降低最简单的是线性变化。先假设压力为常数,在边界中使用压力18375.0并勾选Stagnation pressure。
注入温度需要指定,在Physics Tab中选择Heat Transfer,1st Order,OK,然后重新在刚才边条件对话框中单击Thermal Information按钮,输入900.0,OK。
Flow-3D会自动设置网格块连接的边界条件为Mesh Block,也可以自己设置。(哪里设置?)
在General Tab中设置结束时间为0.5s,Flow-3D始终在结束时间到达后停止计算,也可以在Finish condition中指定填充比例作为结束条件,如果不设置Fill fraction而在入口处使用流边界条件时在注满溶液后求解器可能因为要继续注入溶液而出错退出,这里设置为1.0即全部填充并把Units改为CGS单位。
因为空间内开始时没有液体,因此这个例子中也就不存在初始条件。
Physics Tab中需要使用的模块包括:
模块名称理由
Viscosity    湍流引起的墙面剪应力Wall shear force and turbulent mixing,选择牛顿粘性Renormalized Group (RNG)模型,此模型健壮性、易用性和精度均较好。(紊流模型都推荐这个吗)其它取缺省值
Energy equation(流体中热传导)    计算金属中的温度 To compute the temperature in the metal
Heat Transfer and Conduction in obstacles    砂模和其中流体的热交换Heat exchange between the sand mold and the fluid and within mold 能量对流有2个选项,二阶计算更精确但是更费时,通常在浇铸中使用一阶即可。流体和固体热传导中的无热传导选项用于隔热模拟,后面的2个选项表示温度从流体传递给温度恒定的固体,因为浇铸时间很长,砂模温度变化很大,因此这里需要使用Full Energy Equation选项求解完全的能量方程。
Gravity    重力加速度 Acceleration due to gravity CGS单位中Z向加速度是-980。Solidification    模拟注入过程中的金属凝固 Simulate metal freezing during the filling 可能没有充满就凝固了,这里激活此部分并取默认值(模拟没有shrinkage的情况)。
Defect Tracking    记录氧化物相对浓度和缺陷的可能位置 Records the relative concentration oxides and thus the probable location of oxide related defects 此模块计液态金属暴露在空气中的时间,能表示溶液前锋氧化物含量水平,在氧化物缺陷位置预测时有用。由于氧化物生成速度没有试验确定,因此这里用1表示氧化物相对浓度。
在Fluids tab中载入alloy AL 356 in SI属性并在对话框中选择转化为CGS单位。推荐在设置模块后立刻设置材料属性,因为有些模块如Solidification和特定的流体特性有关,这样可以保证要的特性从数据库中载入了。(材料特性是否必须立刻载入,能否设置完所有模块后再载入?)下面在Meshing & Geometry Tab中的Tools菜单中选择Solids Database,从列表中选择Generi Silica Sand at 1000K,载入,此时thermal conductivity和density*specific Heat等都应该数值了,然后在左侧Component 1的Initial Conditions中修改温度为293。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。