粉丝4.5万获赞10.2万

原 scp 为半二零二五版 flywind 内外流程仿真教学视频,耗时五十五分钟,想入门 flywind 的 同学千万不能错过,视频有点长,耐心看完你一定会有收获。看完这个教程能让你了解什么是 c f d。 计算流体力学的方法有哪些呢?流体纺织运用广泛,例如飞行器传播、动力装置、旋转机械、电气及电子工、化学工程等工业领域。本教程通过管道的模型进行知识点拆解,为了便于大家的学习,本教程提供对应模型素材,有问题也可以在评论区互动。课程 ppt 和模型素材都打包好了,六六六六,抱走 好,接下来呢是我们的 ans workbench 和 flint 数值模拟,那么也就是我们说的这样一个计算流体力学啊。那么了解 flint 之前呢,我们必须要先了解这样一个计算流体力学是什么东西, 那么他是以计算机为工具,应用各种离散化的数学方法,对流体力学的各类问题进行数值实验,计算机模拟和分析研究,然后从而解决各类实际问题嘛。 那么计算流体力学的主要方法有这个有限差分法,然后呢,有限单元法,有限体积法, 支持的物理模型呢?有这个定长非定长层流、吞流、不可压缩、可压缩流动传热、化学反应等。 那么主要用在什么呢?嗯,像这种低空经济,这种飞行器的空气动力学,船泊这个船泊,水动力学,动力装置、旋转机械电器及电子工 啊,化学过程工程环,建筑物及外部环境、海洋装备、环境工程,生物学等等。 那么主要呢,我们说这个计算流体力学用到的软件呢,除了这个 flunt 之外呢还有这个什么 star, ccm 和 cfx 用的主要最多的呢还是我们的这个 flunt, 所以 说我们今天呢就给带大家一起来看一下这个 flunt 啊, 那么悬浮这样一个界面呢,就这样一个界面,那么启动方式呢有两种,一个是直接启动,另一个呢是从我们的 work 奔驰启动。 首先呢我们可以来一起看一下这个直接启动的方式,我们首先呢是从左边这样一个开始菜单,找到我们 f 开头这样一个悬浮,我们直接运行它就可以 打开,之后呢这个就是我们说这样一个这个启动器,那么左边呢这里主要是我们的这个单双精度相关勾选的话呢就是一个双精度,然后这里呢是模型的这个二维模型还是三维模型, 然后这里呢是我们的这个求解的限程数,如果说你是这个什么四和八限程的电脑呢,这里最大就填八,但是你占用了所有限程的话呢会有点卡,这个建议呢不要设置为自己电脑的一个最大限程数要稍微少一点。 然后呢这个像我这台电脑呢是八核的十六限程,这里呢我可以最大填十六啊, 然后再往下呢就是我们的这个工作路径,工作路径的话呢,比如说我们可以找到我们这个什么我们窗, 这个放到桌面上啊,也可以放到其他地方呢,也是可以的啊,这个看自己的一些需求。然后呢如果说我们全部都设置好了之后,我们可以点击一下 start, 对 不对? 那么特别要注意的是什么呢?就是我们的这样一个软件,它在启动的过程中呢,呃,是最好不要去做任何操作啊,这个不要去,没事点两下,左点两下,右点两下,对不对? 这个软件呢,它是一个林黛玉,对吧?这个啊,随便点几下呢,它就有可能啊,这个出问题,对吧?这个直接 bug 掉,然后呢整个模型崩溃掉,这种各种各样的情况都有啊。 然后呢你打开这个软件的时候,你看到什么标志啊?你才动的,就是这里不是有一个这个这个控制台吗?控制台这里他一开始呢测试会闪烁几次,就这样一个输入框,他闪烁了之后你就可以去点了。 那么再这样再接下来呢,就是我们整个的这样一个界面啊,比如说这个左边呢就是我们这样一个目录,然后呢上边呢是我们这个 功能栏,对吧?然后呢这里呢是我们的交互窗口,下边的话呢是我们这个控制台主要是用来输入一些这种什么这个命令啊,发送一些命令的, 然后这边呢是我们的这个显示控制工具,对吧?然后呢还有我们这样一个详情信息栏,对吧?啊?相应的一些设置呢?从这个目录数里面点进去啊,然后呢? 呃,在这里边去进行调试,他有点像我们说用到的那个 mechanical, 对 吧?他是在这个 mechanical 呢,是在这个页面的正下方,对吧?反正你也可以自己选择这样这个拖过来,对吧? 但是他好像不能像沃奔驰那样啊,就大概就这个样子嘛,你也可以这样去操作一下,对不对啊?这个可能说是你这个交互习惯可能比较方便啊 啊,那么接下来呢,就再再带着大家接着来看,就是说我们下边下边呢去做这样一个啊,仿真的一个案例,就是一个内流畅,那么主要的一个情况呢,就是我们说这样一个阀门,对吧?管道中间有一个阀门, 这个阀门呢有一点点微小的缝隙,然后我们可以看一下它整体的一个这个流体的流动, 接下来呢就带大家一起来玩这样一个逆流场的分析案例,这样一个管道中间有这样一个阀门,但是这个阀门门肯定是一个简化类型的, 那我们先来一起玩一下,接着呢我们打开这样一个安斯斯沃克奔驰,对吧?然后别忘了我们先对它进行一个保存, 注意啊,在使用符论特的时候,大家一定要注意一件事情,就是我们保存的一定不要有什么不要有中文路径啊,如这个符论特啊,这个只要有中文路径,他就直接给你报错, 对吧?这里呢我们保存到这个 f 盘的这个课程,我用的这样一个拼音来表示啊,一个 e 一 杠十四点一,我们保存一下,一定不要有中文路径, 这个是比较要特别注意的。然后呢保存完成之后呢,我们创建这样一个啊 flint 模块,接下来呢我们导入这样一个几何结构,然后呢在我们的 这个课程的文件夹里啊,然后有这样一个啊,阀门这样一个模型。接下来呢我们去在 dsc 中呢编辑一下它, 打开这样一个 demo 了呢,还是同样的,首先点击生成,我们可以看到这样一个,呃管道的这样一个模型,接下来呢我们要对这个模型进行一些处理, 我们首先呢哎,选择我们这样一个什么这样一个 x y 平面,把我们创建这样一个草图,然后呢这个画一个矩形,我们随便框一个矩形就可以,接下来呢在尺寸当中我们选择这个长度啊,距离这样一个选项, 鼠标左键按住放到这条线上之后松开,然后呢再选择这个轴,对吧?然后我们这是第一个位置,然后同样的这边也是一样, 呃,这个应该是我们撤回一下 这个删除掉啊,同样的啊,这里还是一样的选择这个长度,鼠标长按靠近它,然后选择这个轴啊,第二个尺寸,这里呢两个尺寸我们都给到零点零二米啊, 然后创完成这样一个草图的创建。接下来呢我们还要对这个模型用这个草图进行一个分割,我们点击这个挤出, 然后呢选择我们刚才创建好的这样一个草图,然后呢我们可以看到他的这个方向呢,是只有一个方向,对吧? 呃,我们首先呢将他的方向转换成什么?转换成一个均对称啊,这种情况下呢,我就往我的两个方向去分别添加,然后呢把这个模型呢给它贯穿掉, 然后呢我们其实己出这里呢,默认是一个添加材料这个时候生成的这个,如果说你生成了之后呢,他是在这给你生成一个实际的几何体, 那么我们这里呢选择对材料切片,然后就是一个什么,就是一个对这个实际的模型,对吧?去进行一个分割的这样一个操作,然后目标几何体呢?由于我们这里只有一个部件,我们就可以选择这样一个全部几何体,如果你想要选选择某一个的话, 大家也可以在这里去进行一个什么进行一个编辑,然后呢我们点击一下生成,完成这样我们这样一个分割的操作, 那么这里去进行分割,主要是我可以控制我的网格,对吧?这个粗细力度,这样一个情况,我可以让中间这里呢变得相对这个什么这个 密一些,然后边上这一些位置呢,我可以让他相对的粗一些,然后呢分割完了之后,我们可以看到这里是有三个几何体, 这三个几何体呢啊,我们必然要对它进行一些连接关系的这样一个设置,那么在 flunt 当中呢,我们连接关系主要用到的方式就是共节点,这里呢我们选择这三个几何体,然后我们右键形成新部件, 这个时候呢我们这个共结点这样一个操作完成了啊,也就是说他已经变成了一个实体,对吧?在中间呢这里是完全相连的, 那么接下来呢,完成这这一步之后呢,我们还需要对他进行一些操作,就是什么我们要在这里呢对他定义一下他的这个出口,流体的出口入口,以及这个相应的避免墙位置。 首先呢我们选择这个方向,这个平面,我们右键创建这样一个命名选择,我们点击应用,然后呢命名选择呢,我们就给它命名为 inlit 啊,这个呢就是我们说这个入口,然后呢这一侧呢我们点击一下生成啊,别忘了,然后呢再选择对面这一侧,我们再创建一个命名选择,这里呢是定义的 altlit, 点击生成,接下来呢是这样三个表面,就是我们说这个管道的位置,对吧?然后我们右键创建这样一个命名选择,这个呢我们给它命名为,喔,对吧? 大家看这个模型呢,其实还有一点啊,就是实际上呢我的管道应该是什么? 应该是在这个位置,对吧?这个位置是有这样一个管道的实体,但是呢,呃,我们这里呢就是没有去进行这样一步操作啊,这个呢实际上,呃,你想要这个管道的具体实体呢也是可以的,不过 你要带这个实体的情况下呢,主要是要用到什么?用到我们流过河的这个阶段,我们会在后续的课程中呢给大家带来。 然后呢接下来还有一步操作是什么?在这里啊就是我们中间这个位置,我们说这个卧是什么意思啊?我的流体不能流过的,这样不能通过的这样一个 平面啊,或者说是这个表面,对吧?呃,这里呢这个阀门的位置,对吧?我们也认为他是这个流体不能通过了,这里呢我们切换为我们的框,选择,我们框出来中间这样一个阀门的位置啊,然后呢我们创建这样一个命名选择 这个呢我们就给它命名,为什么啊?握点阀门, 然后呢我们点击一下生成创建这个命名选择的话呢,其实否论他,他能识别出来啊,你设置的这样一些这个这个平面的这个范围,对吧?就有点像 我们说这个什么这个设置的这样一个集合,这样他能自动识别出来这个集合,你只要给它命名好这样一个什么这样一个相应的命名。 接下来呢我们关闭掉我们的这个点赞模式了,然后呢双击网格,然后呢我们去设置一下我们这个相应的网格, 好,然后呢这里我们就可以看到这样一个模型,然后呢几何结构,这里呢也是有一个部件啊,就是形成了一个新部件,做了一个共节点的操作, 那么这里网格这里呢我们需要对它进行一些设置啊,我们右击这个网格插入一个方法,然后呢这个选择这三个几何体,我们点击应用, 然后把方法呢给他改成四面体方法,然后在四面体方法下面呢这个算法默认是补丁式形,然后呢我们需要给他改成这样一个什么改成一个补丁独立啊,然后其他的设置呢,我们保持默认就可以 用这个补丁独立方式呢,它是可以保留一些这种微小特征啊。接下来呢我们生成一下这个网格, 好,然后呢我们网格生成完成之后呢,其实我们就可以看到在这样一个什么阀门的这个位置,对吧?它的网格是非常的密,然后呢在我们其他位置呢,这个网格相对来说是要稀疏一些, 总计呢是有这样一个呃,七万的一个节点,四十四十多万的一个单元,对吧?然后呢接下来网格生成完了之后,我们就可以给他关闭掉这样一个这个网格界面, 然后我们可以看到这个网格,实际上这里还是有这样一个省电符号,对吧?这里需要我们做这样一步操作啊,我们右击这个网格,然后呢我们点击一下这个更新, 这一步是什么?就这一步是将我们这个什么从 walk 奔驰当中画的这个网格的数据,对吧?传递到我们的 flunt 当中,对吧? 要把我们的相应的数据给他传递进去,不然的话呢,还你直接打开这样一个 flunt 呢,他是读不到相应的这个网格的,对吧?包括我们相应的这些这个设置的这个 一些这个什么这个不同的入口啊,出口啊,这些表面他是读不到的。那么这里呢更新完了之后,接下来我们就可以双击这个设置, 然后呢我们勾选这个双精度,把这个求结合数呢,我们给他改为这个什么五合也可以啊,当然你这个核心数比较多的话呢,你也可以多多给他一些核心。然后呢设置完成之后呢,我们可以点击这样一个 start, 注意啊,这里的话呢,还是那个问题, florent 就是 一个林黛玉,对吧?没事呢,不要老点他,对吧?你这个随便鼠标可能点两下呢,哎,当场就死定,你看对不对? 然后呢我们等待一下他的这个什么数据的一个加载,我们可以看到这个什么这个一些这个数字啊,比如说这个四十万单元啊,还有这个什么七万多的节点等等,这些数据都是在这个什么不断加载的这样一个过程中,包括我们现在呢创建的一些命名选择,对吧?也是在加载的过程中, 好,接下来呢?呃,应该是还没有加载完吧?这里 好,加载完了,接下来呢,我们打开这样一个 flunt 的 时,之后呢,我们只能看到这样一个什么这样一个实体模型啊, 那我想要看网格数据等等的还该怎么怎么处理呢?哎,别着急啊,在这个一般这个设置下面啊,是在这,对吧?当然呢这个是上节课给大家说过了啊,就是可以这样去进行一个相应的托放,对吧? 那么在一般这里呢,我们首先第一个是缩放,对吧?这个缩放呢,就是我们说这个什么,你有可能是用这个其他软件做的这样一个前处理网格,对吧? 这个可能你用的是米单位制,你想给他转换成毫米单位制等等,对不对?你就可以用到这里的一个缩放比例, 然后这个检查,对吧?这个检查呢就是我要去检查我的网格的质量啊,发现看一下有没有这个什么,有没有这个网格出现附体机,出现附体机的话呢?整个计算的话呢,都算不了的啊。 然后呢接下来最重要的就是我们说这个啊,这个显示这一块啊,显示这一块的话呢,我们可以看到面,对吧? 然后呢我们可以看这个节点,然后呢还有分区边缘啊等等,然后我可以点一下这个显示啊,就这个边缘啊,他原门原名是叫抑制,对不对?就是把我们整个网格给我们显示出来,对不对?然后这个分区的话呢,我们底勾上之后呢,他是有这样一些这个 洋红色的线啊,就是按照这个洋红色的线来划分的,就是大致的这样一个什么这个网格的数量呢?是相当的,就要去这样进行一个相应的分区啊,这个你如果说要在写一些什么这个 啊,报告的时候呀,或者是你要做这个啊,写论文等等啊,你可以用一下这个功能, 然后呢接下来,对吧?呃,我们就算的是这样一个稳态的内流畅,对吧?这里呢我们给他 施加这样一个重力,对吧?在我们的这个 y 方向上啊,在 y 方向上呢,我们给到一个九点八一啊,你每二次方秒,对吧?给他施加这样一个重力, 接下来呢那我们要在这个模型这里去进行一些定义,在粘性这里啊,我们双击一下, 然后呢我们选择这样一个 k x 龙,对吧?然后呢我们就选择这样一个标准的 k x 龙模型,对吧?当然的话呢我们说还需要你定义什么这个贪流年度呀,这一些东西啊,包括这个雷诺数等等啊,呃,你像我们这个, 呃,当然我们说雷诺数呢和这个什么,呃动力黏度呀,速度呀,管道直径啊,他都成一定的比例关系,对吧?呃当然这个模型呢是一个简单模型啊,我们可以先假定一个什么系数,对吧?我们粗算一下,后边呢我们再去进行一些调整等等这些, 然后呢?呃在下边我们找到材料这里吧,我们找到材料这里,我们找到这个流体,默认的情况下呢,它是只有空气这里呢我们双击这个空气, 我们需要什么管道的这个流体,我们认为它流的是什么水啊,对吧?这里呢我们再点一下右边这样一个 flon 的 数据库, 那么往下拉,找到倒数第三个材料 water liquid, 对 吧?这个就是我们液体水的这样一个这个材料,对吧?它是默认就有的,然后呢我们点击一下这个复制 啊,然后我们关闭掉它,然后关闭掉这里呢,我们看这个流体的这个材料,流体呢有这个什么增多了这样一个液态水的这样一个材料, 那么接下来呢,在这个单元区域条件这里呢,我们打开这个流体,然后我们双击双击一下这一步是什么?是要把我们的这个材料给它赋予进去,然后呢我们要哎 选择这样一个 water liquid, 对 吧?我们点击应用,当然这里的话呢,就是我们说这个什么, 呃,由于我们采用的是一个中文版的这样一个键面,对吧?然后呢啊,像第三 model 里边呢,我们最后构建的这个合成的这个新部件,对吧?这里呢他都是一些中文的这个 命名啊,这个呢就会在这里边呢爆呃,出现这样一些乱码,这个倒是不影响我们继续的操作。 接下来呢啊,我们需要定义这样一个什么边界条件,首先是我们这个入口部位啊,就是我们的流体从这边进入的这样一个部位, 进入的这个部位呢,我们双击,对吧?这个 inlay, 然后呢这个方式呢,这个是一个涡轮,涡轮 city, 对 吧?这个 就是一个流速,对吧?入口流速呢,我们给到一个十米每秒,我们点击应用,然后关闭掉它,接下来呢是我们的出口部位,对吧?这样一个默认呢是一个压力出口,然后我们双击去定义一下 这个压力,出口呢我们把这个表压给它改成这样一个一亿六次方怕,然后我们点击应用关闭掉它, 接下来呢避免啊,我们可以看到有这样一个避免,然后还有阀门这这些位置,对吧?这些避免呢就是我们说这个流体,对吧?不能去通过的部分保留就可以啊,不也可以不用对它进行一些修改啊。 然后呢接下来,对吧?我们要去进行一些这个什么啊求解方面的设置,首先呢在后台这里我们选择这个方法, 方法这里呢这个速度和这里我们可以改到这样一个 simpe 这样一个方法啊,然后呢吞流动能呢和吞流耗算率我们可以都给他改成这样一个二阶, 然后呢修改完这样一个方法就是你,当然你采用这样一个二阶的方法呢,势必会让你的这样一个计算量呢去进行一个增大,当然呢精度肯定也是要更高一点的。 然后呢在接下来呢在这个什么,而在监控器这里呢残差啊,我们可以看到 这个相应的这个精度呢是这样一个什么误差呢?是千分之一这样一个误差,当然你也可以是不是改成你自己需要的这样一个相应的误差啊?对吧?你比如说改成这样一个什么这个一亿哎,一亿负六,对吧?这个等等啊这些误差, 然后呢我们给他关闭掉,我们保持默认就可以啊,这里是跟大家说一下这相应的这个设置,接下来呢我们要进入这个初步化界面, 然后呢我们选择这样一个标准出使画,然后呢把这样呢改成一个什么 o z n 啊,改成 o z n, 然后呢我们点击一下这个出使画,它会自动的呢,去帮我们把这个什么出使的这样一个条件呢,来给他设置进去啊, 接下来再来到我们什么后边这样一个这个计算设置这里不是计算设置在运行计算这里, 运行计算这里呢?哎,我们就需要去设置这样一个迭代的次数,对吧?比如说我们现在呢就给到一个三百次这个文本的求解,然后呢设置好了之后,我们可以点击这样一个计算, 当然啊,在计算的过程中呢,同样也是这个道理,没事别点他啊,对吧?就让他这个他已经能够稳定运行了,就让他在这默默的运行着就好,对吧?不需要去对他进行一些什么样的操作,对吧?那我们等待一段时间啊,等待他这一个求结, 好,我们等待一段时间后呢,我们这里提示这个什么 calculate complete, 对 吧?就是计算完成这里呢我们要注意一下,就是呃,这个 提示了,这个计算完成,它是有两种情况,第一种就是我们的模型收敛了,它注这个什么还没有到我们需要的这个迭代次数的时候,它就收敛了,然后呢它会自动终止计算。 第二种情况呢,就是我们说这个什么他计算完这三百次了啊,不管他有没有收敛,他都会给你提示这样一个 calculate complete, 对 吧?我们要往上找一找,对吧?我们要找到这样一个什么 要找到我们算了的意思吗?这个是第二百三十四步,对吧?我们要找到这儿,对吧? slope is congruent 啊,这个呢才是说我们一个收敛的这样一个标志, 然后呢计算完成之后啊,我们还需要什么?这个计算完了,我们一定是要查看结果了,对不对?那查看结果在哪查看呢?是在这啊,左边有这样一个结果, 我们呢找到这个图形,对吧?图形这里呢找到这样一个什么这个等直线啊,也就是我们常说的这个云图。然后呢我们双击一下 啊,然后呢我们需要哪一些位置呢?比如说我想看一下这个 inlay, 我 们就选中这个 inlay, 然后呢我们点击一下显示,对吧?这个就是什么我们这个 inlay 的 这这里啊这个压力,对吧?当然呢我们也可以给到这样一个握,对吧?这个这个是什么?我们这个相应避免墙的这一些压力, 那不想看了呢,我们也可以再点掉,然后呢我们看一下阀门这个位置的压力,对不对?当然呢我们也可以看一下它相应的这样一些这个流速啊,这个速度,对不对?等等,这这样一些这个参数啊, 好,这个是呢最后的这样一个压力的结果,当然呢,呃,我们可以看到中间这个位置呢,其实就是什么 在这这个相应的这个水压呢?到了这边,对吧?他是皱解,因为我们说这边的水其实是没有多少的,对吧?因为我们只是从阀门中间这个缝里啊,这个相应的流体流过来, 然后呢接下来啊,还有一个要我们要看的是什么?就是我们想看,想看一下这个什么这个剖切面啊,这样一个情况,对不对?这个 切面这样一个结果,我们要在哪呢?呃,我们要在这里结果这里我们点击一下这里呢有一个表面,对吧?我们可以创建这样一个这个, 呃,应该是平面啊,在这啊,对吧?我们创建这样一个平面,这个平面呢啊,我们可以定义一下它相应的这样一个坐标,对吧?这个我们选择这样一个 x y 平面啊,然后呢这个 z 呢?我们就给到一个什么,我们就给到一个零,好吧? 这个 z 我 们就给到一个零,然后我们创建一下这样一个平面,然后呢接下来我们在等直线这里呢,我们可以找到我们刚才创建的这样一个 plan 五,对吧?然后我们点击一下这个显示啊,然后呢我们就可以看到这个什么相应的这个 plan 五这个位置的这样一个压力情况啊, 对吧?然后呢这个当然了我们也可以看一下相应的这样一个什么史量云图,对吧? 这个矢量云图呢?比如说我用这样一个 plan 五的这样一个矢量,对吧?我选择这个速度矢量。然后呢我们点击一下显示 啊,我们可以看到呢,就是在这里,我们这个外边呢,这些位置流速相对来说比较的低,然后呢到了这种一个什么 非常小的缝隙这个位置,对吧?我们相应的这个流速呢?哎,突然间增高这样一种情况,然后呢这个包括呢在这个什么在这些位置呢形成了一些相应的这个吞流,对吧?这个呢就是我们说平流和吞流的这样一些这个相应的这个 类似于平流和吞流这样一个综合计算的这种情况。那么以上呢,就是我们说今天这样一个这节课的这样一个案例啊,当然呢这里我们再回到 ppt, 首先呢我们还需要去讲一下这个什么,就是说我们这个阀门开启与否,对内流长有没有相应的影响, 这个呢肯定是有一个影响的,比如说我们今天做的这个呢,就是说我们阀门是一个关闭的过程中,肯定也有同学想要说啊,我要去这个什么,我要去做这样一个阀门逐渐开启的这样一个仿真,对吧?呃,这个呢 涉及到一个什么动网格啊,设设置呢更加复杂,计算量呢更加的大。这里呢我们就不对于这种什么基础入门来说,我们不做过多的一些讲解。 然后呢包括我们其实在实际产品问题当中啊,我们绝大多数问题呢,可能还是这个什么内流场的一个本身,对吧?比如说我们这个,呃设备在正常运行中啊,这个冷却水的循环,一般我们是不会关闭这个阀门的,对不对? 然后呢还有这个当然呢你也可以直接把这个什么这个模型直接建出来,这样一个什么这个阀门开启状态的这样一个模型,对吧?然后你去计算一下,当然这个呢也是可以的。 然后呢还有我们说这样一个管道流体,我们说还有一种现象,对吧?叫我们的这个水锤现象,这个呢也和我们阀门开启关闭这样一个过程呢,也是有一定关系的。所以说呢,这个呢我们放到后边啊,进阶提高的时候再进行研究, 最后呢再跟大家讲一点,就是我们说这个阀门位置呀,我们是这样给他留了一点小缝隙,对吧?这里是留了一点小缝隙。 那如果说你去做这样一个开启过程的仿真,那你可能说,哎,我一开始想让他完全关闭掉,那么在逐渐开启的过程中,对吧? 在开启的那一瞬间啊,这中间呢会有一些这种非常非常微小的网格,这种时候呢,他其实网格会产生一个问题,就是在这种,那那个时刻下呢,他有可能会产生负体积网格,导致你这个模型最后无论如何都算不收敛。 当然呢这个这是一个问题,所以说我们在建模的时候呢,还比较的习惯,就是在边上呢留一些这种微小缝隙,对吧?这个呢当然我们是损失了一些相应的精度,但是呢保证我们说肯定能拿到一个收敛性的结果,对吧? 呃,你这个什么相比起来你做这样一个什么?呃,你说你做了一个非常非常精准的这个什么天下第一准的这样一个仿真,对吧?呃,这个结果呢,你最后发现是吧?一直不收敛啊,算不出来一个收敛结果,那最后等于没用,对吧? 那好,那我们这样一个内流场的这个课程呢,就到这,那么本节课呢,我们来继续我们流体仿真的这样一个案例啊,这是我们第二个案例,外流场分析, 我们说这样一个动车组,当然这个动车呢是我们简化过的这样一个模型啊,然后呢在这样一个流体域内,对吧? 我们有这样一个入口,然后呢我们相应的其他位置呢是我们的出口,中间呢是我们动车,对吧?我们流体从这边流过来,然后呢这个包括像动车这个位置呢会阻挡,然后进行这样一个分析 啊,当然了这个呢就是一个相当于说是一个简化的一个模型来进行这样一个仿真案例。 那么我们还是啊这个先打开我们这个 ans workbench, 对 吧?保存一下,然后呢还是保存到我们这个课程这样一个文件夹内啊,然后呢这里呢我们就给它命名为 e 一 杠十四点二,好吧, 注意啊,还是那句话,不要去保存到这样一个中文路径啊,在中文路径里面呢,它就会报错,那么这里呢我们还是创建这样一个流体流动这样一个模块,那么导入我们这样一个几何结构, 然后找到我们这个动车组这样一个模型,然后接下来呢我们双击在底下默认了中进行打开, 打开之后呢我们点击一下生成啊,我们可以看到这样一个动车的模型,但是呢这个呢就只是我的一辆车,对吧?呃,他不是我的流体区域,所以说呢,我们接下来还要把我们的流体区域给它构建出来, 这里呢我们就可以要用到这个 design model 里边的一个功能啊,也就是我们说的包落体功能,然后呢我们找到这样一个图纸里边呢,哎,找到这样一个什么这个环绕边界啊,也就是成说的这个包落体,然后呢我们可以点击一下生成,对吧?先看一下整体的一个大小, 那我们说这样一个一米的范围呢?这个对吧?还是还是比较的这个大,然后我们应该是要在啊 z 轴以及 y 轴方向呢,我们给它减小一点,然后呢我们给到它一个什么又小一点吧?零点一米啊 啊,然后修改完成之后呢,然后我们给它生成一下,然后呢我们就可以看到这样一个呃,这个 包落体这样一个模型。那么接下来呢,我们其实要的是什么呢?我们还需要进行一步操作啊,就是我们要的是只要我们内部的这样一个流体浴,对吧?这里呢我们可以点击这样一个这个 创建啊,在创建这里呢找到我们这样一个布尔,对吧?然后把布尔操作呢,把这个操作方式从合并改成这样一个减去,对吧?这个减去的话呢目标几何体呢?我们选这个 先把它隐藏掉啊,先把它隐藏掉,目标几何体呢?选择我们这个动车,然后呢我们再显示全部,然后工具几何体呢?我们选择它 啊,这个选择反了,选择反了。目标集合体呢?选择我们的外表面,还有外边这个这个实体工具集合体呢?选择我们的里边,然后呢是否保保留工具集合体呢?不保留。然后接下来呢我们进行这样一个生成, 生成完成之后呢,我们可以看到只剩下最后这样一个题了,对吧?只剩下我们最后这一个题了,然后呢这一个体的话呢,里边是这个把中间动车的这样一个位置呢给他挖出来了,相当于, 是啊,然后呢接下来啊我们还需要去进行一些设置啊,就是我们说对应的这个流体的入口等等,我们要去进行一些定义啊,首先我们切换为我们的面选择,对吧? 整个模型构建完了之后呢?我们,哎,是吧?这个创建一下这样一个命名选择这里的话呢,我们就会命名为,哎 inlate 这个 e t 啊, inlate, 然后我们点击一下生成,然后呢再接着呢是我们的这几个表面,对吧? 因为我们说这个动车呢啊,周围的这些位置呢,这个都是往外流出这一个面啊,然后呢我们给到它一个命名选择这里呢我们就给它一个 alt, 对 吧? 然后我们点击一下生成,接下来呢我们还有最下边这样一个看一下啊,对的,然后接下来呢还有我下边这样一个位置,对吧?我们创建一下命名选择这里呢,我们就给到一个握,对吧? 就给到这样一个避免墙,因为我们说底面的话呢,我们不是让他去自由流出的,如果说底面也是自由流出的话呢,他就有点像这种什么飞行的火车,对吧? 这个就不太真实了啊。然后当然我们说这个褶落体呢,你可以把这个位置呢上下这个方向再给他减小一点,对吧?这个尽量的真实一些的话呢,你就可以把下边这一侧呢再给他减小一点,对吧? 这个,然后呢接下来,对吧?还有一个就是我们说这个车的位置,车的位置的话呢,我们改切换为我们的框选择,把我们中间动车部分的给它框出来,然后再给到一个命名选择,然后这里呢就是一个什么这个动车,对吧?给到动车这样一个命名, 好,接下来呢这个动车命名完成了之后呢啊,然后我们就关闭掉我们这样一个什么得再摸着了界面, 然后呢再来到我们网格这里进行一些相应的设置 啊,我们等待一下这个网格的这个界面的启动。 这个网格部分啊,我们启动了之后呢,我们还是要去进行一些这个相应的设置,对吧?我们右键呢插入这样一个方法,然后呢选择我们的这个就只有一个几何体啊,然后我们给到一个四边形四面体网格, 然后呢这里的话呢我们可以采用这样一个自适应网格,对吧?把这个分辨率呢给到一个七, 然后呢接下来我们还可以做一个操作,就是插入这样一个 reference 啊,就是系化,对吧?然后呢我们选择我们的面,选择啊,改为框选,选择我们这个什么动车的位置,我们应用一下 给他加个两层的系化吧,或者说系化一层也行啊,这个看各位随意,这个系化呢他只是影响,就是把整个这个位置呢面上这样一些这个什么加密。 那么我们让它划分一下这个网格, 这里呢我们还是可以啊,比如说我们点一下这个位置,对吧?这里的话呢是可以看得到啊,这个正在这个整体划分的这样一个进度,对不对? 当然呢你其实看下来的话呢,更多的是我们说啊,看勾选这样一个高亮显示的位置,然后呢我们可以确定啊,它划分到哪一个几何体了,大概呢评估一下这个相应的进度,然后呢我们可以看到啊,这个网格划分完之后,对吧? 这个我也看不到里边长什么样子啊,对不对啊?因为这个只是给我们看了这样一个外表面啊,这里呢我们可以,对吧?我们在这个 呃,主页这里啊,我们找到这样一个洁面这个功能啊,我们可以,是吧点一下这个洁面,这里呢让我们创建一个,对吧?这里是一个创建洁面的工具,然后呢我们在这划划一下啊,就是鼠标左键点住这边, 然后呢一直往下滑,滑到你想要的这样一个位置,是吧?他中间有这样一条连线,然后呢松开,然后呢我们就可以看到这样一个结面,对吧?然后这里边呢相应的这个网格,这个什么这样一个情况啊,也都能看得出来,对吧? 啊?这个当然里边的话呢是比外边呢要细一些的,那如果说我想恢复的话呢,我们就可以把这个洁面呢给他点掉,对吧?呃,如果说呢你是跟我一样,对吧?这个详情信息和洁面在一起的话呢,注意一下啊,左下角这里呢有两个这个切换的位置, 当然你也可以把这个洁面单独拖出来,对吧?我直接放到这个位置来,对吧?你可以去共同进行一个操作,这都是可以的 啊。然后呢接下来呢就是我们说这个看一下整个网格的一个数量,大概是 十五万的一个节点啊,八十八万的单元,然后呢我们接下来关闭掉我们这个什么这个网格模块,然后呢还是你这个老操作,对吧?右键点击一下更新, 把我们的这个网格数据呢传递给 flint, 传递过去之后呢,然后接下来双击打开我们这个设双击我们的设置,然后呢同样勾选双精度,将我们的这个啊求解的这个核心数呢,我给改为这个八核,对吧?这个网格相对来说比较大一些啊,一个 网格的数量呢,相对比较大一些,我们给到多一点这样一个核心数。然后呢接下来运行我们这样一个 flint, 同样还是老样子,等待它的整体的这样一个加载过程,对吧?我们可以看到这里呢是有这样一个八十八万的单元,对吧? 好好, 我们加载完成之后呢,我们就可以这样去进行这样一个具体的操作,对吧?这个缩放呢,我们就不设置缩放了,然后呢我们检查一下网格啊,也没有这个附体机,对吧? 这个也没有相应的附体机。然后呢接下来我们设置一下这个模型,将我们的粘性啊定义为这样一个什么这个标准的这个 k f 螺旋模型, 然后点击 ok, 然后材料这里呢,这个流体啊默认就是空气,像我们今天这个案例呢,也是这个什么就是动车组呢,在这个肯定是在空气当中进行跑的,对不对?一个用就采用默认的这样一个空气作为这个 一个材料,然后呢呃,边界条件的话呢,这个流体这里啊,对吧?我们这个材料呢也是默认了空气,也就不用去进行一些修改了。接下来入口这里啊,我们要去定义这样一个 入口的这个流速,对吧?我们比如说给到一个什么十米每秒啊,然后我们点应用,然后关闭掉它。 接下来出口这里呢啊,这个什么他是给的这样一个表扬,但是实际上呢,我也不知道我具体这个,因为他有很多个面嘛,他这个有四个面, 然后呢我也不知道他这个每个面的这个压力都是多少,那怎么办呢啊?我就直接右键,对吧?对他进行一个右键,在这里呢有一个 type, 对 吧? type 呢?让他去这个有一个什么?这个应该是 啊这个出口,对吧?这个给到一个啊,这样一个出口,这样一个啊,就是这里呢会改到这个什么 outflow, 对 吧?这个呢就是说它自动去进行计算啊,这个位置具体压力是多少? 然后呢接下来就是我们这个什么方法,对吧?方法这里呢同样还是一个什么 simo 的 一个方法,然后呢这个团流动的,那我们也是给到高一点这个二阶, 然后呢接下来就是我们的这个初步化,然后标准初步化选择 all zoom, 对 吧?我们点击一下初步化, 然后接下来还去进行站这个运行,计算这个位置,对吧?然后我们给他先叠带个三百步,对吧?然后我们点击一下计算。 当然话呢,呃,这个在计算的过程中呢,也是要说一下,你像我们说在流体计算当中呢,我们还需要去计算这样一个雷动数,当然这个雷动数呢,也是和我们这个什么相应的网格尺度是有关系的,比如说我们这个什么 这个计算雷动数呢越大,对吧?相应这个网格呢,要求的这个数量呢也就越高啊,所以说呢,整个的他这这之间呢,他是有一定这个相关联的这个关系的 啊,所以说在这里呢,你可以先去粗算的时候,是不是你这样设置都是没有什么太大问题? 当然了,在设置之后,对吧?比如说这个啊,计算之后呢,相应的精度呢?不满足你的要求的时候呢,我们同样的也是需要去对这个整体的模型啊,包括网格呀,包括一些设置呀,进行一些调整 啊,然后呢,那么这里的话呢,我们就按照这个设置去进行,那我们先让他算一下,看一看具体这个什么案,结果是怎么样,对不对?然后呢啊,我们就等待一下,等待他计算完成, 那这里呢,等待一段时间完成之后呢,我们提示这样一个 calculator company, 对 吧?然后我们接着往上看,对吧?这里呢并没有说有这样一个 syloshen congrati 的, 对吧?也就是说我们这个算了三百步呢,其实并没有收敛,然后我们也可以看一下这样一个收敛曲线,对吧? 它整个呢是在一个不断波动的这样一个过程当中,所以说呢,这个说明啊,我们这个网格呢,其实也是有一定问题的,就是说和我们这个相应的这个计算雷顿数呢不匹配,对吧? 啊?当然了,你像这个模型,那我们如果说想让他收敛啊,你,你也可以,对吧?比如说我们那个十几万的单这个节点,对吧?你把它加到什么,加到这个五十万,甚至这个什么六十万,七十万等等,这个他其实和我们这个什么具体的这个模型尺度呢,也是有一定关联的 啊,那这里呢,我们其实怎么说呢啊,即即使他没有收敛啊,但是呢,他也是可以给到我们这样一个什么,是我们也可以查看一下他相应的这样一个结果出来,是 我们也可以一起看一下,在结果这里呢,我们可以打开这个图形,对吧?然后我们找到这个控制器,对吧?然后我们选择动车,然后我们显示一下 啊,当然呢这里的话呢,我们其实看到啊,这目前来讲趋势方向上其实是没有什么太大问题,就是说我这个 流体呢,从这个什么入口,从这进,对吧?然后其实我们这个位置的迎风面,对吧?包括你像这种细微好细小位置啊,这个轮子这样一个迎风面,对吧?他的这个压力呢都是最大的啊,对吧?这个是没有什么太大问题的。 然后呢包括呢你像我们也可以看一下相应的这个矢量啊,然后呢我们可以看一下这个这个动车啊,然后我们显示一下,看它 那动车周围的这样一些相应的这个流体的这样一个矢量,对吧?啊?包括呢你像这些位置啊,某一些,哪一些位置速度是最大的,对不对?这个都是你能够看得出来这个分布呢,至少我们看到趋势上呢是没有什么太大问题。 那好接下来呢我们就可以关闭掉我们这个 flint, 对 吧?然后呢我们选择点击这个, ok 啊,然后呢保持默认就可以, 当然呢这里呢像这个 flint 呢,被这个 ans 收购之后啊,他也是提供了这样一个什么流体的这个后处理工具, 我们也可以一起来用一下这个流体后处理工具啊,就是在我们这里呢,其实我们可以看到这有一个结果,对吧?这个结果呢?我们双击一下这个呢啊,就是什么它这个我们点关闭的时候选择了保存的那个选项,之后呢, 它就是把我们的这个相应的这个什么这个流体的计算结果呢?传输到我们这样一个什么这个 c f d 杠 post 这样一个软件里边啊, 然后呢我们可以看到这是整体的这样一个模型啊,当然他都是用的这个透明来显示的,这里的话呢,就是我们的这个模型的管理位置,对吧?我们可以啊,比如说我们选择这样一个握握,然后把它选显示出来,当然这个是面啊,这个是一些这个什么表面,对吧?这样一个表面,对吧?这个 我们可以让它显示出来,对吧?啊?然后呢同样的啊,我们可以在这儿,比如说我们这里呢有这样一个 streamline, 对 吧?这个是一个流流线啊,然后呢 啊? start from, 对 吧?这个是从哪里出发?我们可以说啊从这个动车出发,或者说从这个什么从这个 outlet 出发,等等啊,我们看一下 啊,从动车出发的话,他好像并看的不是特别多啊,我给他加几几个点看一下啊?加到一百个点啊,他其实也看不到,对吧?那我们就从什么从这个入口出发,对吧?这个一百个点我们就可以看到啊,整体的这样一个什么 woller city, 对 吧?这个相应的这个流速啊,然后呢?从这里啊最快,然后到这个位置呢?碰撞之后,然后接着这样一个什么这个相应的这样一个线条啊,就是看一下它具体的这个什么我们空气的流向是怎么流的,对不对? 这个这个线呢还是比较好用的,当然呢我们也可以从通过这里的 control, 对 吧?也就是我们等直线这个 control, 然后呢我们点击一下,然后我们点击,然后呢从这个什么这个选择呢?就是压力,然后 local 呢,我们选择这个动车,对吧?然后我们点击 apply 啊,当然这里呢?呃,整个这个软件啊,这个后处理软件的话呢,它其实有点像什么我们说这个图层啊,就是你用这个 ps 也好啊,还是用这个什么一些这个三 d 软件也好,对吧?或者说这个 cad 也好, 他是用有这样一个图层的这样一个概念在里边,我们就可以直接把这个什么,把这个 streamline 关闭掉啊,然后呢在这里我们可以看到相应的这样一个 pressure, 对 吧?啊,当然呢,这个我们刚才也说了,这个其实最后这个压力呢,是没有收敛的,对不对?那么这个呢,就是,呃, 我们说这样一个这个后处理软件啊,当然这个软件的话呢,其实最后呢你像在写一些报告呀,还有这个什么, 嗯,做这个写论文的时候呢,去进行这样一个组图啊,也是非常好用的,对不对?那我们说啊,这个呢,也就是简单的带大家玩一下,对吧?相应的这个后处理工具有还有哪些功能呢?大家也可以自己去稍微深入探索一下。 那好,然后呢我们接着再看啊,就是说我们影响精度的这个因素呢,刚才也说了,就是我们说这个什么,第一和我们整个的这个模型尺度以及网格尺度,包括计算雷诺数等等啊,它其实都是有一定关联的啊,这个所以说呢,这个 你相应的一些这个设置呢,你可能是要去进行这个呃一些这个什么自己具体的一些计算, 当然呢这个计算流体力学的整个流程的话呢,三大步,三小步啊,是不是也同样适用呢?啊?其实我们可以看到啊,这里其实已经给大家写出来了啊,我们说几何系统构建,然后呢?网格系统构建,然后流体系统构建,对吧? 然后我们求解设定过程监控、输出控制,对吧?后处理的话呢,结果趋势,结果量级和误差分析啊等等,这里呢整节课其实就是我们看在这里,是吧?我们这个 e 十四,对吧? flint 数值模拟啊,内外流畅这一块的内容,对吧?那么我们说这个什么后边的话呢?这个整个这一节课的话呢,也就先到这后边的话呢,再给大家去深入的了解这样一个什么 flint 相关的一些知识,好吧。



