【刚度矩阵推导】2d frame 单元
2d frame 单元是x-y平面上的单元,每个节点上有2个平移自由度的和一个转动自由度.局部坐标系下,单元位移向量为:
\(
u=[ u_1 ,u_2 ,u_3, u_4, u_5, u_6]^{T}
\)
其局部坐标系下的刚度矩阵可以由2d truss单元和2d bornoulli-beam单元的刚度矩阵组合而成.
使用matlab进行推导:
% ! bornoulli-beam element stiffness matrix in local system
clc
clear
syms E Iz L A
a=0.5*L;
k_e_bornoulli_beam_stiffness=E*Iz/(2*a^3)*[3 3*a -3 3*a ;3*a 4*a*a -3*a 2*a*a; -3 -3*a 3 -3*a;3*a 2*a*a -3*a 4*a*a ];
disp('k_e_bornoulli_beam_stiffness:')
simplify(k_e_bornoulli_beam_stiffness)
% todo : 2d truss element stiffness matrix in local system
k_e_2d_truss_stiffness=(E*A/L)*[1 -1; -1 1];
% todo : elem's dof
frame_2d_stiffness=sym(zeros(6,6));
frame_2d_stiffness([1,4],[1,4])=k_e_2d_truss_stiffness;
frame_2d_stiffness([2,3,5,6],[2,3,5,6])=k_e_bornoulli_beam_stiffness;
disp('frame_2d_stiffness:')
simplify(frame_2d_stiffness)
<!-- 输出结果 -->
k_e_bornoulli_beam_stiffness:
[ (12*E*Iz)/L^3, (6*E*Iz)/L^2, -(12*E*Iz)/L^3, (6*E*Iz)/L^2]
[ (6*E*Iz)/L^2, (4*E*Iz)/L, -(6*E*Iz)/L^2, (2*E*Iz)/L]
[-(12*E*Iz)/L^3, -(6*E*Iz)/L^2, (12*E*Iz)/L^3, -(6*E*Iz)/L^2]
[ (6*E*Iz)/L^2, (2*E*Iz)/L, -(6*E*Iz)/L^2, (4*E*Iz)/L]
frame_2d_stiffness:
[ (A*E)/L, 0, 0, -(A*E)/L, 0, 0]
[ 0, (12*E*Iz)/L^3, (6*E*Iz)/L^2, 0, -(12*E*Iz)/L^3, (6*E*Iz)/L^2]
[ 0, (6*E*Iz)/L^2, (4*E*Iz)/L, 0, -(6*E*Iz)/L^2, (2*E*Iz)/L]
[-(A*E)/L, 0, 0, (A*E)/L, 0, 0]
[ 0, -(12*E*Iz)/L^3, -(6*E*Iz)/L^2, 0, (12*E*Iz)/L^3, -(6*E*Iz)/L^2]
[ 0, (6*E*Iz)/L^2, (2*E*Iz)/L, 0, -(6*E*Iz)/L^2, (4*E*Iz)/L]
【刚度矩阵推导】2d frame 单元的更多相关文章
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- Delphi 封装Frame到Dll文件
做项目的时候,发现这个Frame很好用,为了省空间.调用和修改方便,就将Frame封装到dll(动态链接库)里面,确实很好使. 效果图如下: 上图是临时测试用的,忘了将Frame的align设置成al ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
https://blog.csdn.net/zouxy09/article/details/9993371 自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一 ...
- lecture11-hopfiled网络与玻尔兹曼机
Hinton课程第11课 这部分的课程算是个知识背景,讲述RBM的来源吧,毕竟是按照hopfield--BM-RBM的路线过来的. 因为水平有限,都是直译,如果纠结某句话,肯定看不懂,所以这些课程只需 ...
- KCF目标跟踪方法分析与总结
KCF目标跟踪方法分析与总结 correlation filter Kernelized correlation filter tracking 读"J. F. Henriques, R. ...
- KCF追踪方法流程原理
读"J. F. Henriques, R. Caseiro, P. Martins, J. Batista, 'High-speed tracking with kernelized cor ...
- 此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库
警告:此编译单元不包含在frame元数据中指定的factoryClass,无法加载配置的运行时共享库.要在没有运行时共享库的情况下进行编译,请将 -static-link-runtime-shared ...
- Winograd Convolution 推导 - 从1D到2D
Winograd Convolution 推导 - 从1D到2D 姚伟峰 http://www.cnblogs.com/Matrix_Yao/ Winograd Convolution 推导 - 从1 ...
- 2d,3d中旋转推导
二维绕原点旋转,其实点为(x,y),旋转角度为黄色标注的角度. 推导过程如下: x' = r cos(al+be); y' = r sin(al+be);x '= rcosalcosbe-rsinal ...
- 我用MATLAB撸了一个2D LiDAR SLAM
0 引言 刚刚入门学了近一个月的SLAM,但对理论推导一知半解,因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程. (1)数据来源:德意志博物馆Deu ...
随机推荐
- Qt通用方法及类库6
函数名 //判断是否是IP地址 static bool isIP(const QString &ip); //判断是否是MAC地址 static bool isMac(const QStrin ...
- [转]CLion安装及无限试用
Clion安装及无限试用:链接:https://pan.baidu.com/s/1mreUx5QyS4nkVQMOhdjf7g提取码:ylqw 翻译 搜索 复制
- DotNetBar控件中,删除或移除AdvTree上指定名称的Node
废话少说,直接上核心代码: string deleteNodeName = "节点1"; //移除advTree上指定名称的Node Node deleteNode = advTr ...
- [转]JDBC与MySQL数据库
原文链接: 1.JAVA程序与MySQL数据库链接的基本操作详细演示与说明 2.Java JDBC连接数据库(数据库信息读取property文件) 3.JDBC与数据库
- .NET 依赖注入中的 Captive Dependency
大家好,上一篇我们分析了 .NET 依赖注入的默认行为,其实呢还没完全讲完.今天我先给大家出一道题: public interface IDbContext { } public class SqlS ...
- uwp 多语言和本地化
1. 在项目根目录创建Strings文件夹,再Strings文件夹创建需要的语言名子目录,再添加资源文件Resources.resw,目录构如: Strings\en-US\Resources.res ...
- .NET 异步 /Task
老版本的写法经常是以BeginXXX, EndXXX, 或者xx.xxxAsycn(........) 新的支持 async异步关键字配合Task可读性和易用性比老板好多了. 新旧例子: using ...
- A note on the calculation of some functions in finite fields: Tricks of the Trade解读
本节对该paper进行解读,记录笔记. 经常见到的是在素域\(F_p\)上计算的,尤其是双线性对出现后,在扩域\(F_{p^m}\)上计效率就需要优化了.该论文主要总结了一些在有限域上进行某些计算(求 ...
- NTRU
介绍 NTRU(Number Theory Research Unit),NTRU是一个带有专利保护的开源公开密钥加密系统,使用基于格的加密算法来加密数据.它包括两部分算法:NTRUEncrypt用来 ...
- Iterator迭代器接口(遍历Collection的两种方式之一)
使用 Iterator 接口遍历集合元素: Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素. GOF给迭代器模式的定义为:提供一种方法访问一个容 ...