单元在整体坐标系下的刚度矩阵
import java.util.Scanner;public class jbcs{static int N;//单元数static Double EI;//抗弯刚度static Double EA;//轴向刚度static Double α;//转角static Double l;//杆件长度static Double cos;static Double sin;static Double[][] T=new Double[6][6];//坐标转换转换static Double[][] k_ii;static int n=100;//结点位移数目Double[][] KK = new Double[n][n];//单元贡献矩阵Double[][] K_z =new Double[n][n];//整体刚度矩阵Double[][] K_z1=new Double[n][n];Double[][] K= new Double[6][6];//整体坐标系下的单元刚度矩阵static int[] k= {0,0,0,0,0,0};//定位向量矩阵public void kk(Scanner s) {jbcs jb=new jbcs();Double[][] k_ii= {{EA/l*Math.pow(cos, 2)+12*EI/Math.pow(l, 3)*Math.pow(sin, 2),(EA/l-12*EI/Math.pow(l, 3))*sin*cos,-6*EI/Math.pow(l, 2)*sin},{(EA/l-12*EI/Math.pow(l, 3))*sin*cos,EA/l*Math.pow(sin, 2)+12*EI/Math.pow(l, 3)*Math.pow(cos, 2),6*EI/Math.pow(l, 2)*cos},{-6*EI/Math.pow(l, 2)*sin,6*EI/Math.pow(l, 2)*cos,4*EI/l}};Double[][] K= {{k_ii[0][0],k_ii[0][1],k_ii[0][2],-k_ii[0][0],-k_ii[0][1],k_ii[0][2]},{k_ii[1][0],k_ii[1][1],k_ii[1][2],-k_ii[1][0],-k_ii[1][1],k_ii[1][2]},{k_ii[2][0],k_ii[2][1],k_ii[2][2],-k_ii[2][0],-k_ii[2][1],k_ii[2][2]/2},{-k_ii[0][0],-k_ii[1][0],-k_ii[2][0],k_ii[0][0],k_ii[0][1],-k_ii[0][2]},{-k_ii[0][1],-k_ii[1][1],-k_ii[2][1],k_ii[1][0],k_ii[1][1],-k_ii[1][2]},{k_ii[0][2],k_ii[1][2],k_ii[2][2]/2,-k_ii[2][0],-k_ii[2][1],k_ii[2][2]},};for(int i=0;i<6;i++) {for(int j=0;j<6;j++) {System.out.print(String.format("%6f",K[i][j])+" ");//输出整体坐标下的单元刚度矩阵}System.out.println();}System.out.println();add(s);for(int i=0;i<6;i++) {for(int j=0;j<6;j++) {if(k[i]!=0&&k[j]!=0) {KK[k[i]-1][k[j]-1]=K[i][j];}}}System.out.println("其单元贡献矩阵:");for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {System.out.print(String.format("%6f",KK[i][j])+" ");}System.out.println();}System.out.println();for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {K_z[i][j]=K_z[i][j]+KK[i][j];}}}public void cs0(Scanner s) {System.out.println("输入单元个数:");N=s.nextInt();System.out.println("输入位移个数:");n=s.nextInt();}public void cs1(Scanner s) {System.out.println("输入轴向刚度和抗弯刚度:");EA=s.nextDouble();EI=s.nextDouble();}public void cs(Scanner s) {System.out.println("输入单元杆件长度:");l=s.nextDouble();System.out.println("输入转角的cos值:");cos=s.nextDouble();System.out.println("输入转角的sin值:");sin=s.nextDouble();}public void add(Scanner s) {System.out.println("输入该单元的定位向量:");for(int i=0;i<6;i++) {k[i]=s.nextInt();}for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {KK[i][j]=0.0;}}}public static void main(String[] args) {Scanner s=new Scanner(System.in);jbcs bas=new jbcs();System.out.println("默认所有单元抗弯刚度和轴向刚度相同!!!");bas.cs1(s);bas.cs0(s);for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {bas.K_z[i][j]=0.0;}}for(int i=0;i<N;i++) {bas.cs(s);System.out.println("整体坐标系下的第"+i+"单元刚度矩阵:");bas.kk(s);}System.out.println("整体刚度矩阵:");for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {bas.K_z1[i][j]=bas.K_z[i][j];System.out.print(String.format("%6f",bas.K_z[i][j])+" ");}System.out.println();}ReverseMartrix re = new ReverseMartrix();re.main(args);s.close();}
}
单元在整体坐标系下的刚度矩阵相关推荐
- 不同坐标系下角速度_「分析」驱动桥传动系典型工况下的一体化动力学仿真
驱动桥是汽车总成中重要的组成部分,主要由主减速器总成.差速器.半轴和驱动桥壳等部分构成,其主要作用是将由传动轴传导来的转矩和力通过半轴分配到左右车轮,实现降低速度增大转矩的作用,同时改变转矩方向:当车 ...
- 在Excel单元格中使用下拉框
文章出处: http://www.cnblogs.com/huangcong/archive/2010/05/21/1740539.html 有时候我们只希望在Excel中的某个单元格中只允许输入某几 ...
- 柱坐标系下的ns方程_麦克斯韦方程组小结
一.▽ 算子.点积.叉积 l▽ 算子叫"del"算子,即<< span="">∂/∂x,∂/∂y,∂/∂z>,可以理解为一个符号向量,向 ...
- kitti数据集_KITTI数据集激光雷达坐标系下的里程计真值
由KITTI数据集Odometry模块的devkit_odometrydevkitreadme.txt所述,KITII数据集提供里程计的真值是在左相机表坐标系下的,并没有提供激光雷达坐标系下的真值.因 ...
- 将物体固定在坐标某个点_坐标变换(2)—不同坐标系下的变换
如下图所示,在自动驾驶车辆上会存在大量冗余的传感器,例如轮速传感器.激光雷达,毫米波雷达,摄像头,超声波雷达,GPS,IMU等.不同传感器对同一物体的测量原始结果都是在自身坐标下,所以首先我们需要对多 ...
- mavros 基于体轴坐标系下的无人机行人跟踪
该任务是为了实现无人机对于行人的跟踪,飞控采用的是px4,机载的板子是使用jetson nano.利用darknet_ros和自己训练的行人检测的yolov3 tiny模型,在jetson nano板 ...
- 【声辐射】——不同坐标系下的格林函数
概述 本文整理了不同坐标系下Helmholtz方程对应的格林函数 (∇2+k2)G(x)=δ(x)(\nabla^2+k^2)G(x)=\delta (x)(∇2+k2)G(x)=δ(x) 直角坐标系 ...
- 知乎问答 | 如何在同一坐标系下绘制多幅图形
在知乎上看到这么一个问题:rstudio将两个图放在同一坐标轴用什么函数?在这里回答一下. 小编推测提问者是想问"使用R语言绘图时怎么把不同的图形绘制在同一个坐标系中".那么这个问 ...
- 用tikz画球坐标系下的体积微元
最近上传热学,上来第一道作业就是球坐标系下导热微分方程的推导,我想着既然推导嘛,总得从画个好看的图开始
- 在excel的单元格中设置下拉菜单
很多时候我们在编辑excel的时候,在插入相同的内容时显得比较繁琐,下面教大家在excel单元格中设置下拉菜单,直接点击后更改单元格内容..步骤如下: 1.选中一列,然后点击菜单栏"数据&q ...
最新文章
- linux中的NFS服务器配置及/etc/exports
- calico的两种网络模式BGP和IP-IP性能分析
- 叮咚周边优惠卡券小程序V6.0.4 完整安装包
- email 添加附件 java_Java发送email 带附件 | 学步园
- webservice 安全性 对外_WebService安全性的几种实现方法【身份识别】
- 网站子域名扫描程序,采用三种扫描方式(crt网站查询、站长网站查询、字典暴力破解)
- 太阳直射点纬度计算公式_地理小常识:买房小技巧,房屋朝向、楼层和太阳高度角的关系...
- 最佳网络工具--OpManager局域网管理软件
- 本特利振动变送器990-05-50-02-00
- 精睿ESET_VC52_UPID获取器(8.25更新4.2.2.0)
- 批量图片压缩、生成PDF文件及PDF文件压缩
- STM32芯片无法正常工作的现象及原因分析集锦
- nios ii linux运行情况,在niosii上跑uClinux
- 判断用户首次登录的两种方式
- R语言中dim函数_R语言入门:函数介绍(3)—— %gt;%
- PowerVR SDK记录
- 2021最新分享阿里P6面经及心得
- 点对点传输现状,镭速高速点对点传输解决方案
- vue3—reactive如何更改属性
- 全球与中国四甲基氢氧化铵市场深度研究分析报告