FEM-master 2.zip

  • Jin660110
    了解作者
  • matlab
    开发工具
  • 2.6MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 5 积分
    下载积分
  • 0
    下载次数
  • 2021-12-30 23:12
    上传日期
It is a FEM code from Matlab,you can learn how to encoding by matlab
FEM-master 2.zip
  • FEM-master
  • output
  • element_displacement.dat
    141B
  • element_stress_big.dat
    104B
  • element_stress.dat
    95B
  • element_displacement_big.dat
    236B
  • src
  • utils
  • calAera.m
    219B
  • conjugateGradient.m
    919B
  • calWholeStiffnessMatrixSparse.m
    1.3KB
  • processForceSparse.m
    421B
  • solveEquation2.m
    1KB
  • elementStrain.m
    334B
  • calMatrixD.m
    642B
  • processConstraint.m
    587B
  • solveEquation.m
    1.5KB
  • openKspeace.m
    828B
  • calMatrixB.m
    1.1KB
  • processConstraintSparse.m
    473B
  • elementDisplacement.m
    659B
  • calWholeStiffnessMatrix.m
    1.6KB
  • elementStress.m
    314B
  • processForce.m
    554B
  • calElementStiffnessMatrix.m
    377B
  • img
  • 数据流程图-0.1.vsdx
    27.8KB
  • 数据流程图-0.1.jpg
    49.4KB
  • 甘特图.png
    61.4KB
  • WBS.jpg
    104.9KB
  • input
  • Sample
  • Sample.fem
    407B
  • Sample.mat
    33B
  • Sample.pqu
    174B
  • Readme.pdf
    42.7KB
  • Sample.uvw
    740B
  • bigSample
  • Test.fem
    1.3MB
  • forceCondition.dat
    908B
  • elementCoordinates.dat
    284.8KB
  • elementTopology.dat
    639.6KB
  • boundaryCondition.dat
    554B
  • sam1.0
  • forceCondition.dat
    24B
  • elementCoordinates.dat
    23B
  • elementTopology.dat
    23B
  • boundaryCondition.dat
    35B
  • old.7z
    324B
  • materials.dat
    15B
  • doc
  • FEM原理说明.docx
    61.3KB
  • 集成.docx
    58.9KB
  • painless-conjugate-gradient.pdf
    503.5KB
  • nabook.pdf
    1.6MB
  • main.m
    4.3KB
  • LICENSE
    34.3KB
  • README.md
    6.2KB
  • test.m
    7.6KB
内容介绍
有限元计算程序 -------------- 本程序是基于**弹性力学与有限元**课程的要求,实现有限元程序的计算部分。本项目使用 MATLAB 编程,以期达到运行效率与开发效率兼顾的目的。项目成员如下: - 张泽凡 - 黄鹤飞 - 王政荣 - 王艺杰 - 张家豪 - 梅杰 ## 程序结构 FEM/ ├── doc │   ├── FEM原理说明.docx │   ├── nabook.pdf │   ├── painless-conjugate-gradient.pdf │   └── 集成.docx ├── img │   ├── WBS.jpg │   ├── 数据流程图-0.1.jpg │   ├── 数据流程图-0.1.vsdx │   └── 甘特图.png ├── input │   ├── sam1.0 │   │   ├── boundaryCondition.dat │   │   ├── elementCoordinates.dat │   │   ├── elementTopology.dat │   │   ├── forceCondition.dat │   │   ├── materials.dat │   │   └── old.7z │   └── Sample │   ├── Readme.pdf │   ├── Sample.fem │   ├── Sample.mat │   ├── Sample.pqu │   └── Sample.uvw ├── LICENSE ├── main.m ├── output │   ├── element_displacement_big.dat │   ├── element_displacement.dat │   ├── element_stress_big.dat │   └── element_stress.dat ├── README.md └── src ├── calElementStiffnessMatrix.m ├── calMatrixB.m ├── calMatrixD.m ├── calWholeStiffnessMatrix.m ├── calWholeStiffnessMatrixSparse.m ├── elementDisplacement.m ├── elementStrain.m ├── elementStress.m ├── openKspeace.m ├── processConstraint.m ├── processConstraintSparse.m ├── processForce.m ├── processForceSparse.m ├── solveEquation2.m ├── solveEquation.m └── utils ├── calAera.m └── conjugateGradient.m ## 工作分解结构图 <div align="center"> <img src="https://github.com/MajorChina/FEM/blob/master/img/WBS.jpg"> </div> <!-- ## 任务安排及进度 <div align="center"> <img src="https://github.com/MajorChina/FEM/blob/master/img/甘特图.png"> </div> --> ## 数据流程图 <div align="center"> <img src="https://github.com/MajorChina/FEM/blob/master/img/数据流程图-0.1.jpg"> </div> ## 编程规范 ### 编码格式 统一采用 UTF-8 编码 ### 用到的变量及其规定 #### 整体变量 结点个数 n 单元个数 m 全部结点坐标 all_element_X / n * 1 all_element_Y / n * 1 #### 输入文件格式 单元拓扑表 unit_topology_table / m * 3 所在行数即为单元的编号 约束 bound / 约束个数 * 3 代表: 点号 x/y(1/2) 位移大小 结点坐标 coord / n * 2 外力条件 P / n * 2 n为结点个数,每一行为“x y”,行数对应结点号,x为x方向上力 单元材料 materials / m * 2 材料,输入为m行,m为单元个数,每一行为“e u” #### 单元变量 单个单元的坐标使用两个列向量,依次为 i j m double element_X / 三行,一列 3 * 1 double element_Y / 三行,一列 3 * 1 单元刚度阵k element_k / 6 * 6 B矩阵 double matrixB / 3 * 6的矩阵 整体刚度阵K的储存 K 为一维数组 长度未知 下三角矩阵的值 K_info 储存主对角元在K中的位置 1 * n 整体的位移 whole_displacement / 2n * 1 ### 用到的函数文件及其规定 calMatrixB.m / 计算 B 矩阵 calMatrixD.m / 计算 D 矩阵 openKspeace.m / 计算一维半带宽方法下的整体的劲 / 度矩阵K中所包含的元素个数 calArea.m / 返回三角形单元的面积 calElementStiffnessMatrix.m / 返回单元的劲度矩阵 calWholeStiffnessMatrix.m / 计算一维半带宽方法下的整体的劲度矩阵K calWholeStiffnessMatrixSparse.m / 计算稀疏矩阵方法下的整体的劲度矩阵K elementStrain.m / 计算单元应变 elementStress.m / 计算单元应力 elementDisplacement.m / 通过整体结点位移计算各个单元的节点位移 processConstraint.m / 对 K 进行处理,使其满足约束 processConstraintSparse.m / 函数对K进行处理,使其满足约束 / 用于稀疏矩阵方法 processForce.m / 对P进行处理,使其满足约束 processForceSparse.m / 函数对P进行处理,使其满足约束 / 用于稀疏矩阵方法 solveEquation.m / 直接法解整体结点平衡方程 solveEquation2.m / 迭代法求解方程 ### 文件命名 开头小写、驼峰命名法 unitArea.m unitStiffnessMatrix.m ### 函数命名 开头小写、驼峰命名法 ### 变量命名 变量 下划线链接,小写 element_displacement whole_displacement 常量 全部大写 E Result ------ 直接法用时: Elapsed time is 716.791396 seconds. 迭代法用时: Elapsed time is 42.631346 seconds. 716.791396 / 42.631346 ans = 16.8137 License ------- Copyright 2016 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; If not, see http://www.gnu.org/licenses
评论
    相关推荐