首页/文章/ 详情

C3D8 BBAR UEL用户自定义单元二次开发(2)

1月前浏览597
   

概述

       

开发了适用于静力通用、频率分析和动力隐式(固定增量步长和自适应增量步长均可)的三维八节点线性UEL,即ABAQUS自带的C3D8单元,该UEL考虑了B-BAR修正,避免剪切锁死。

采用编写的UEL,分别设置了静力通用分析步、频率分析和动力隐式分析步,将计算结果与ABAQUS对比,位移、速度和加速度与ABAQUS均保持一致,说明该UEL复现了一小部分C3D8单元的计算功能。

帖子分为两部分



理论部分-C3D8  BBAR UEL用户自定义单元开发(1->结果部分-C3D8 BBAR UEL用户自定义单元开发(2
 


模型信息

     

悬臂梁尺寸:10x10x100,弹模1e10,密度200,泊松比0.25。不设置单位,纯验证。每个单元尺寸为:2x2x5

   

静力分析

       

边界条件一段固定,另一端受静力作用

   

荷载大小为:1e6,采用固定增量步长,计算总时长为10(静力计算中计算时长无意义,仅为验证设置),增量步长为0.01,总增量步数为1000。

总位移云图

   

加载向(U2、Y向)位移云图

   

梁向(U3,z向)位移云图

   

U1,x向位移云图

   

悬臂端角点加载向位移-荷载历程

   

注意这里的时间并没有物理意义,在静力通用分析步中仅仅是增量步的计算意义。

振动分析

       

边界条件,梁一端固定。计算前100阶频率信息。

1~41阶

   

41~56阶

   

55~100阶

   

第1阶振型

   

第2阶振型

   

第3阶振型

   

第20阶振型

   

第50阶振型:

   

第100阶振型

   

动力隐式分析

       

给悬臂端节点集 合施加简谐荷载,边界条件为

   

简谐荷载曲线

   

INP文件定义




*Amplitude, name=Amp-1, definition=PERIODIC1,              1.,              0.,              0.1.,              1.
 

荷载幅值为:1e6,对应的INP文件为



*Cload, amplitude=Amp-1Part-1-1.forced, 2, -1e+06
 

悬臂角点加载向(U2)位移时程曲线

   

悬臂角点轴向(U3)位移时程曲线

   

第3s加载向加速度云图

   

第7s加载向加速度云图

   

第10s加载向加速度云图

   
       

·私信获取全部程序·

     
     


来源:有限元先生
Abaqus振动二次开发通用理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-29
最近编辑:1月前
外太空土豆儿
硕士 我们穷极一生,究竟在追寻什么?
获赞 2粉丝 1文章 48课程 0
点赞
收藏
作者推荐

C++基础知识(二)

壹sizeof关键字在正式介绍数据类型之前先介绍一个关键字,这个关键字可以用来计算数据类型占用的空间大小,下面的代码是使用sizeof关键字计算整型数据类型占用空间的例子#include<iostream>usingnamespacestd;intmain(){intspace=0;space=sizeof(int);cout<<"int类型数据占用的空间大小为:"<<space<<"字节。"<<endl;system("pause");return0;}上面程序返回的结果int类型数据占用的空间大小为:4字节。后面的内容就用sizeof关键字查看数据类型占用的空间大小。贰整型整型数据类型用于储存整数型数据,整型数据还可以细分,分别为短整型、整型、长整型和长长整型,他们各自占用的空间大小和具体能表示的数字大小为数据类型标识符占用空间数据大小短整型shortint2字节-2^15~2^15-1整型int4字节-2^31~2^31-1长整型longint见注见注长长整型longlongint8字节-2^64~2^64-1注:对于longint(长整形)数据,Windows为4字节,Linux为4字节(32位),8字节(64位),(-2^31~2^31-1)。一般讲,一个字节占用8位,一位有0和1两种状态,对于短整型占用两个字节,一共是16位,如若不考虑正负号,可以表示数据的大小为:2^16~2^16-1,考虑到整型数字有正负号,则需要单独拿出来一位用于表示正负号,因此短整型可以表示的数据大小为:-2^15~2^15-1。对于其他类型的整型数据,可以按照同样的规律推算大小。下面的程序则返回了各种整型数据占用的空间大小#include<iostream>#include<string>usingnamespacestd;intmain(){cout<<"短整型数据占用的空间大小为:\t"<<sizeof(shortint)<<"字节。"<<endl;cout<<"整型数据占用的空间大小为:\t"<<sizeof(int)<<"字节。"<<endl;cout<<"长整型数据占用的空间大小为:\t"<<sizeof(longint)<<"字节。"<<endl;cout<<"长长整型数据占用的空间大小为:\t"<<sizeof(longlongint)<<"字节。"<<endl;system("pause");return0;}上面程序返回的的结果为短整型数据占用的空间大小为:2字节。整型数据占用的空间大小为:4字节。长整型数据占用的空间大小为:4字节。长长整型数据占用的空间大小为:8字节。叁浮点型数据浮点型数据用于表示小数,也可以用来表示整数,但是有可能造成空间浪费,,这对于强迫症患者是无法忍受的,更严重会造成数据计算时候数据类型不匹配的问题。浮点型数据也可以进行细分,可分为单精度和双精度,他们占用的空间大小和可表示的有效范围为数据类型标识符占用空间数据大小单精度float4字节7位有效数字双精度double8字节15位有效数字下面的程序则返回了两种浮点数据占用的空间大小#include<iostream>usingnamespacestd;intmain(){cout<<"双精度浮点数据占用的空间大小为:\t"<<sizeof(float)<<"字节。"<<endl;cout<<"单精度浮点型数据占用的空间大小为:\t"<<sizeof(double)<<"字节。"<<endl;system("pause");return0;}上面程序返回的的结果为双精度浮点数据占用的空间大小为:4字节。单精度浮点型数据占用的空间大小为:8字节。肆字符型数据字符型数据用来表示单个的字符,话不多说,直接上程序#include<iostream>usingnamespacestd;intmain(){charstr='a';cout<<"双精度浮点数据占用的空间大小为:\t"<<sizeof(char)<<"字节。"<<endl;cout<<"字符型变量str表示的字符为:\t"<<str<<endl;system("pause");return0;}上面程序声明了一个名称为str的字符,并且计算了char数据类型的占用空间,输出的内容为双精度浮点数据占用的空间大小为:1字节。字符型变量str表示的字符为:achar占用了1个字节的空间,就是8位,每个char只能表示一个字符,每个字符又对应了一个数字,即ASCII码,下面的程序查看了字符a对应的ASCII码值#include<iostream>#include<string>usingnamespacestd;intmain(){charstr='a';cout<<"字符a对应的ASCII值为:\t"<<int(str)<<endl;system("pause");return0;}输出的内容为字符a对应的ASCII值为:97所有的特殊字符都有对应的ASCII字符,详细的对应关系可以查看相应的书籍。壹字符串型数据声明字符数据有两种方法,分别是采用char和string,下面先介绍采用char声明字符串。#include<iostream>usingnamespacestd;intmain(){charstr[]="Iamatigger!";cout<<str<<endl;system("pause");return0;}采用char声明字符串的本质是创建了char类型的不定长数组。数组是后面的内容,下面采用string声明字符串。#include<iostream>#include<string>usingnamespacestd;intmain(){stringstr="Iamatigger!";cout<<"string类型数据占用的空间大小为:\t"<<sizeof(string)<<endl;cout<<str<<endl;system("pause");return0;}当采用string声明字符串的时候,必须包含string标准库文件,上面程序的第二行就是包含语句。上述程序的输出结果为string类型数据占用的空间大小为:28Iamatigger!以上是本次帖子的所有内容,后续会进行输入输出方面的程序介绍,终于可以和屏幕进行交互了!来源:有限元先生

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