大家好,今天向大家介绍如何添加单元以及常用的结构单元。添加单元呢,我们可以在这个前处理器当中找到单元类型,选择添加、编辑和删除这个按钮,就会弹出这样一个调料框, 我们可以选择添加按钮,找到单元类型。结构单元呢,有这么几类是我们比较常用的,第一个是指点单元,第二个呢是立刻单元,第三个呢是闭目单元,第四个是 paper 单元,第五个是骚里的单元,第六个是 shell 单元。其中呢另个单元呢可以做行价分析。 两单元呢可以做钢架分析,派部单元呢,可以用来模拟钢筋。三类单元呢是实体单元,可以用来模拟平面问题和三维问题。那这里面那个四呢,代表是节点的数量,最后 这个数值呢,代表是单元的编号,是 sic 系统提供的单元编号,幺八二幺八三幺八五幺八六等六十五号呢,对应的是混沌单元,它是一个特殊单元,可以用来模拟混凝土,其中跨的是四边形。 break 呢是长方体太太呢,是金字塔形下的单元呢,常用的有两个啊,一个是四节点的,一个是八节点的, 他只能用来做三维的分析,我们选择 ok, 这样呢我们就成功了,添加了一个单元,当我们点击 office 呢,会弹出对应单元的一些设置啊,不同单元呢,有不同的设置,比如说我们添加一个 bm 单元,那他在里面呢就会有这样的设置。再比如我们选择一个平面的啊,四节点单元, 那对于平面单元呢,我们知道平面问题呢,有平面应力问题和平面应变问题以及走对顺问题啊,那在这里呢,我们可以选择我们这个单元的适用的类, 这个是单元的设置,那么如何删除单元呢?我们选择贼累的,选中之后呢,单击贼累的就可以删除单元,如果这单元呢,没有用于网络划分,那么这个删除是可以进行的,如果这单元已经进行了网络划分,那么我们就不能够删除这个单元。

