首页/文章/ 详情

Excel函数:从知识付费到自我提升的旅程-14

1月前浏览193

在 Excel 函数的探索之路上,我们已经介绍了众多实用的函数。回顾一下,前面我们介绍了 SUM、VLOOKUP、IF、AVERAGE、COUNT、MAX、MIN、ROUND、CONCATENATE、SUMIF、LEFT、RIGHT、MID、LEN、INDEX、MATCH、HYPERLINK、SUBTOTAL、AGGREGATE、TEXT、OFFSET、ROW、COLUMN、INDIRECT、ISNUMBER、AND、OR、NOT、COUNTA、FIND、UPPER、LOWER、PROPER、TRIM、VALUE、DATE、YEAR、MONTH、DAY、DATEDIF、IFERROR、ABS、INT、ROUNDUP、ROUNDDOWN、SUMPRODUCT、STDEV、AVERAGEIF、COUNTBLANK、ISBLANK、PMT、FV、PV、NPER、RATE、HYPERLINK 的高级应用、INDEX 和 MATCH 函数的组合应用、SUMIFS、COUNTIFS、AVERAGEIFS、SUBSTITUTE、REPLACE、LENB、CODE、CHAR。

现在,让我们继续开启新的篇章。

一、ISEVEN 函数

  1. 函数介绍:ISEVEN 函数用于判断一个数值是否为偶数。如果是偶数,返回 TRUE;否则返回 FALSE。

  2. 应用场景:在数据筛选和分类中,可以快速判断数值的奇偶性。例如,统计偶数编号的产品数量。

  3. 示例:假设 A1 单元格中有数值 10,“=ISEVEN (A1)” 将返回 TRUE。

二、ISODD 函数

  1. 函数介绍:ISODD 函数用于判断一个数值是否为奇数。如果是奇数,返回 TRUE;否则返回 FALSE。

  2. 应用场景:与 ISEVEN 函数相对,用于判断数值的奇数性。比如,筛选出奇数行的数据进行分析。

  3. 示例:若 B2 单元格中有数值 7,“=ISODD (B2)” 将返回 TRUE。

三、ROW 函数的扩展应用

  1. 函数介绍:ROW 函数不仅可以返回指定单元格的行号,还可以结合其他函数进行动态引用。

  2. 应用场景:在生成动态序号、进行数据排序和引用特定行的数据时很有用。例如,根据当前行号进行条件判断。

  3. 示例:假设要在一列数据中每隔三行进行一次标记,可以使用 “=IF (MOD (ROW (),3)=0,"标记","")”。

四、COLUMN 函数的扩展应用

  1. 函数介绍:COLUMN 函数除了返回指定单元格的列号,还可以与其他函数配合使用,实现动态引用列数据。

  2. 应用场景:在复杂的数据处理中,可以根据列号进行动态的数据提取和分析。例如,根据当前列号进行特定的计算。

  3. 示例:若要在一个表格中每隔两列进行数据求和,可以使用 “=SUM (OFFSET ($AA$1,0,COLUMN()*2))”。

五、TRANSPOSE 函数

  1. 函数介绍:TRANSPOSE 函数用于转置数据区域,即将行数据转换为列数据,列数据转换为行数据。

  2. 应用场景:在数据整理和分析中,当需要改变数据的排列方向时非常有用。例如,将横向排列的数据转换为纵向排列。

  3. 示例:假设有一个 3 行 4 列的数据区域 A1:D3,选择一个 4 行 3 列的区域,输入 “=TRANSPOSE (A1:D3)”,然后按 Ctrl+Shift+Enter 组合键,即可将该数据区域转置。

来源:TodayCAEer
UM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-19
最近编辑:1月前
TodayCAEer
本科 签名征集中
获赞 18粉丝 28文章 243课程 0
点赞
收藏
作者推荐

快速学会一项分析-内燃机系统的螺栓预紧力分析-OS-T:1390

