Ansys APDL施加任意形式载荷(线性/非线性,通过命令流/GUI)

本文详细介绍了在ANSYS中通过循环、NewTable、GUI和命令流施加线性及任意函数载荷的过程,包括梁单元的处理、表格类型载荷的定义、使用函数创建载荷以及面载荷和梯度荷载的实例。
摘要由CSDN通过智能技术生成

目录

1 通过循环施加梁单元线性均布载荷

1.1 命令流

1.2 结果

2 通过New Table表格类型施加“任意函数的”均布载荷

2.1 命令流

2.2 重要命令解释

3 通过GUI创建函数施加线性载荷(也可以非线性)

3.1 创建函数

3.2 加载函数,转换为表格载荷

3.3 施加载荷

3.4 使用命令流创建函数施加非线性载荷

4 通过GUI直接创建表格载荷

5 面载荷,梯度荷载施加例子


如果对命令流不熟悉,推荐使用第3,4部分的方法。

1 通过循环施加梁单元线性均布载荷

1.1 命令流

! 梁单元荷载施加例子
FINISH
/CLEAR,ALL
/PREP7
ET,1,BEAM189
MP,EX,1,2.1E5
MP,PRXY,1,0.3
MP,DENS,1,7850E-12

K,1     !第一个关键点
K,2,10  !第二个关键点
L,1,2   !创建一条线,选择两个关键点
LESIZE,ALL,,,10 !划分为10个单元,也就是单元长度为1
LMESH,ALL

*DO,i,1,10  !单元编号从1到10
SFBEAM,i,1,PRES,10+10*(i-1),10+10*i     !选择单元编号(i),Z轴方向(1),施加荷载,10+10*(i-1),10+10*i(梯度为10)
*ENDDO

*DO,i,1,10
SFBEAM,i,2,PRES,50+10*(i-1),50+10*i
*ENDDO

1.2 结果

 参考:

43梁单元均布荷载的施加_哔哩哔哩_bilibili

2 通过New Table表格类型施加“任意函数的”均布载荷

以悬臂梁为例子,展示了两种方法来施加三角分布载荷:

方法一:表格型数组载荷数据

方法二:通过命令SFL的参数值:VALI和VALJ

至于任意函数载荷,可以把任意函数理解为离散的三角分布载荷,类似于积分的概念,离散后,应用上述三角分布载荷施加的方法即可。

难点:理解表格载荷数据的作用规则和SFL命令的VALI和VALJ作用规则

更为普通的函数加载也是可以实现的,比如说在一个平面板上施加非均匀载荷,载荷是和板上坐标成函数关系的。

分析类型 静态分析:Antype,Statics

单元类型 2-D 8-Node or 6-Node 结构单元:PLANE183

2.1 命令流

!几何参数
MINLOAD=0  !最小载荷
MAXLOAD=1  !最大载荷
L=10       !悬臂梁长度
Thick=1    !悬臂梁厚度
E1=30e6    !材料弹性模量