好,我是茉莉,今天教大家如何来显示量单元的洁面,那么量单元呢?在 ss 的现有版本当中呢?呃,只有两种,一种是 bm 幺八八,另外一个是 bm 幺八九啊,区别呢?一个是两级点,一个是三级点, 那我们添加一个两单元,然后呢我们创建一个紧密信息, 这样呢我们创建了一个两单元,下面呢我们创建这个 啊关键点,我们选择在当前作为写下创建关键点,首先呢在做背景点创建关键点,然后呢在 x 方向啊确立为十的位置,我们创建另外一个 关键点,呃,两单元在创建的时候呢,通常会指定他的放心点,那他的上方呢?我们要创建一个关键点,比如说在这个外方向我们再创建一个关键点一的位置,那这个是两单元的关键点啊放心点。然后呢我们创建直线, 这个直线呢就是我们要换网格的这样一个连单元,下面呢我们就把这直线啊用两单元来离散。 这这个麦是找到这个我的工具啊,我们换个工具,然后呢我们把这个 线进行我们划分,当我们选择对线的时候呢,如果我们直接划分的时候呢,他是不会需要我们指定啊这个方向点,这个时候呢我们把这个洁面形状打开,呃,在这个 plot ctrl 啊 style 选择赛,咱的视野 就是会图控制这个彩蛋,下面找到啊 style 特性,选择尺寸和形状,我们把这个显示单元形状啊这个权限给打开,这样呢我们就可以看到这个 量的洁面,这时候我们发现这个量的洁面呢是这个躺着的,我们需要把它立起来啊,那怎么办呢?我们需要用到这个放心点,那这时候呢这个网格呢,我们需要把它清理掉, 然后呢我们找到这个麦特这里面的工具啊,线的属性啊设置, 那这条线呢,我们需要给他指定什么呢?指定啊,方向点,那方向点的指定呢?就在这个地方啊, picontechnkypoint, 那就是方向点,我们把这个位置 选择 yes, 这个时候呢我们选择 ok 的时候呢,他会提示我们选择方向点,那我们选择我们刚刚建立的这个第三个关键点作为量的方向点啊,来控制他这个方向。 现在呢我们对他进行划分的时候呢,我们就会发现,哎,这个梁男人呢就立起来了啊,就这好了,我们今天的内容就到这。

