案例:某堤坝-地基结构如下图所示,堤坝高20 m、宽40 m,堤坝左侧水位15 m、右侧水位与地基表面持平,地基的参数如下表所示。假设堤坝左右两侧边界位于无限远处(开边界、水位维持不变),请采用国产自主有限元计算平台FssiCAS分析地基中的渗流场,并绘制出流网分布图;结合地层的渗透系数说明地层I和地层II中流网分布差异的原因。 地层 层厚(m) 弾性模型(Pa) 泊松比 渗透系数(m/s) I 10 1e7 0.33 1e-5 II 25 5e7 0.33 1e-4
一、自定义边界条件的编程与编译 1.搭建编译环境 下载安装 VS(Visual Studio)软件并安装与 VS 软件匹配的 Intel 编译器(Intel Visual Fortran Composer XE)。 2.根据模板编写 DLL 文件 根据FSSI 提供的用户自定义边界条件模板的.f90 文件,打开模板后找到对应位置进行用户自定义边界条件文件的编写。 图1 自定义边界条件 3.由.f90 文件生成动态链接库(DLL)文件 编辑完成后,点击生成—生成解决方案。 二、前处理 1.导入网格和背景线 1.1导入网格文件.inp 点击FSSI-CAS-2D/3D—Preprocess—Load Mesh—Abaqus,在弹出的文件选择对话框中选择Abaqus输出的网格文件.inp,点击打开按钮。在弹出对话框中设置流体节点阶次,将土层1和土层2的流体节点阶次设置为1,将堤坝的的流体节点阶次设置为0,点击Ok按钮确认选择。 1.2导入网格文件.igs 点击 Preprocess—Load Background—Outer Boundary,在弹出的文件选择对话框中选择Abaqus输出的.igs 网格文件,点击打开按钮,界面中展示导入模型。 图2 模型 2.时间步 step1 设置 2.1添加边界条件 分别对模型底部节点设置 x、y方向的约束,对模型左右两个侧边 (x = -40 m) 和(x = 80 m) 的节点设置 x方向的约束,对流体域与固体域的接触面设置水动力边界条件。点击工具栏中Apply Boundary图标,进入相应的线/面选择模式。点击键盘‘R’键,进行选择,被选中的对象会变亮,通过此操作进行一次设置上述边界。 可通过在右侧快捷窗口中点击 Show Boundary Condition,检查是否正确添加边界条件。 2.2重力场设置 在 Y方向设置重力加速度为-9.806m/s2。 图3 重力场设置 2.3水动力边界条件设置 本题考虑流体节点,需设置水动力边界条件,并且设置 Stokes Wave 耦合方式,点击 FssiCAS—Preprocess—Loads—Hydrodynamics—Stokes Wave,根据题目输入以下参数。 图4 水动力边界条件设置 2.4设置材料参数 点击 FssiCAS—Preprocess—Material—Material 1/Material 2/Material 3,依次在弹出对话框中输入三种材料的参数。 图5 堤坝材料参数 图6 土层1材料参数 图7 土层2材料参数 2.5设置求解器类型 点击 FSSI-CAS-2D/3D—Preprocess—Solver—Solver Type,在弹出对话框中设置求解器类型。 图8 求解器材料参数 2.6时间步设置 点击 FssiCAS—Preprocess—Solver—Time Step。Step 1 的时间步选项卡中 Simulation Time (s)为计算总时间,设置为 1 s;Start Time of Current Step(s)为开始计算时间,设置为 0 s;Interval for Time Steps (s)为时间步长,设置为 0.1s;Interval for Updating Coordinate (s)为坐标更新时间,设置为 2 s;Interval for Updating Global Stiffness Matrix (s)为刚度矩阵更新时间,设置为 2s;Maximum lterations 为每个时间步最大迭代次数,设置为 10 步;Restart File Output Interval (s)为输出重启文件的时间,设置为 2s;Results File Output Interval (s)为输出某一时刻所有节点/高斯点上的位移、应力、应变等结果文件的时间间隔,设置为每 0.1 s 输出一次结果文件;Results Output 为选择输出节点上或高斯点上的结果;State Variables Output 为选择是否输出状态变量;Results Sequence 为选择设置计算结果序列,可选择是否计算保存位移、应力、应变、孔压、渗流速度、渗流力、加速度等结果;Results Format 为计算结果文件形式,可选择保存为二进制文件或 ASCII 文件;History Output Interval (s)为输出特定的节点或单元上的应力、应变等结果文件的时间间隔,设置为每 0.1 s 输出一次。α,β1,β2 为时间系数,保持默认值即可,完成设置后分别点击 Create 图9 时间步设置 图10 时间步的Results Sequence 设置 2.7设置初始条件 在 Step 1 时间步操作界面中点击 FSSI-CAS-2D/3D—Preprocess—Initial State,设置初始条件,点击 ok,完成初始状态设置。 图11 初始条件设置 3.时间步 step2 设置 3.1添加时间步 点击Creat time step增加时间步Step 2,添加成功后左端任务栏会显示添加的时间步Step 2,此时新的时间步2会自动复制 Step 1 的所有设置。 图12 添加时间步Step 2 3.2导入自定义边界条件 点击左上角工具栏 UserDefined,在下拉菜单中选择 Boundary Condition—Add,选择Boundary Condition导入自定义边界条件动态链接库(.dll文件),将自定义边界条件应用到模型的特定边界,选择用户自定义边界条件适用的位置和边界类型,设置固体单元(On Solid Elements)和流体节点(On Fluid Nodes),在边界条件添加完毕后,可以通过右侧伸缩区来显示所添加的边界条件。 4.计算 点击 FSSI-CAS-2D/3D—Preprocess—Computation—FSSI-W,保存当前项目到目标文件夹,开始计算,等待计算结束后,关闭计算页面。 图13 计算页面 三、后处理 1.加载文件 点击 FSSI-CAS-2D/3D—Postprocess—Open Results File,选择需要处理的结果文件夹,点击Open Result Files,选择文件夹导入结果文件,进行后处理。 2.绘制分布图 根据需要依次点击左侧的Pore Pressure、Seepage Velocity、Seepage Force等选型,并通过上方工具栏选择相应方向,输入时间步点击回车,进行相关结果的绘图。 图14 渗流线云图 图15 渗流力云图 图16 孔压云图 四、结合地层的渗透系数说明地层I和地层II中流网分布差异的原因。 原因分析:由已知条件可知地层1的渗透系数小于地层2的渗透系数,根据渗流速度与渗流系数的关系,得出地层1的渗流速度小于地层2的渗流速度,根据流线的定义,渗流场中一点的渗流速度方向是流线的切线方向,即渗流速度的大小代表流线切线斜率的大小,因此地层1的流线切线斜率小于地层2的流线切线斜率。