!前处理-定义单元&材料
/PREP7
!单元类型
ET,1,PLANE183   !2-D 8-Node or 6-Node 结构单元:PLANE183
KEYOPT,1,3,3    !设置元素关键选项,选择单元类型,要定义的关键数目,设置值
KEYOPT,1,6,0
KEYOPT,1,10,0
R,1,Thick,      !定义元素实常量,实常数集标识号(任意),实常数值(解释为面积、转动惯量、厚度等,根据使用此集合的特定元素类型的需要)。(平面单元厚度是实常数
!材料模型
MPTEMP,,,,,,,,  !定义材料属性的温度表。
MPTEMP,1,0
MPDATA,EX,1,,E1    !定义要与温度表关联的属性数据。弹性模量,材料编号,表中用于生成数据的起始位置,属性数据值分配给从SLOC开始的六个位置。
MPDATA,PRXY,1,,.27 !定义要与温度表关联的属性数据。泊松比
MPDATA,DENS,1,,1   !定义要与温度表关联的属性数据。密度

!建模&划分网格(模型和网格均较简单,本案例直接在一次分析中建立了两个求解模型,
RECTNG,0,L,0,Thick    !模型一,在工作平面的任何地方创建一个矩形区域,X1,X2,Y1,Y2
RECTNG,0,L,10,10+Thick,  !模型二
AMES,ALL

!载荷施加&求解:这里重要学习表格型数组和通过SFL命令实现三角载荷的施加
*DEL,_FNCNAME   !删除一个或多个参数(GUI)。删除名称为_FNCNAME的参数。
*DEL,_FNCMTID   !删除名称为_FNCMTID的参数
*SET,_FNCNAME,'PRES1'   !设置参数_FNCNAME的值为'PRES1'

!%_FNCNAME%是数组名称,TABLE表示该数组是一个表格型数组,6,5,1定义了数组的维度,表示该数组是一个6行5列1深的三维数组。
*DIM,%_FNCNAME%,TABLE,6,5,1 !定义表格型数组参数及其维度。

!Begin of equation: {X}  !表格型数组赋值
*SET,%_FNCNAME%(0,0,1), 0.0, -999   !这句就是对(1,0,1)赋值为-999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), 0.0
*SET,%_FNCNAME%(4,0,1), 0.0
*SET,%_FNCNAME%(5,0,1), 0.0
*SET,%_FNCNAME%(6,0,1), 0.0
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, (MAXLOAD-MINLOAD)/L, 0, 0, 2
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 3, 2
*SET,%_FNCNAME%(0,3,1),   0, -1, 0, MINLOAD, 0, 0, -2
*SET,%_FNCNAME%(0,4,1), 0.0, -3, 0, 1, -2, 1, -1
*SET,%_FNCNAME%(0,5,1), 0.0, 99, 0, 1, -3, 0, 0
! End of equation: {X}
!-->
SFL,3,PRES, %PRES1%        ! 通过函数值赋载荷
SFL,7,PRES,MAXLOAD,MINLOAD ! 通过SFL命令VALI和VALJ作用规则,赋值载荷。
DL,4,,ALL,0
DL,8,,ALL,0
FINISH
/SOL
/STATUS,SOLU
SOLVE
FINISH

2.2 重要命令解释

*SET, Par, VALUE, VAL2, VAL3, VAL4, VAL5, VAL6, VAL7, VAL8, VAL9, VAL10

作用:为用户命名的参数赋值。

Par:用于标识此参数的字母数字名称(可由字母,数字,下划线组成)。

VALUE:分配给该参数的数字值或字母数字字符串(单引号内最多32个字符)。

VAL2-VAL10:如果Par是一个数组参数,则值VAL2到VAL10(直到最后一个非空值)依次分配给列的后续数组元素。

SFL, Line, Lab, VALI, VALJ, VAL2I, VAL2J

指定区域线条上的表面载荷。

LINE:表面载荷作用的线

LAB:有效的表面负载标签。在element Reference中的每个元素类型的输入表中的“表面负载”下列出了负载标签。

VALI,VALJ:线的第一个关键点(VALI)和第二个关键点(VALJ)的表面负载值,或用于指定表格边界条件的表名。如果VALJ为空,则默认为VALI。如果VALJ为零,则使用零。

DL, LINE, AREA, Lab, Value1, Value2

定义线上的自由度约束。

LINE:要指定约束的线。

在ANSYS参数化设计语言(APDL)中,参数名的两侧加上百分号(%)是代表字符串替换。

在APDL语言中,%PARAM%会被解析为PARAM参数的值。这样就可以动态地改变命令的内容。

例如,在*SET,_FNCNAME,'PRES1' 和 *DIM,%_FNCNAME%,TABLE,6,5,1这两条命令中,_FNCNAME变量被赋值为'PRES1',那么在执行*DIM,%_FNCNAME%,TABLE,6,5,1时,会把%_FNCNAME%替换成'PRES1',真实执行的命令就变成了*DIM,'PRES1',TABLE,6,5,1

数组索引是实数(非整数),必须在填充表时定义。行和列的索引号存储在零列和零行“数组元素”中,并且最初分配一个接近零的值。索引号必须按升序排列,并且仅用于检索数组元素。当检索一个实数索引与指定索引不匹配的数组元素时,在最近的索引和对应的数组元素值之间进行线性插值[*SET (p.1677)]。用于1、2-或3D表。

参考:

ANSYS中实现任意函数形式载荷的施加 - 知乎 (zhihu.com)

这几篇也值得看:

 ANSYS - 表格加载方法 - Sisyph_us - 博客园 (cnblogs.com)

在ANSYS中通过表格载荷法施加动态载荷 | 坐倚北风 (leanwind.com)

3 通过GUI创建函数施加线性载荷(也可以非线性)

3.1 创建函数

从菜单栏创建函数:

1中选择坐标系

2中输入函数

3中选择角度/弧度单位制

4中选择自变量

点击graph可以绘制函数图像:

也可以创建随时间变化的正弦函数:

将函数保存:

3.2 加载函数,转换为表格载荷

读取刚刚保存的函数文件并命名。

3.3 施加载荷

点击plot中的element返回对有限元单元的视图:

在主菜单栏里施加载荷:

                               

选择一个节点,通过现有表格添加载荷:

选择创建的SINF表格载荷:

3.4 使用命令流创建函数施加非线性载荷

可以查看存放所载入函数的表数组,单击菜单路径:
Utility Menu-Parameters-Array Parameters-Define/Edit Array
Parameters对话框
在Array Parameters对话框中,高亮度数组f,然后单击Edit按钮,显示
该表数组的内容。

观察所显示的内容,可以看到它与一般的表数组不一样,不是具体的压力数值,
而是以ANSYS特有的格式写出的一些数据。
但是它表示压力载荷的功能应该和
包含具体数值的表数组是类似的。
如果想以命令流的形式定义函数形式的表数组,可以在ANSYS中定义所需的函
数并存到函数文件中
再打开所需的函数文件(.func),将与表数组有关的内容拷贝到命
令流中需要的地方。

<EquationData ANSYS=221>

<Comments>

</Comments>

   <RegimeParameter>
      &lt;Regime Var&gt;
   </RegimeParameter>

   <AngularUnits type="0">
!      0 = radian, 1 = degrees
   </AngularUnits>
   <CoordinateSystem type="0">
   </CoordinateSystem>

   <FunctionType type="SINGLE">
   </FunctionType>

   <Regime tab="0">
      <TabTitle>
         Function
      </TabTitle>
      <Equation>
          10+{X}
      </Equation>
      <MaterialId active="0">
      </MaterialId>
   </Regime>

</EquationData>

<!--
!
! ANSYS input
!
:FUNC
*DIM,%_FNCNAME%,TABLE,6,3,1,,,,%_FNCCSYS%
!
! Begin of equation: 10+{X}
%_FNCNAME%(0,0,1)= 0.0, -999
%_FNCNAME%(2,0,1)= 0.0
%_FNCNAME%(3,0,1)= 0.0
%_FNCNAME%(4,0,1)= 0.0
%_FNCNAME%(5,0,1)= 0.0
%_FNCNAME%(6,0,1)= 0.0
%_FNCNAME%(0,1,1)= 1.0, -1, 0, 10, 0, 0, 2
%_FNCNAME%(0,2,1)= 0.0, -2, 0, 1, -1, 1, 2
%_FNCNAME%(0,3,1)=   0, 99, 0, 1, -2, 0, 0
! End of equation: 10+{X}
!-->

以!ANSYS input语句为分界,整个文件可以分为两部分,前面部分是计算程序,一般用户是很难弄懂的,也不必去弄懂它;后面部分是所生成的表数组的内容。只要把上述内容中*DIM,%FNC_NAME%.开始到最后一行代码的部分拷贝到命令流文件的适当位置,同时把所有的%FNC_NAME%修改为要定义的表数组名(如本例中的press),或者在该部分命令流之前将表数组名赋予变量FNC_NAME(对本例,执行命令_FNCNAME=‘press'),即可用于后续的加载命令了。

*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNCCSYS   
*SET,_FNCNAME,'press'  
*SET,_FNCCSYS,0 

参考:

ANSYS APDL 瞬态分析-施加任意函数形式载荷_apdl创建的热流如何导入到瞬态分析场里面-CSDN博客

在ANSYS Mechanical APDL中施加随函数规律变化的载荷 | 坐倚北风 (leanwind.com)

29.ANSYS 中使用函数加载的一个简单例子 (zhihu.com)

4 通过GUI直接创建表格载荷

详见这篇博客: 

常用的3种动载荷加载方法—必备技能-技术邻 (jishulink.com)

5 面载荷,梯度荷载施加例子

先定义载荷的设置settings,再通过apply应用载荷。

选择梯度荷载的GUI路径:

 

对应的命令流:

!面荷载的施加
finish
/clear
/prep7
mp,ex,1,2.1e5
mp,prxy,1,0.3
mp,dens,1,7850e-12

blc4,,,500,500

et,1,shell63

esize,50

amesh,all

sfgrad,pres,0,x,0,1

sfa,all,1,pres,200

参考:41集中荷载的施加_哔哩哔哩_bilibili 

  • 19
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值