大家好,欢迎来到这一讲,今天这十分钟,我们一起走进大模型的内部,看看一句普通的话,进入模型之后到底经历了哪些步骤。我不会讲特别多数学公式,而是用途,带你走一遍完整的流程。今天会分成四块来说, 第一块,从整体视角看一下大模型在里面是怎么流转的。第二块,看看一段文本是怎么变成一串 token 和向量的。第三块, 解释一下 transformer 的 注意力是怎么工作的。第四块,讲两个工程里的关键,优化, k v, cash 和 rope。 最后做个小总结,你可以先把大模型想象成一个黑盒子,左边丢进去一段提示词,也就是我们常说的 prompt, 右边吐出来一段回复,看起来就像魔法一样。但在黑盒里面,其实有一条很清晰的流水线, 大致可以拆成三块,前面的 tokenizer 中间一大摞 transformer block, 最后是一个输出层,也就是语言模型的头。接下来几分钟,我们就沿着这条流水线从头走到尾。大模型在生成文本的时候, 并不是一次性写完一整段,它更像是在打字,一次只想一个小块,也就是一个 token。 流程大概是这样的,先把 prompt 喂给模型,模型算一圈,给出下一个 token 的 概率, 从这堆概率里选出一个具体的 token, 比如单词 dear, 然后把刚刚生成的这个 token 接在 prompt 后面,当成新的输入,再算下一轮,新的一轮里,它又只会决定一个新的 token, 比如 sarah。 这样一轮一轮循环下去,就形成了我们看到的那一整段文字。这种用自己前一步的输出 当成下一步的输入的方式就叫自回归。很多介绍里会说大模型是一个自回归语言,模型说的就是这件事。我们再往前看一步,在未给 transformer 之前,一段文本要先被 tokenizer 处理。对人类来说一句话是一个完整的语义整体。 对模型来说,最开始它只是一串字母。 tokenizer 要做的事是把这串字母切成一个个 token。 具体怎么切取决于模型,有的按单词,有的按字词,还有按字节的。切完以后,每个 token 会在词表里查一个编号,也就是一个整数 id。 这一步就像给每个 token 发一个身份证号, 但模型不会直接用这个整数做语义计算。真正有用的是下一步这些 id 会去查一张巨大的 embedding 矩阵里的一行就得到一个高维向量,你可以把这个向量理解成 这个 token 在 模型语义空间里的坐标。从这一刻开始,模型看到的不再是字和词,而是一串可以相加相检测距离的向量。 现在这一串向量就要进到 transform 里面了。在同一轮前向计算中,整段上下文里的所有 token 是 一起通过每一层的。你可以把每一个 token 想象成一条竖着的流水线,最上面是它自己的 embedding, 往下经过一层一层的 transformer block, 最下面得到一个新的隐藏向量。我们在预测下一个 token 的 时候,只会拿最后一个位置的隐藏向量 送进输出层,但这个向量里面已经通过注意力机制读到了前面所有 token 的 信息,所以尽管只看最后一个位置,其实整个上下文都参与了这个决策。接下来我们把镜头拉近看一看单个 transformer block, 一个标准的 block 主要有两大件, 第一件是多投资注意力,它的职责是让每一个位置都能去看,诊断上下文里哪些词和自己最相关。第二件是钱匣网络,也可以理解成一个小的全连接网络 的工作是在看过上下文之后,用大量参数去学习各种复杂模式,比如常见的搭配语法结构,或者某些高频的逻辑关系,中间还会配上一些残差连接和归一化层。它们的作用是让训练更稳定,让梯度更容易传下去。可以用一句特别好记的话来概括,注意力负责看哪乾坤,网络负责想什么。我们再细看一下自注意力。 对于当前这个 token 模型,会先根据它的向量算出一个查询向量,也就是 key 以及一个值向量,也就是 value。 第一步,用 query 去和所有的 t 做相似度打分,打分越高,说明当前这个 token 对 那一个位置越感兴趣,这些分数会通过 softmax 变成一组权重。第二步,用这组权重对所有的 value 做加权求和,结果就是一个新的向量, 它融合了上下文理和当前 token 最相关的那些信息。多投注意力只是把这件事并行的做很多份。不同的 head 可以 专门去看不同的模式,有的投看语法结构,有的投看指向关系,还有的投看长距离依赖。讲完原理,我们再看一个工程上的加速技巧,叫 k v cash。 还记得刚才说的自回归吗? 每生成一个新 token 都要重新跑一轮前向计算,如果每次都从头算整段上下文,那前面那一大串 token 会被重复算很多次,浪费算力。 k v cash 的 思路是这样的,第一次前向计算的时候,把每一层注意力里的 key 和 value 都存起来。下一次生成新 token 时,只需要为这个新 token 算它自己的 query 和它自己的 key 和 value。 历史 token 的 key 和 value 直接从缓存里读出来用就行,这样历史部分的计算被冻住了,每次只为新位置做增量计算,上下文越长,这个优化带来的提速越明显。还有一个重要的点是位置编码。 transformer 本身对顺序是不敏感的,但自然语言里 顺序非常重要。人咬狗和狗咬人意思完全不一样。早期的做法是给每个位置一个位置向量加在词向量上,而 rope 也就是旋转。位置编码采用了另一种方式, rope 会在注意力里面对 query 和 key 做一个位置相关的旋转。你可以想象,把向量拆成很多小的二维平面,在每个平面上,随着位置的变化,向量会旋转不同的角度。 这样一来,不同位置的 token 在 几何上就带上了顺序信息,既能表达绝对位置,也能表达相对位置。所以 rope 非常适合做长上下文,让模型在很长的文本里依然有清晰的前后感。我们用一分钟把刚才的内容压缩一下。 第一,大模型在生成的时候是自回归的,它一次只预测一个 token, 再把这个 token 接回上下文,继续往前推。第二,在进模型之前,文本会先被 tokenizer 切成 token, 变成 id, 再查 embedding 表,变成一串项链。第三,这串项链会通过很多层 transformer block, 每一层里面注意力负责决定要看谁,乾坤网络负责在海量数据上学模式更新表示。第四,最后一个位置的向量会送进语言模型的头,变成词表上的概率分布解码策略,再从这堆概率里选出真正要写出来的那个 token。 第五,为了在长上下文下还能跑得动,我们会用 k v cash 减少重复计算,用各种注意力遍体减小开销,用 rope 这样的方式编码位置信息。如果这一讲,你只记住一条主线,就记这一条。文本进来,先被 token 切碎,变成 token 和 id, 再查 embedding, 变成一串项链。这串项链经过一层一层 transformer block, 最后由输出层选出下一个要生成的 token, 然后把这个 token 接回去,继续下一轮大模型。就是这样在一个高维的项链空间里,一口一口地把我们看到的那一大段回答慢慢吐出来的。谢谢收听!