螺栓预紧力的分析对于内燃机系统是极其必要的,因为它直接关系到系统的稳定性和安全性。内燃机在运行时会产生剧烈的振动和高温,这些都会对螺栓连接产生影响。如果螺栓的预紧力不足,可能会导致连接部位的松动,进而引发噪音、磨损加速,甚至结构损坏。反之,如果预紧力过大,则可能会造成螺栓或连接部件的过早疲劳或断裂。因此,通过精确的预紧力分析,可以优化螺栓的拧紧工艺,确保连接的紧密性和可靠性,延长内燃机的使用寿命,同时也提高了运行的安全性。同时可以分析系统在指定预紧力工况下的结果指标此外,适当的预紧力还可以确保需要密封的连接部位的密封性能,防止液体或气体的泄漏。本教程介绍了在IC引擎的一部分上执行1D和3D螺栓预紧力分析的过程。通过对预紧力的分析,我们测量了由四个螺栓连接的系统(包括气缸盖、垫片和发动机机体)在每个螺栓施加4500牛预紧力时的响应。在开始之前,请将本教程中使用的文件复制到您的工作目录。http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-1390/Pretension.zip图1.显示气缸盖、发动机缸体和气缸盖螺栓的模型该模型由八个预定义的component以及它们相应的属性和材料分配组成。定义了一个接触面(PT_Surf),用于对现有预紧面进行三维预紧。在四个螺栓中的两个也创建了用于一维预紧的预紧部分,并使用一维梁单元(通过刚性)重新连接了分割的螺栓。View下还提供了一个预定义的可视化辅助工具,它允许您轻松查看四个螺栓的预紧部分。各个部分之间的接触面和接触面(TYPE=FREEZE)也已经创建,所以你可以专注于本教程的预紧方面。。螺栓Pretensioned分析在工程中很多component是使用螺栓组装在一起的,螺栓通常在施加工作载荷之前进行预紧。典型序列如下所述。有关更多详细信息,请参阅用户指南中的预紧螺栓分析。在第1步中,在初步组装结构时,通常通过施加规定的扭矩(根据螺纹的螺距转化为规定的张力)来拧紧相应螺栓上的螺母。结果是,螺栓的工作部分缩短了ΔL的距离。该距离取决于施加的力、螺栓和被预紧零件的柔度。图2.预张紧组装的步骤1.预紧载荷的应用从FEA分析的角度来看,重要的是要认识到:·预紧力实际上通过从活动结构中去除一定长度的螺栓来缩短螺栓的工作部分(实际上,该段是通过螺母滑动,但实际效果是缩短螺栓的工作长度)。同时,螺栓会拉伸,因为现在螺栓材料的较小有效长度必须跨越从螺栓安装座到螺母的距离。·计算每个螺栓由于施加的力F而产生的缩短ΔL,需要在施加预紧力的情况下对整个模型进行有限元求解。这是因为由于给定的力而产生的螺母移动量取决于螺栓的柔度,以及被螺栓连接的component的柔度,并且还受到多个被预紧螺栓之间的交叉相互作用的影响。在第1步结束时,每个螺栓的缩短量ΔL被确定并“锁定”,只需将螺母留在他们在预紧步骤中达到的位置。在第2步中,随着所有螺栓的缩短ΔL锁定,其他载荷被施加到component上。在这个阶段,螺栓中的应力和应变通常会发生变化,而每个螺栓去除的材料长度ΔL保持不变。图3.预张紧组装的第2步.施加锁定螺栓缩短的工作载荷一、启动HyperMesh并设置OptiStruct用户配置文件1.启动HyperMesh。此时将打开UserProfile对话框。2.选择OptiStruct然后单击OK。这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。二、打开模型1.单击File>Open>Model。2.选择保存到工作目录的Pretension.hm文件。3.单击Open。Pretension.hm数据库将加载到当前HyperMesh会话中,替换任何现有数据。三、设置模型本教程可帮助您将1D和3D螺栓预紧力应用于四个螺栓头(每个螺栓头两个),然后将压力载荷应用于受约束的系统。施加的压力载荷模拟了内燃机内壁上由于燃烧而产生的压力。发动机舱内的压力随时间变化;但是,您捕获了系统在特定时刻的响应,冻结在时间中。1Pascal的恒定单值压力载荷施加到气缸盖和发动机缸体的内壁。垫片的行为是非线性的,它可能会经历加载和卸载的循环,这会导致其在每个步骤中的特性发生变化。在本教程中,重点介绍1D和3D预紧力,垫片材料的加载和卸载路径通过相应LoadCollector引用的TABLES#条目预先填充到MGASK数据输入中。在非线性static分析运行时,将初始施加的压力载荷与载荷/卸载路径表中的相应值进行比较,并确定垫片的初始材料属性。通过MGASK数据输入的垫片的非线性特性是压力和闭合距离的函数(有关更多信息,请参阅MGASK批量数据输入)。已为所有接触零件预定义了FREEZE接触。图4.教程流程1233.1查看材料特性导入的模型包含大量预定义的信息,这使我们能够专注于本教程中的pretensioning部分。如前所述,所有材料和属性都是针对垫片、发动机缸体、气缸盖和气缸盖螺栓预定义的。钢的材料属性分配给除垫片之外的所有零部件。1.在ModelBrowser中,右键点击并选择ExpandAll。2.点击STEELModelBrowser中的材料。MAT1条目显示在EntityEditor中,并带有预填充的字段值。3.确保输入钢材材料属性的MAT1批量数据条目上的值,如下所示。图5.查看材料-钢4.在ModelBrowser中选择MAT1_gask。5.确保输入垫片材料属性的MAT1批量数据条目上的值,如下所示。图6.查看材料-垫片6.点击MGASK。7.确保输入垫片材料属性的MGASK批量数据输入值,如下所示。图7.查看非线性垫片材料属性-MGASKTip:图7中的TABLD和TABLU(1)字段(垫片加载和卸载过程)由分别命名为Gask_Load和Gask_Unload1的单独曲线中的TABLES1批量数据条目定义。8.单击Curves文件夹中的Gask_Load,然后右键单击并选择Edit以查看数据。9.确保输入定义垫片加载过程的TABLES1BulkDataEntry上的值,如下所示。图8.查看垫片加载路径-TABLES110.同样,确保输入定义垫片卸载曲线(曲线Gask_Unload1)的TABLES1BulkDataEntry上的值,如下所示。图9.查看垫片卸载过程-TABLES1Tip:您可以采用类似的方式查看其余的预定义数据条目,如属性和LoadCollector。查看LoadCollector的过程并不那么简单,在某些情况下如上所示;但是,为了您的利益,其他各种教程中已对此进行了详细说明。11.现在,可以通过单击Tools面板中的normals来查看垫片法向方向。12.要选择垫片component,请使用Show/Hide工具(图10)隐藏气缸盖,从而将垫片暴露在视图中。图10.蒙版(显示/隐藏)工具13.单击Show/Hide图标,然后右键单击气缸头以将其隐藏。垫圈现在应该可见。图11.使用Masking工具公开Gasketcomponent以查看14.以类似的方式,从视图中隐藏(右键单击)引擎缸体,以便能够更好地可视化垫片法向。15.再次点击Show/Hide图标将其取消选择,然后直接从模型视窗中选择垫片,然后点击displaynormals。垫圈法向可以在模型视窗中看到,如图12所示。请注意,所有法向都指向负Z方向。图12.选择Gasketcomponent图13.显示垫片法向(负Z方向)本教程的注释部分到此结束。现在,您将专注于生成接触界面、接触面和对头螺栓施加预紧力。3.2应用1D和3D螺栓预紧螺栓预紧分析确定系统的响应,该系统包含由于预紧力而将两个或多个component固定在一起的螺栓。在OptiStruct中,预紧应用于较早的SUBCASE,随后在寻求其效果的SUBCASE中引用它(STATSUB(PRETENS))。1.在ModelBrowser中,右键点击Component并从上下文菜单中选择Show。2.在ModelBrowser中,通过单击CYLINDER_HEADcomponent旁边的Elements图标来隐藏该component。Tip:View1,预定义的可视化选项,包含在ModelBrowser中的视图下。单击View1旁边的显示器形状图标;这将在ModelBrowser中加载一个预定义视图,允许您查看Y-Z平面中的所有四个螺栓。两个螺栓有沿其长度切断的圆盘形截面。然后使用1D梁单元(CBEAM)和每个螺栓的两个刚性星盘(RBE2)重新连接这些螺栓。1D预紧力现在可以应用于这两个螺栓。3D预紧力需要创建一个可以施加预紧力的表面。图14.使用预定义的可视化选项View1A面PT_Surf已预定义,以演示现有面上的3D预紧力。为了通过创建新面来额外演示3D预紧力,第四个螺栓保持不变。图15.本教学案例的螺栓预紧3.在菜单栏中,点击Tools>PretensionManager以访问PretensionManager。4.单击Add1DBolts并选择螺栓1和2中的两个1D梁单元(图18)。Tip:在图形区域中放大和定位Element以供选择时,必须注意不要使用Ctrl+鼠标左键。使用Ctrl+鼠标左键单击会导致模型绕轴旋转,从而脱离View1的Y-Z平面。建议在View1中工作时仅使用Ctrl+鼠标右键单击(拖动操作)。图16.选择预定义的1D单元进行预紧5.在PretensionManager窗口的LoadType列下选择两个字段(单击第一个字段,然后在按住Ctrl键的同时单击第二个字段)。单击第二个字段旁边的向下箭头,然后从下拉菜单中选择Force。6.以类似的方式,在LoadMagnitude列中为两个螺栓输入4500.0。7.单击Apply。对两个1D螺栓施加4500.0N的预紧力,如图19所示。图17.对1D单元施加预紧力(PTFORCE=4500N)8.点击Add3DBolts并选择SelectExistingSurface从下拉菜单中。9.单击Wireframeelementsskinonly图标,查看第三个螺栓上的预定义接触面PT_Surf。Tip:如果预定义的表面不可见,则通过单击旁边的图标打开ModelBrowser中的PT_Surf条目。10.单击bolt中显示的预定义表面,如图20所示,然后单击proceed。图18.选择预定义的PT_SurfSurface11.在LoadType列下选择Force并在LoadMagnitude列输入4500.0N,然后单击Apply。垂直于PT_Surf表面施加4500.0N的预紧力,如图21所示。图19.将4500N的预紧力施加到第三个螺栓上的预定义表面PT_Surf12.点击Add3DBolts并选择CreateNEWSurface从下拉菜单中。13.在图形区域下方的面板中3dfaces切换到elems。Tip:利用前面描述的单击和拖动(同时按住Shift键)来选择第四个Bolt的顶部,如图22所示。图20.创建用于预紧的新曲面14.单击图形区域下方面板中的nodes并选择垂直于Y-Z平面的表面中的所有节点,如图23所示。Tip:可以使用相同的单击和拖动技术来选择这些节点(绘制一个包含线条的窗口,因为垂直表面是Y-Z平面中的一条线)。图21.选择创建预紧面所需的节点15.点击create>return以返回到PretensionManager。16.在LoadType列下选择Force并在LoadMagnitude中输入4500.0N,然后单击Apply。图22.带有所有四个预紧螺栓的预紧力管理器17.点击PretensionManager中的OK查看所有四个螺栓及其各自的预紧力,如图25所示。图23.查看四个预紧螺栓3.3创建PretensionLoadstep和后续分析LoadstepOptiStruct非线性静力分析LoadStep将为预紧力和后续分析创建。由于存在接触元件和垫片加载/卸载路径,该分析是非线性的。CNTNLSUBBulkDataEntry用于在预紧后继续后续的非线性分析。此外,在analysisSUBCASE中使用STATSUB(PRETENS)引用预紧SUBCASE。LoadstepsBrowser将用于创建loadsteps并分配相应的数据条目。1.点击ShadedElements图标,CYLINDER_HEADModelBrowser中的BLOCK和LinesMeshcomponent以显示隐藏的component。2.单击Tools>LoadStepBrowser以访问LoadstepsBrowser。3.右键单击LoadstepsBrowser中的Loadsteps,然后选择Newloadstep。4.在Loadstepname:字段中,输入Pretension,然后单击Create。图24.创建PretensionSUBCASE5.从Loadsteptype选项卡的Loadsteptype:旁边的下拉菜单中选择Nonlinearstatic。6.切换到LoadReferences选项卡,然后单击subcase条目列表中的NLPARM。7.点击Availablenonlinearparameters:部分中的Nlparm,然后单击面向右侧的箭头将其添加到选定的nonlinearparameter:部分中。8.同样,单击SubcaseEntry列表中的SPC,并将AvailableSPCconstraint添加到SelectedSPCconstraints:部分。9.按照步骤6或7中的说明,将PRETENS_1添加到PRETENSIONSubcaseEntry部分的列表中。10.将所有三个SUBCASE条目添加到PretensionLoadStep后,单击OK。11.右键单击LoadstepsBrowser中的Loadsteps,然后选择Newloadstep。12.在Loadstepname:字段中,输入Pressure并单击Create。图25.创建PressureLoadstep13.从Loadsteptype选项卡的Loadsteptype:旁边的下拉菜单中选择Nonlinearstatic。14.切换到LoadReferences选项卡,然后单击subcase条目列表中的NLPARM。15.点击Availablenonlinearparameters:部分中的Nlparm,然后单击面向右侧的箭头将其添加到选定的nonlinearparameter:部分中。16.同样,单击subcase条目列表中的SPC,并将AvailableSPCconstraint添加到SelectedSPCconstraints:部分。17.按照步骤6或7中的说明,从STATSUB(PRETENS)Subcase条目部分将PRETENSION添加到列表中。18.同样,按照步骤6或7中的说明,从LOADSubcase条目部分将PRESSURES添加到列表中。19.单击CNTNLSUBSUBCASE条目并选中CNTNLSUB旁边的框,另外从CNTNLSUB旁边的下拉菜单中选择YES。20.将所有5个subcase条目添加到PressureLoadStep后,点击OK。21.单击Close退出LoadstepsBrowser。四、提交作业1.在Analysis页面中,单击OptiStruct面板。图26.访问OptiStruct面板2.单击saveas。3.在SaveAs对话框中,指定写入OptiStruct模型文件的位置,并为文件名输入Pretension。对于OptiStruct求解器模型,建议使用.fem扩展名。4.单击Save。inputfile字段显示在SaveAs对话框中指定的文件名和位置。5.将导出选项切换设置为all。6.将runoptions切换设置为analysis。7.将memoryoptions切换设置为memorydefault。8.单击OptiStruct以启动OptiStruct作业。如果作业成功,新的结果文件应该在写入Pretension.fem的目录中。Pretension.out文件是查找错误消息的好地方,如果存在任何错误,可以帮助调试输入模型。五、查看结果1.在命令窗口中收到消息Processcompletedsuccessfully时,单击HyperView。HyperView将启动并加载结果。此时将显示一个消息窗口,告知模型和结果文件已成功加载到HyperView中。2.单击Close关闭消息窗口。3.单击Contour工具栏图标。4.选择下面的第一个下拉菜单ResultType:并选择Displacement(v)。图27.HyperView中的云图面板5.单击Apply,从ResultsBrowser中选择Subcase2(Pressure)。创建位移的云图,如图29所示。气缸盖处于隐藏状态,以查看气缸盖螺栓的位移云图。图28.预紧后压力SUBCASE的位移云图在图29中,可以看到压力工况的位移图。最大位移约为0.089mm,发生在预紧螺栓头附近的区域。6.在Contour面板中选择GasketThickness-directionPressure,然后单击Apply。创建厚度方向上垫片压力的云图,如图30所示。其他component被隐藏起来,以便能够更好地查看垫片上的压力变化。图29.PressureSUBCASE的厚度方向上的垫片压力检查点:垫片在厚度方向上的最大压力等于0.21MPa。来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