欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Abaqus中施加移动车辆荷载(待整理)

发布时间:2025/7/14 编程问答 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Abaqus中施加移动车辆荷载(待整理) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在工程实际应用中,我们经常会遇到移动载荷的例子,如车辙实验,汽车过桥等。今天就介绍一下用abaqus子程序Dload实现移动载荷。

Dolad:隐式求解算法

Vdload:显示求解算法

(1)Dolad简介

Dload 函数体和各参数物理意义如下:SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,JLTYP,SNAME)

F

需要自己定义的载荷

KSTEP

载荷步数(如第一个载荷步、第二个载荷步)

KINC

增量步数

TIME

Time(1)载荷步时间、Time(2)总时间

NOEL

单元编号

NPT

单元积分点编号

LAYER、KSPT

和LAYER SOILD相关

COORDS

积分点坐标

JLTYP

载荷类型

SNAME

名称

(2)案例

如图所示,物体表面作用一个压力载荷P(t),同事这个载荷在面内以一定速度V移动

Dload.for子程序源码

SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,

1 COORDS,JLTYP,SNAME)

INCLUDE 'ABA_PARAM.INC'

DIMENSION TIME(2), COORDS (3)

CHARACTER*80 SNAME

PARAMETER(P0=5e4,Dm0=250,Dmiu=0.002,speed=80/3.6,DL=6.0,width=0.2)

Pi=3.1415926535897932384626433832795

omega=2.0*Pi*speed/DL !角速度 speed为移动速度

Disp=TIME(1)*speed !移动距离

xMin=Disp+0.002 !0.002 设置误差范围,积分点坐标和节点坐标不一样

xMax=Disp+width-0.002 ! width 加载宽度

IF(COORDS(1).ge.xMin.and.COORDS(1).lt.xMax)THEN !判断坐标位置

F=P0+Dm0*Dmiu*omega*omega*sin(omega*TIME(1)) !定义载荷大小

ELSE

F=0

END IF

RETURN

END

(3)Abaqus操作

1、用general static 分析步设置成fixed 增量步这样可以等间隔的时间输出结果

2、定义载荷load的时候选pressure 在distribution中选user-defined

3、建立job 在general选项中 添加Dload.for 文件目录

4、结果

(5)总结

Abaqus的Dload子程序让用户可以自定义各种复杂的非均布载荷,比如和坐标或者时间相关的载荷,其实只要知道了Dload各参数的意思,用起来也比较得心应手。

 

 

DLOAD子程序说明

———————————————————————————————————— 

Use this subroutine to define nonuniform, distributed
mechanical loads (pressures and body forces).

使用此子程序定义非均匀的分布式机械负载(压力和体力)。

当负载是时间和/或位置的复杂函数时,通常使用用户子程序DLOAD。

通常可以用* AMPLITUDE选项建模简单的时间函数。

子程序也可以用来定义一个随元素号和/或积分点数而变化的负载。

———————————————————————————————————— 

一般用法,在INP文件中定义载荷施加的位置(关键字),求解时让其与子DLOAD子程序关联。

当* DLOAD或* DSLOAD选项包含不均匀的加载类型标签时,子程序被调用。

*DLOAD 1, P4NU

(Apply nonuniform DLOAD to face 4 of element 1,)

“ABAQUS /Standard”手册中给出了可用于任何特定单元的非均匀分布载荷类型列表。

DLOAD子程序接口

 

SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,1 COORDS,JLTYP,SNAME) CINCLUDE 'ABA_PARAM.INC' CDIMENSION TIME(2), COORDS (3)CHARACTER*80 SNAMEuser coding to define FRETURNEND

 

 

子程序中的各个参数的意义可以参考ABAQUS帮助文档

F——分布负载的大小

KSTEP——分析步

TIME(1)——步进时间的当前值或负载比例因子的当前值

TIME(2)——当前总时间值

NOEL——单元编号

NPT——根据负载类型,在元素或元素表面加载积分点数。

LAYER——层数

KSPT——当前图层中的Section point

COORDS——积分点坐标(数组)

JLTYP——DLOAD调用的载荷类型的标识

 SNAME——表面加载定义的表面名称(JLTYP = 0)。 对于身体力或基于单元的表面载荷,表面名称以空白形式传递

供参考的子程序

———————————————————————————————————— 

SUBROUTINE DLOAD(F, KSTEP, KINC, TIME ,NOEL, NPT,1 LAYER, KSPT, COORDS, JLTYP, SNAME) C C EXPONENTIAL PRESSURE LOAD CINCLUDE ‘ABA_PARAM.INC’ CDIMENSION COORDS(3),TIME(2)CHARACTER*80 SNAMEDATA TEN,ONE,CONST /10.,1.,-23.03/F=TEN*(ONE-(EXP(CONST*TIME(1))))IF(NPT.EQ.1) WRITE(6,*) ‘ LOAD APPLIED’,F,’AT TIME=’,TIME(1)RETURNEND

 ———————————————————————————————————— 

 (

用户只能定义变量F 这是分布式负载的大小,单位取决于分布式负载的类型:

FL–1 对于沿一维(梁)单元的线载荷,

FL–2 表面负荷(例如压力)和

FL–3 体力(例如重力,向心力,加速度)。

 

转载于:https://www.cnblogs.com/jiangkejie/p/10231775.html

总结

以上是生活随笔为你收集整理的Abaqus中施加移动车辆荷载(待整理)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。