哈喽,大家好,我是王小胖老师,今天我们一起来学习一下利用 ances 来进行顺态动力学的分析方法,那么 ances 他提供了三种方法,叫完全法、模太叠加法和缩减法,跟写下分析呢差不多, 但是在安介是十八点二开始的,这个缩减法已经没有了,所以我们只只能找到完全法和模太叠加法。 然后因为我们这些书上啊,包括网上能收到的呢,他其实都是比较老的版本的,所以如果你装的是新版本的 a 现实,那么你你只能慢慢的自己摸索,所以我这边呢就提供了这样一个方法啊,大供大家参考。 这是他的提供的方法啊,简单了解一下这个,现在他这个缩减法呢,已经不提供了,然后 操作步骤呢,简单来说就这么多啊,前面的包括剑魔啊,剑魔问是完全一样的啊,包括什么是单元啊,材料啊,几何几何形状啊,网格啊等等,都是跟前面的完全一样。然后从第二步开始就不一样,第二步他需要有一个初始条件, 初始条件就对 t 等于零的时候,他的一些速度加速度到底是一个什么样子的,需要大家设置一下, 我们一会详细说,到时候再说啊。然后第三步呢就是求解。控制就是有些比如控制方面,这个应该跟时间载号差不多,跟或者说联系起来,到底怎么来设置他们之间的一个关系, 然后之后第五个就是求解,然后这里面如果这个窄后啊,是一个比较复杂的曲线啊,这里面会会就是三四五要重复这样一个过程, 最后就是查看结果,我们以这样一个力,简单的力气为力啊,就是一个悬臂梁,然后在 a 点呢,有像在 a 点作用了这样一个展赫,这个展赫的随时间变化,是这样子一个变化啊, 在零到零点五这个阶段是这个力呢,从零一直增加到二十二点五,然后第二个阶段从二十二点五降到了十。第三个阶段是一个跳跃函数,是一个跳阶跃函数吧,从十变到了零,然后然后呢就一直到一点五这样子,一个一个窄和一个过程 这种这种东西怎么来怎么来做呢?我们来试一下啊,我们先在这个 professor 里面把这个 structure 给它供上,然后前处理这个,这些都一样,所以我就稍微动作快一点啊,我们以雪碧量为例,材料,材料都是还是钢材吧,两百奇葩 不送笔。零点三,密度重要,这个密度一定要输的,千万不可以忘掉,动力分身器都是要有密度的。然后这个洁面量啊,雪碧梁的洁面我们用一个空心源,内径是三毫米,外径是五毫米, 然后是画剑魔,这个剑魔就比较简单了,就是一根直线啊,这个梁长度是两米啊,两米长, 嘿,然后是画网格,网格的话我们也简简单点啊,随便画一个画,他画成什么样就怎么样,好吧,这样就画了,我们剪可以看一下网格, 他呢大概就分了三份,我就就让他分三份吧。好吧,简单一点啊,我们只是留下这个流程,所以这个前面这个就完全压到此,前面是完全压的,那么后面就开始不一样了啊,我们给大家看一下,就是打造这个思路型,然后呢找到这个爱丽丝 tie, 就分析类型, 找到新建啊,新建 new, alice, alexis, 然后找到这个 transist transistor transcent, 对吧?第四个这个就是损态分析,点击 ok 这,然后出现这个对话框,就损胎分析对号,他就提供了。三啊,我们刚刚说有三种方法,对吧?但是我这个版本是十八点二,他只有两个版本,有两个方法,一个叫 fu, 一个叫摩泰迪加法,我们用的是 fu 这个, 因为我们要如果选这个模态叠加法的话,首先要进行模态分析,把模态分析的结果给他算完,然后再导入到这个损态分析里面才可以做。我们简单一点啊,直接用 for 就是第一种方法,也是默认的方法, ok, 完了之后,然后我们应该要干嘛呢?设置初始条件啊,初始条件在哪设置呢? fine loader apply 设置,就是其实就是添加一个数字,就像出 apply 下面有一个引力小 condition。 第三个啊,引力小肯定型,我们先可以看一下 let's, 哦,就是本来列车现在目前来讲是没有任何引力小肯定性的 啊,没有任何东西了,那么我们设置呢,就是这个的发音,然后这里面我就是我们现在这个悬壁梁吧,所以出水状态这里这这四个节点他都是全部固定的,全部啊,不叫固定吗?就是 你看一下第二个空,就是引力小白有 df, 其实他的位移,初始状态的位移和初始状态的速度,我们他都是零, 而且如果一般情况下,如果你这个都是零的话,其实他默认就是零,所以这一步可以不操作啊, 我为了演示一下,就操作一下这处置状态,然后还有一个边界条件,就是什么呢?我们的右边啊,左边他是一个固定制作,对吧?啊?固定的约束,所以他要把这个奥迪 uf 全部给他写上,就是左边这个点是完全固定的。 好,接下来就是这个载后了,我们再来看一下这个载后的时间历程,零到二十二点五,二十二点五到十十直接降下来, 那么我们刚刚设置的这个初始状态呢?其实就相当于对应的,我们这个是注标原点,所以我们这里面,你看这里面有分生成几段,一就一个上升段,一个下降段,一个一个这个接月段,就是那个直接降从十降到零的这个段一共有相当于有一共有三个段, 三段,所以我们要建三个分析部,第一个分析部就是从相当于从零到二十二点五这样一个部,这样一个部,那么这个部因为他是一个线性变化的啊。我们来看一下 第一个第一个步是零到二十二点五,那么在这里面要首先要有个时间,这个是零点五,对吧?这个零点五在哪设置呢?我们只要找到爱的是 type, 找到这个十六星 ctrl 就是计算控制这一块 出现这个对话框,一般来讲我们用第一个默认的这个麦斯克这个对话在这里面设置就行了。现在我们看刚刚说对应的这个第一个阶段对应的时间是零点五,我们就给他设成零点五, 然后这个东西如果一般情况就是我们就是认为是这个变,就是什么,就是小位移的,就不是什么大变形,是变形非常 强大的一种啊,小位移的情况下,然后这个里面呢,我们用他这个有两个选择的,一个是就是 number 上上,不是就是他这个分析的,其实就是迭代里面的一些算法吧,就分析到底让他算多少步,或者呢?让他有个时间,给一个时间增量, 我们就给个时间质量吧,就零点零一,好吧,给个时间质量零点零一, 然后这里面我们把用这个默认的啊,就是这个奥特曼就自动的一个时间增量,自动的一个时间这个时间这个零点零一,其实相当于他的一个 初始直吧,或者一个一个设定值啊,因为如果你完全自动的话,你也不好,对吧?肯定有一个初初始初始直的一个一样一样一个东西啊。然后还有这个输出的这个一块叫 rider item to result fire, 就是输出的时候我们让他干嘛呢?我们让他输出的多一点,就是他每一个分析止步 substab 都给他输出 and 等于一, 这是第一个 basic 这个框里面,然后在这个 transistor 里面也可以选我们刚刚刚刚的第一个记分析部,刚刚是从零到零点五,这个时间是零到零点五,然后力呢?是从零到二十二点五,对吧?所以它不是一个跳跃函数,它是个 rampard ramp 的揉脸,所以我们要把这个点给他点上,然后这边啊单品这个,这个是阻力,这一块有阿法阻力和白塔阻力,对吧?啊?质量质量,这个阻力呢?我们默认为零,然后这个刚度阻力我们给他设置一下,就零点零二,这个阻力就根据实际条 条件算的啊,我们这里面就讲四十零点零啊,然后其他的这些东西我们全部不管他啊,包括这一款这个飞仙星的,高级飞仙星的我们都不管他,这样我们这个第一个分析分析部的这个时间项就设置完了, 时间设置完了,我们这个力的大小还没有设置,对吧?所以我们要在这个力的大小里面啊,得放下漏的转过去, 在这个这个其实跟净理学分析的加力的步骤完全一样,但是架的是外方向,三十啊,二十二点五,二十二点五, 这个是第一个分析止步啊,不叫分析补止吧,就第一个分析部就 stap one 就完了。那么这里完了之后你要要算一下,或者呢?是就是有两种方法, 一种就是直接点数,然后卡润特 as, 就是就是计算,就是算一次,相当于从第一个分析直播从零到零点五这个时间段他就算了一下。另外种你这里也可以不管他,先不管他在还就是在这个,嗯, low 的 就是 load, step up 就是在后部这个选项里面可以设置,就这个字 right, load 就是 right l s 就是从这里面可以可以设置,比如说我们刚开始第一个吧, step one, 对吧?所以我们说这个 s 速度一,然后就就相当于暂存一下 啊,还有刚刚说了这个这一款啊,奥特普的 ctrl 也可以设置一下,就是输出的结果的时候,我们要让他就输出的多一点,就是 every, 就每一个分析止步呢,都要是都要输出一下,这样 输出的结果多一点啊,这选择为一 f 里就是每一个分析我们都要分析好点, ok, 我们现在用的是这个方法,就直接用 carry l s, 就直接就是第一个窄头布设,设置完了之后我们递交计算此路行驶到 这个第一个在售在后部,完了啊,然后第二个在后部,先在先,不要着急看结果啊。然后是第二个在后部,我们根据重复一下刚刚的过程,就是找到爱丽丝 type, 找到十六星 control, 现在这个时间应该是一了,对吧?到一了 其他东西我们可以都不动,他都不动的。第二个分析部啊,第二个分析部是我们再看一下这个 ppt 啊,是从二十二点五到十,对吧?他也是一个连续变化的,也是一个连续变化的啊, 到一时间是到一,这个这个什么时间增量啊什么的都不管,都不变。这里面呢,他也是个连续变啊,所以还是 ramp 总结什么呢?肯定不会变啊,所以这个给他点, ok, 然后载盒里面他要变成了是十,对吧?所以我们先,我们先把原来的这个二十二点五给他,先给他删掉啊, 重新给他加上一个十 十, ok, 然后其他的,嗯,这些其实刚刚如果你设置完了之后,这 都不变了,就还是保存原来的设置,就是这个输出的时候,是每个分每个分析部都输出的,然后呢? ry 错误了,直接就错误了,这是第二个分析部,第二个分析部求解又结束,然后就是第三个分析部,从十,从十降到降,降到零的开始得 重,再重复一遍啊。第三个分析部的话有个不一样的地方是什么呢?先先说时间啊,时间是是一点五,对吧? 时间是一点五,这个时间都不变,不一样的地方是什么?他是不是连续变化的,而是这个 step 的就是节约变化跳跃函数啊,所以要选择这个 stepped loading, 其他的东西都不变。 ok, 然后窄号,因为第第呃 呃,就是第三个分期,会是送十遍话到零吗?所以这个整个过程,其实因为刚我们选的这个 step 啊,就是一个借阅函数,所以这个力呢,是从这第三个里面,相当于这个力呢,是已经是等于零了,所以我们也必须要把这个力给它删掉。 ok, 然后顺便检查一下这个输出是不是还是这个一啊? ok, 没问题,然后点 carrant 计算, ok, 这样的话我们这三个分析部就全设置完了,并且计算,并且计算结束,我们就可以看结果了啊, 点击这个 times time history 这个后处理这个模块啊,自动出现这个对话框,他默认的已经有这个 time 在这在里面了啊,时间线已经在里 里面了,那么我们需要增加一个变量,对吧?增加的是外方向的位移吧,就这个,就这个点啊,右边这个点, 然后怎么看图形呢?点这个,这个跟前面都差不多了,这个就是我们这个悬壁梁右边受到这样一个窄和撞击的时候,他的一个变化曲线 啊,可以看到从零开始这个位移啊,从零开始,刚开始,从从零到零点五的时候,零啊,零到零点五,零点五,这最应该是最高点吧, 这时候这个力呢,从一零变到了二十二点五,然后第二个阶段到一的时候,这里面就开始有震荡了,因为有阻力存在啊,有震荡,然后这个力呢也变小了,所以这个最大指呢也变小了一点。第三个阶段有 我节约函数啊,直接就给他力力,也就力就直接相当于直接把力给他撤掉了。第三个阶段是直接把力撤掉,然后他就相当于一个自由的自由这样子来回震荡。我们现在算的时间是算到一点,如果你是算的时间更长一点的话,这个这个曲线会慢慢的震荡,震荡,震荡,震荡趋向于零, 因为有阻力的存在肯定是最后是趋向于零的。好,我们来继续看一下,就是他的变整体的变形图是什么样子的呢? 啊?那么现在这个在时间历程下面,我们只能说是看某一个点,他的一个位移,或者什么应力啊什么的,他随时间变化的一个一个东西,对吧?其实动力学分,其实在动力学里面最关心的还是他这个位移啊,所以我们这输出的都是位移曲线,那么在整体来看我们怎么。