计算力学课程设计

合集下载

等截面连续梁课程设计

等截面连续梁课程设计

等截面连续梁课程设计一、课程目标知识目标:1. 学生能理解等截面连续梁的基本概念,掌握其力学特性。

2. 学生能掌握等截面连续梁的内力分析方法,包括剪力图和弯矩图的绘制。

3. 学生能运用力学原理,解释等截面连续梁在实际工程中的应用。

技能目标:1. 学生能运用所学知识,解决等截面连续梁的简单实际问题。

2. 学生能通过计算软件,进行等截面连续梁的模拟分析和内力计算。

3. 学生能准确绘制等截面连续梁的剪力图和弯矩图,并进行合理的误差分析。

情感态度价值观目标:1. 学生培养对桥梁工程和建筑结构的兴趣,提高对工程学科的认识。

2. 学生在学习过程中,培养合作精神,学会分享和互助。

3. 学生通过学习等截面连续梁,认识到科学知识在实际工程中的重要性,增强社会责任感。

针对课程性质、学生特点和教学要求,本课程目标具体、可衡量,旨在使学生掌握等截面连续梁的基本知识和技能,同时培养他们的情感态度和价值观,为后续相关课程的学习打下坚实基础。

在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估的实施。

二、教学内容1. 等截面连续梁的基本概念与力学特性- 梁的定义、分类及等截面连续梁的特点- 等截面连续梁的支座类型及支座反力分析2. 等截面连续梁的内力分析- 剪力图和弯矩图的绘制方法- 支座反力、剪力和弯矩的相互关系- 连续梁的内力分布规律3. 等截面连续梁在实际工程中的应用- 桥梁工程中连续梁的设计与应用- 建筑结构中连续梁的受力分析及优化4. 计算软件在等截面连续梁分析中的应用- 常用计算软件的选择与操作- 模拟分析、内力计算及结果验证5. 实际案例分析- 选择具有代表性的等截面连续梁工程案例- 分析案例中的设计原理、计算方法和施工技术教学内容按照教学大纲安排,依次涵盖等截面连续梁的基本概念、内力分析、实际应用、计算软件应用及实际案例分析。

教材章节关联紧密,确保教学内容科学、系统。

在教学过程中,教师需关注学生对各知识点的掌握情况,并根据进度适当调整教学策略。

抗震设计课程设计计算书

抗震设计课程设计计算书

抗震设计课程设计计算书一、教学目标本课程的教学目标是使学生掌握抗震设计的基本原理和方法,能够运用相关知识对建筑结构进行抗震设计。

具体目标如下:1.掌握地震波的产生和传播原理。

2.了解地震动的特性及其对结构的影响。

3.掌握结构动力学的基本理论。

4.学习抗震设计的基本原则和方法。

5.熟悉抗震设计规范和标准。

6.能够进行地震波的时程分析。

7.能够运用结构动力学理论进行抗震计算。

8.能够根据抗震设计原则进行建筑结构的抗震设计。

9.能够正确运用抗震设计规范进行设计。

情感态度价值观目标:1.培养学生对地震安全的关注和责任感。

2.培养学生对科学研究的兴趣和好奇心。

3.培养学生团队合作和沟通的能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.地震工程基本概念:地震的产生、传播和特性。

2.结构动力学基本理论:地震波的时程分析、结构的动力响应计算。

3.抗震设计原则和方法:结构体系的抗震设计、抗震设计的计算方法。

4.抗震设计规范和标准:我国抗震设计规范、国际抗震设计标准。

5.抗震设计案例分析:分析实际工程项目中的抗震设计案例,学习抗震设计的实际应用。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:通过教师的讲解,使学生掌握地震工程的基本概念和理论。

2.案例分析法:分析实际工程项目中的抗震设计案例,使学生了解抗震设计的实际应用。

3.实验法:进行结构动力特性测试和抗震性能试验,使学生更好地理解抗震设计原理。

4.讨论法:学生进行小组讨论,培养学生的团队合作和沟通能力。

四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的抗震设计教材作为主要教学资源。

2.参考书:提供相关的专业书籍,供学生深入学习和参考。

3.多媒体资料:制作课件、教学视频等,以直观的方式展示地震工程的基本概念和理论。

4.实验设备:准备结构动力特性测试和抗震性能试验所需的实验设备,为学生提供实践操作的机会。

《建筑力学》教案

《建筑力学》教案

《建筑力学》教案一、教学目标1. 让学生了解和掌握建筑力学的基本概念、基本原理和基本方法。

2. 培养学生运用建筑力学知识分析和解决实际问题的能力。

3. 使学生熟悉建筑力学在建筑设计和施工中的应用。

二、教学内容1. 建筑力学的基本概念:力的概念、作用点和力臂、力的分解和合成、力的矩、力的平行四边形法则等。

2. 建筑力学的基本原理:平衡条件、静力平衡、动力平衡、简化原理、超静定结构等。

3. 建筑力学的计算方法:截面力、截面矩、剪力、弯矩、剪力墙、梁、柱、板的受力分析等。

4. 建筑力学在建筑设计和施工中的应用实例。

三、教学方法1. 采用课堂讲授、案例分析、互动讨论相结合的方式进行教学。

2. 利用多媒体课件、模型等教学辅助工具,增强学生对建筑力学概念和原理的理解。

3. 布置适量练习题,巩固所学知识,提高学生分析和解决问题的能力。

四、教学安排1. 课时:总共40课时,每课时45分钟。

2. 教学进度安排:第1-8课时:基本概念和基本原理第9-16课时:基本计算方法第17-24课时:应用实例分析五、教学评价1. 平时成绩:课堂表现、作业完成情况、练习题的正确率等,占总评的40%。

2. 期中考试:测试建筑力学的基本概念、基本原理和基本计算方法,占总评的30%。

3. 课程设计:分析一个建筑项目的力学问题,并提出解决方案,占总评的30%。

六、教学资源1. 教材:《建筑力学》,作者:X2. 课件:利用PowerPoint制作的课件,包括文字、图片、动画和视频等。

3. 模型:建筑力学相关模型,如梁、柱、板等。

4. 练习题库:包括选择题、填空题、计算题和案例分析题等。

七、教学过程1. 导入:通过一个实际建筑项目,引入建筑力学的基本概念和作用。

2. 课堂讲授:讲解建筑力学的基本概念、基本原理和基本方法。

3. 案例分析:分析实际建筑项目中的力学问题,引导学生运用所学知识解决问题。

4. 互动讨论:分组讨论,学生提出问题,教师解答,增强学生的理解和记忆。

课程设计题目机械类

课程设计题目机械类

课程设计题目机械类一、教学目标本课程的教学目标是使学生掌握机械类的基本概念、原理和应用,提高学生的科学素养和解决问题的能力。

具体目标如下:1.知识目标:学生能够理解并掌握机械类的相关概念、原理和特点,包括机械运动、力学、机械结构等;了解机械类在生产和生活中的应用,以及相关的安全知识和职业道德。

2.技能目标:学生能够运用所学的知识,分析和解决机械类相关的问题,如计算机械运动的速度、力量等,能够进行简单的机械设计、制作和维护。

3.情感态度价值观目标:学生能够培养对机械类的兴趣和好奇心,形成积极的学习态度和探索精神;了解机械类在人类社会中的地位和作用,树立正确的职业道德观和环保意识。

二、教学内容本课程的教学内容主要包括机械运动、力学、机械结构等方面的知识。

具体安排如下:1.机械运动:介绍机械运动的基本概念、类型和特点,包括直线运动、曲线运动、旋转运动等,以及相关的速度、力量等计算。

2.力学:讲解力学的基本原理,包括牛顿三定律、摩擦力、重力等,以及力学在机械类中的应用,如受力分析、力矩计算等。

3.机械结构:介绍机械结构的基本原理和设计,包括杠杆、滑轮、齿轮等,以及机械结构在机械类中的应用,如传动系统、运动控制系统等。

4.机械类应用:介绍机械类在生产和生活中的应用,如汽车、机器设备等,以及相关的安全知识和职业道德。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。

具体方法如下:1.讲授法:通过教师的讲解,使学生掌握机械类的基本概念、原理和应用。

2.讨论法:通过分组讨论,引导学生深入思考和探讨机械类相关的问题,提高学生的分析和解决问题的能力。

3.案例分析法:通过分析具体的机械类应用案例,使学生了解机械类在实际生产和生活中的应用,提高学生的实践能力。

4.实验法:通过实验操作,使学生直观地了解机械类的原理和应用,提高学生的实验技能和动手能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

理论力学课程设计实例

理论力学课程设计实例

理论力学课程设计实例一、教学目标本节课的教学目标是使学生掌握理论力学的基本概念、基本原理和基本方法,培养学生运用理论力学知识分析和解决实际问题的能力。

具体目标如下:1.知识目标:(1)了解力的概念、分类和作用效果;(2)掌握二力平衡、力的合成与分解、摩擦力、牛顿运动定律等基本力学知识;(3)熟悉静力学和动力学的应用范围和解决实际问题的方法。

2.技能目标:(1)能够运用所学的力学知识分析简单的静力学和动力学问题;(2)能够运用牛顿运动定律分析物体的运动状态和受力情况;(3)能够运用摩擦力公式计算摩擦力的大小。

3.情感态度价值观目标:(1)培养学生对理论力学的兴趣和好奇心,激发学生学习理论力学的积极性;(2)培养学生团队合作精神,通过实验和讨论等方式培养学生的交流和合作能力;(3)培养学生运用理论知识分析和解决实际问题的责任感和社会责任感。

二、教学内容本节课的教学内容主要包括力的概念、分类和作用效果,二力平衡、力的合成与分解、摩擦力、牛顿运动定律等基本力学知识。

具体内容包括:1.力的概念、分类和作用效果;2.二力平衡的条件和应用;3.力的合成与分解的原理和方法;4.摩擦力的概念、计算方法和应用;5.牛顿运动定律的内容、意义和应用。

三、教学方法为了提高学生的学习兴趣和主动性,本节课将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。

具体方法如下:1.讲授法:通过教师的讲解,使学生掌握基本概念、基本原理和基本方法;2.讨论法:分组讨论问题,培养学生的思考和交流能力;3.案例分析法:分析实际问题,培养学生运用理论知识分析和解决实际问题的能力;4.实验法:进行力学实验,观察实验现象,验证力学原理。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,将选择和准备以下教学资源:1.教材:《理论力学导论》;2.参考书:《理论力学简明教程》;3.多媒体资料:力学实验视频、图片、动画等;4.实验设备:力学实验器材、计算机等。

材料力学课程设计报告龙门刨床门架计算

材料力学课程设计报告龙门刨床门架计算

材料力学课程设计计算说明书设计题目:龙门刨床门架学号: 20097601姓名:张浩指导教师:完成时间:1. 设计的目的、任务及要求。

1.1 材料力学课程设计的目的。

本课程设计是在系统学完材料力学课程之后,结合工程实际中的问题,运用材料力学的基本理论和计算方法,独立地计算工程中的典型零部件,以达到综合运用材料力学知识解决工程实际问题的目的。

同时,可以使学生将材料力学的理论和现代计算方法及手段融为一体,即从整体上掌握了基本理论和现代的计算方法,又提高了分析问题、解决问题的能力;既是对以前所学知识的综合运用,又为后续课程的学习打下基础,并初步掌握工程设计思想和设计方法,使实际工作能力有所提高。

具体有以下六项:(1)使所学的材料力学知识系统化、完整化。

(2)在系统全面复习的基础上,运用材料力学知识解决工程实际中的问题。

(3)由于选题力求结合专业实际,因而课程设计可以把材料力学知识与专业需要结合起来。

(4)综合运用以前所学的各门课程的知识,使相关学科的知识有机地联系起来。

(5)初步了解和掌握工程实践中的设计思想和设计方法。

(6)为后续课程的教学打下基础。

1.2 材料力学课程设计的任务和要求参加设计者要系统复习材料力学课程的全部基本理论和方法,独立分析、判断设计题目的已知条件和所求问题,画出受力分析计算简图和内力图,列出理论依据并导出计算公式,独立编制计算程序,通过计算机给出计算结果,并完成设计计算说明书。

(1).设计计算说明书的要求设计计算说明书是该题目设计思路、设计方法和设计结果的说明,要求书写工整,语言简练,条理清晰、明确,表达完整。

具体内容应包括:①.设计题目的已知条件、所求及零件图。

②.画出结构的受力分析计算简图,按比例标明尺寸、载荷及支座等。

③.静不定结构要画出所选择的基本静定系统和及与之相应的全部求和过程。

④.画出全部内力图,并标明可能的各危险截面。

⑤.危险截面上各种应力的分布规律图及由此判定各危险点处的应力状态图。

计算流体动力学分析-CFD软件原理与应用课程设计

计算流体动力学分析-CFD软件原理与应用课程设计背景在现代工程设计与制造中,计算流体动力学(CFD)已经成为一种不可或缺的技术手段。

通过CFD软件,可以对流体在各种复杂模型中的运动行为进行模拟,进而评估不同设计方案的可行性和优化效果。

因此,掌握CFD软件原理及其应用,对于提高工程师的分析能力和解决实际问题具有重要的意义。

目的本课程设计的主要目的是:•探究CFD软件的原理和基本方法;•让学生掌握CFD软件的基本使用方法;•培养学生的分析和解决实际问题的能力;•提高学生对现代工程设计与制造技术的认识。

内容第一部分 CFD软件基础本部分主要介绍CFD软件的基础概念和原理。

1.1 什么是CFD?CFD是计算流体动力学(Computational Fluid Dynamics)的缩写,指的是应用数值方法来模拟流体运动的技术。

1.2 CFD的主要应用领域CFD广泛应用于航空航天、汽车工程、能源、环境工程、化工等领域。

1.3 CFD的基本方法CFD的基本方法包括离散化方法、求解方法和后处理方法等。

1.4 CFD软件的常用功能CFD软件的常用功能包括建模、网格生成、求解、模拟结果可视化等。

第二部分 CFD软件实践本部分主要介绍Ansys Fluent CFD软件的基本使用方法,通过几个实例进行演示。

2.1 Ansys Fluent的基本概念和操作界面介绍Ansys Fluent的基本概念和主要操作界面,包括设置求解器、建立求解域、模型输入等。

2.2 翼型流场的模拟通过对翼型流场的模拟,演示如何进行网格生成和求解,以及如何对结果进行可视化和分析。

2.3 冷却水循环系统的模拟通过对冷却水循环系统的模拟,演示Ansys Fluent在实际工程设计中的应用,以及如何通过CFD技术优化设备性能。

第三部分课程总结和展望本部分主要总结本课程的学习成果,并展望CFD技术在未来的应用前景。

教学方法及考核方式本课程采用理论授课和实验操作相结合的教学方法。

土力学课程设计

《土力学与地基基础》课程设计任务书一、挡土墙的设计(最多10人可选)1、挡土墙高5m背直立,光滑,墙后填土面水平,用毛石和M5水泥砂浆砌筑。

砌体抗压强度fk =1.07MPa ,砌体重度γk=22KN/m3,砌体的摩擦系数μ1=0.5。

填土为中砂,重度γ=18.5KN/m3,内摩擦角ψ=300,基底摩擦系数为值0.5,地基承载力设计值为160KPa.设计此挡土墙。

要求:绘出相应图形,列出具体计算过程(手算),并进行挡土墙尺寸及构造设计并绘图。

(最多4人可选)2、已知某挡土墙高8m,墙背倾斜ε=10°,填土表面倾斜β=10°,用混凝土砌筑,重度γk=4KN/m3.墙与填土摩擦角δ=20°,填土内摩擦角ψ=40°,c=0,γ=19KN/m3,基底摩擦系数μ=0.4,地基承载力设计值为200kpa.设计此挡土墙。

要求:绘出相应图形,列出具体计算过程(手算),并进行挡土墙尺寸及构造设计并绘图。

(最多4人可选)二、浅基础(最多36人可选)1.某厂房柱截面为600mm×400mm。

基础受竖向荷载Fk=1100KN,水平荷载Qk=68KN,弯矩M=120kN·m。

地基土层剖面如图所示.基础埋深2.0m,基础材料选用C15混凝土,试设计该柱下刚性基础。

(注:最多5人可选)设计地面粉质粘土,γ=19.2kN/m3,f ak=212KPae=0.78, I L=0.45, E S1=9.6MPa-5.00m 淤泥质粘土,γ=16.5kN/m3,f ak=80KPaE S2=3.2MPa2.某住宅外承重墙厚370mm,基础受到上部结构传来的竖向荷载标准值为280KN/m,弯矩标准值为60KN.m/m.土层分布如图所示,基础采用条形基础。

试分别设计砖基础、素混凝土基础。

(砖基础最多3人可选,混凝土基础最多3人可选)3.某工厂职工6层住宅楼,基础埋深d=1.10m。

T型梁桥梁课程设计

T型梁桥梁课程设计一、课程目标知识目标:1. 学生能理解T型梁桥梁的基本结构组成及其力学原理;2. 学生能掌握T型梁桥梁的施工工艺流程;3. 学生了解T型梁桥梁在我国交通建设中的应用及其重要性。

技能目标:1. 学生能够运用所学知识分析T型梁桥梁的受力情况,并进行简单的力学计算;2. 学生能够通过实际操作,掌握T型梁桥梁模型的制作方法;3. 学生能够运用相关软件或工具,对T型梁桥梁进行设计与优化。

情感态度价值观目标:1. 学生对桥梁工程产生兴趣,培养对工程建设的热爱和责任感;2. 学生在学习过程中,培养团队协作、沟通交流的能力;3. 学生通过学习桥梁工程,增强对我国交通事业发展的认识,激发爱国主义情怀。

课程性质:本课程为实践性较强的工程技术课程,结合理论知识与实际操作,旨在培养学生对T型梁桥梁的深入理解和实际应用能力。

学生特点:学生处于中学阶段,对工程技术有一定的好奇心,具备一定的动手操作能力,但理论知识掌握程度有限。

教学要求:结合学生特点,注重理论知识与实践操作相结合,充分调动学生的积极性,提高学生的动手能力和创新能力。

通过课程学习,使学生在掌握基本知识的基础上,达到预期的学习成果。

后续教学设计和评估将以此为基础,确保课程目标的实现。

二、教学内容1. T型梁桥梁基本概念:介绍桥梁的定义、分类及T型梁桥梁的特点;- 教材章节:第一章 桥梁概述2. T型梁桥梁结构组成与力学原理:分析T型梁桥梁的结构、受力特点及主要力学性能;- 教材章节:第二章 桥梁结构组成与力学原理3. T型梁桥梁施工工艺:讲解T型梁桥梁的施工流程、施工技术及质量控制;- 教材章节:第三章 桥梁施工工艺4. T型梁桥梁设计与优化:学习桥梁设计的基本原则、方法,运用相关软件进行T型梁桥梁设计与优化;- 教材章节:第四章 桥梁设计与优化5. T型梁桥梁案例分析:分析典型T型梁桥梁工程案例,了解桥梁在实际工程中的应用;- 教材章节:第五章 桥梁工程案例6. 实践操作:组织学生进行T型梁桥梁模型制作,巩固理论知识,提高实际操作能力。

材料力学课程设计

材料力学课程设计一、课程目标知识目标:1. 让学生掌握材料力学的基本概念,如应力、应变、弹性模量等;2. 培养学生运用材料力学知识分析简单构件受力情况的能力;3. 使学生了解不同材料力学性能的特点,并能进行简单的力学性能比较。

技能目标:1. 培养学生运用材料力学原理解决实际问题的能力;2. 培养学生通过实验、图表等方法收集、分析、处理材料力学数据的能力;3. 提高学生的团队协作能力和沟通表达能力。

情感态度价值观目标:1. 培养学生对材料力学的兴趣,激发学生的学习热情;2. 培养学生严谨的科学态度,树立正确的价值观;3. 使学生认识到材料力学在工程领域的应用,增强学生的社会责任感和使命感。

课程性质:本课程为专业性较强的学科课程,旨在帮助学生建立材料力学的知识体系,培养实际应用能力。

学生特点:学生处于高中阶段,具有一定的物理基础和逻辑思维能力,对专业学科有一定的好奇心。

教学要求:结合学生特点,注重理论与实践相结合,提高学生的动手能力和实际问题解决能力。

通过课程目标分解,实现教学设计和评估的针对性,确保学生达到预期学习成果。

二、教学内容1. 应力与应变的概念及其计算方法;2. 弹性模量、剪切模量、泊松比等力学性能指标;3. 材料的弹性、塑性和韧性特点;4. 轴向拉压、扭转、弯曲等基本受力形式及其计算;5. 材料力学实验方法及数据处理;6. 材料力学在实际工程中的应用案例分析。

教学内容安排与进度:第一周:应力与应变的概念及其计算方法;第二周:弹性模量、剪切模量、泊松比等力学性能指标;第三周:材料的弹性、塑性和韧性特点;第四周:轴向拉压、扭转、弯曲等基本受力形式及其计算;第五周:材料力学实验方法及数据处理;第六周:材料力学在实际工程中的应用案例分析。

教材章节关联:1. 《材料力学》第一章:应力与应变;2. 《材料力学》第二章:材料的力学性能;3. 《材料力学》第三章:轴向拉压与扭转;4. 《材料力学》第四章:弯曲;5. 《材料力学》第五章:实验方法与数据处理;6. 《材料力学》第六章:应用案例分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前言有限单元法是在当今工程分析中获得最广泛应用的数值计算方法,由于其通用性和有效性,受到工程技术界的高度重视。

伴随着计算机科学和技术的快速发展,现已成为计算机辅助设计和计算机辅助制造的重要组成部分。

由于有限元法是通过计算机实现的,因此有限元程序的编制及相关软件的研发就变得尤为重要。

从二十世纪五十年代以来,有限元软件的发展按目的和用途可分为专用软件和大型通用商业软件,而且软件往往集成了网格自动划分,结果分析和显示等前后处理功能,而且随着时间的发展,大型通用商业软件的功能由线性扩展到非线性,由结构扩展到非结构等等,这一系列强大功能的实现与运用都要求我们对有限元法的基础理论知识有较为清楚的认识以及对程序编写的基本能力有较好掌握。

一、有限元分析程序的理论基础作为弹性力学微分方程的等效积分形式,虚位移原理和虚应原理分别是平衡方程与力的边界条件和几何方程与位移边界条件的等效积分形式。

将物理方程引入虚位移原理和虚应力原理可以分别导出最小位能原理和最小余能原理,它们本质上和等效积分的伽辽金“弱”形式相一致,这是建立弹性力学有限原方程一般表达格式的理论基础。

对于通过弹性力学变分原理建立的弹性力学问题有限元方法,其未知场变量是位移,以节点位移为基本未知量,并以最小位能原理为基础建立的有限单元为位移元。

弹性力学平面问题有限元分析表达格式的建立步骤一般为:1、对所给的模型进行单元离散,一般采用三角形单元或四边形单元,不过由于四边形单元具有更高精度,应用更为普遍,一般而言一次或二次单元已足以满足精度要求。

离散后对单元进行编号,并且给定单元各节点的整体编码以及局部坐标系下按逆时针局部编码。

2、在局部坐标系下对各单元构造形函得到由单元各节点位移表示的单元位移形式,进而得到单元刚度矩阵,利用等参元性质和雅阁比矩阵进行组集,建立整体刚度矩阵。

3、建立单元等效结点载荷列阵并组集成结构节点等效载荷列阵4、得到单元各节点位移与结构节点等效载荷列阵的线代方程组,求解得到位移,进而可得应力应变。

根据以上一般步骤,编制相应的计算机程序并采用数值积分方法处理有关数学计算就可以得到完整的弹性力学问题有限元分析程序。

二、平面问题有限元分析教学程序本程序可对二维弹性力学问题行有限元分析计算。

计算采用的单元形式为四边形四节点单元或者四边形八节点单元,对于对称和非对称矩阵采用变带宽存储方法,最终输出结果为单元各节点的位移。

C---------------------------------------------------------------------C |C FEA2DP----A FINITE ELEMENT ANAYLYSIS PROGRAM FOR |C 2D ELASTIC PROBLEMS |C TANGENT MATRIX IS STORED WITH VARIOUS BAND METHOH |C THIS PROGRAM IS USED TO DEMONSTRATE THE USAGE OFVRIOUS BAND |C STRORAGE SCHEM OF SYMMETRIC AND UNSYMMETRIC TANGENTSMATRIX |C |C XIAOBAO HE |C AT CHONGQING UNIVERSITY,CHINA.(12/6/2012) |C |C---------------------------------------------------------------------CPROGRAM FEA2DPCC A(1)-A(N1-1):X(NDM,NUMAP); A(N1)-A(N2-1):F(NDF,NUMAP)C A(N2)-A(N3-1):B(NEQ); A(N3)-A(N4-1):AD(NEQ)C A(N4)-A(N5-1):AL(NED); A(N5)-A(N6-1):AU(NAD)CC IA(1)-IA(N1-1):IX(NEN1,NUMEL); IA(N1)-IA(N2-1):ID(NDF,NUMNP)C IA(N2)-IA(N3-1):JD(NDF*NUMNP); IA(N3)-IA(N4-1): IDL(NEN*NUMEL*NDF)CIMPLICIT REAL*8(A-H,O-Z)DIMENSION A(10000000),IA(100000)CHARACTER*80 HEADCOMMON /CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON /SDATA/NDF,NDM,NEN1,NSTCOMMON /IOFILE/IOR,IOWNMAXM=10000000IMAXM=100000IOR=1IOW=2CC Open files for data input and outputCOPEN(IOR,FILE='INPUT.DAT',FORM='FORMATTED') OPEN(IOW,FILE='OUTPUT.DAT')CC....READ TITLECREAD(IOR,'(A)') HEADWRITE(IOW,'(A)') HEADCC....READ AND PRINT CONTROL INFORMATIONCC NUMNP:number of nodesC NUMEL:number of elementsC NUMMAT:number of material typesC NLOAD:number of loadsC NDM:number of coordinates of each nodeC NDF:number of degrees of freedomC NEN:number of nodes in each elementCREAD(IOR,'(7I5)')NUMNP,NUMEL,NUMMAT,NLOAD,NDM,NDF,NENWRITE(IOW,2000) NUMNP,NUMEL,NUMMAT,NLOAD,NDM,NDF,NENCC....SET POITERS FOR ALLOCATION OF DATA ARRAYSCNEN1=NEN+4NST=NEN*NDFNNEQ=NDF*NUMNPCN1=NDM*NUMNP+1N2=N1+NDF*NUMNP+1CI1=NEN1*NUMEL+1I2=I1+NDF*NUMNP+1I3=I2+NDF*NUMNP+1I4=I3+NUMEL*NEN*NDF+1CC....CALL MESH INPUT SUBROUTINE TO READ ALL MESH DATACCALL PMESH (A(1),A(N1),IA(1),IA(I1),NDF,NDM,NEN1,NLOAD)CPUTE PROFILECCALLPROFIL(IA(I2),IA(I3),IA(I1),IA(1),NDF,NEN1,NAD)CN3=N2+NEQ+1N4=N3+NEQ+1N5=N4+NAD+1N6=N5+NAD+1CC The lengths of Real and Integer arraysCWRITE (IOW,2222) N6,I4CC The length o9f exceeds the limitationCIF (N6>NMAXM.OR.I4>IMAXM) THENIF (N6>NMAXM) WRITE (IOW,3333) N6,NMAXMIF (I4>IMAXM) WRITE (IOW,4444) I4,IMAXMSTOPEND IFCPUTE AND ASSEMBLE ELEMENT ARRAYSCCALLASSEM(NAD,IA(1),IA(I1),IA(I2),A(1),A(N2),A(N3),A(N4),A(N5)) CC FORM LOAD VECTORCCALL PLOAD(IA(I1),A(N1),A(N2),NNEQ,NEQ)CC....TRIANGULAR DECOMPOSITION OF A MATRIX SYORED IN PROFILE FORMCCALLDATRI(NDF,NUMNP,IA(I2),NEQ,NAD,.FALSE.,A(N3),A(N5),A(N5)) CCC FOR UNSYMMETRIC TANGENT MATRIXC CALL DATRI(NDF,NUMNP,IA(I2),NEQ,NAD,.TRYE.,A(N3),A(N4),A(N5)) CC SOLVE EQUATIONSCCALLDASOL(NDF,NUMNP,A(N2),IA(I2),NEQ,NAD,AENGY,A(N3),A(N5),A(N5 ))CC FOR UNSYMMETRIC TANGENT MATRIXC CALL DASOL(NDF,NUMNP,A(N2),IA(I2),NEQ,NAD,AENGY,A(N3),A(N4),A(N5 ))CC OUTPUT NODAL DISPLACEMENTSCCALL PRTDIS(IA(I1),A(N2),NDF,NUMNP,NEQ)CC....CLOSE INPUT AND OUTPUT FILES; DESTROY TEMPORARY DISK FILESCCLOSE(IOR)CLOSE(IOW)CC....INPUT/OUTPUT FORMATSC1000 FORMAT (20A4)2000 FORMAT(//X 5X,'NUMBER OF NODAL POINTS =',I6/1 5X,'NUMBER OF ELEMENTS =',I6/2 5X,'NUMBER OF MATERIAL SETS =',I6/2 5X,'NUMBER OF NODAL LOADS =',I6/3 5X,'DIMENSION OF COORDINATE SPACE =',I6/4 5X,'DEGREE OF FREEDOMS/NODE =',I6/5 5X,'NODES PER ELEMENT (MAXIMUM) =',I6/)2222 FORMAT (//,10X,'THE LENGTH OF REAL ARRAY IS',I10,/,1 10X,'THE LENGTH OF INTEGER ARRAY IS',I10)3333 FORMAT (//,10X,'THE LENGTH OF REAL ARRAY',I10,'EXCEED THE',1 'MAXIMUN VALUE',I10)4444 FORMAT(//,10X,'THE LENGTH OF INTEGER ARRAY',I10,'EXCEED THE',1 'MAXIMUN VALUE',I10)CSTOPENDCCSUBROUTINE PMESH(X,F,IX,ID,NDF,NDM,NEN1,NLOAD)CC....DATA INPUT ROUTINE FOR MESH DESCRIPTIONCIMPLICIT REAL*8(A-H,O-Z)DIMENSIONX(NDM,NUMNP),F(NDF,NUMNP),ID(NDF,NUMNP),IX(NEN1,NUMEL)1 ,J0(NLOAD)COMMON/BDATA/HEAD(20)COMMON/CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON/MATER/EE,XNU,ITYPECOMMON/IOFILE/IOR,IOWCC....INPUT CONSTRAIN CODES ANDNODAL COORDINATE DATACC ID(K,J):CONSTRAIN CODE OF Kth degree of freedom of node J,=0:free,=1:fixedC X(K,J):Kth coordinate of node JcDO I=1,NUMNPREAD(IOR,'(3I5,2F10.4)')J,(ID(K,J),K=1,NDM),(X(K,J),K=1,NDM )END DOCWRITE(IOW,'(//,17HNODAL COORDINATES,/)')DO I=1,NUMNPWRITE(IOW,'(3I5,2F10.4)')I,(ID(K,I),K=1,NDM),(X(K,I),K=1,ND M)END DOCC.....ELEMENT DATA INPUTCC IX(K,J):global node number of Kth node in element JCDO I=1,NUMELREAD(IOR,'(9I5)')J,(IX(K,J),K=1,NEN)END DOCCWRITE(IOW,'(//,18HELEMENT DEFINITION,/)')DO I=1,NUMELWRITE(IOW,'(9I5)')I,(IX(K,I),K=1,NEN)END DOCC.....MATERIAL DATA INPUTCC EE:Young's nodulus,XNU:Poisson ratioC ITYPE:Type of problem,=1:Plane stress,=2:Plane strain,=3:Axi-symmetricCREAD(IOR,'(2F10.4,I5)')EE,XNU,ITYPEWRITE(IOW,'(//,19HMATERIAL PROPERTIES,/)')WRITE(IOW,'(2(E10.4,5X),I5)')EE,XNU,ITYPECC.....FORCE/DISP DATA INPUTCC F(K,J):Concentrate load at node J in K directionCF=0.0D0DO I=1,NLOADREAD(IOR,'(I5,2F10.4)')J, (F(K,J),K=1,NDF)J0(I)=JEND DOCWRITE(IOW,'(//,20HAPPLIED NODAL FORCES,/)') DO I=1,NLOADWRITE(IOW,'(I5,2F10.4)')J0(I),(F(K,J0(I)),K=1,NDF)END DOCRETURNCC FORMAT STATEMENTSC2000 FORMAT(' Mesh 1>',$)3000 FORMAT(1X,'**WARNING**ELEMENT CONNECTIONS NECESSARY'1'TO USE BLOCK IN MACRO PROGRAM')4000 FORMAT('**CURRENT PROBLEM VALIES**'/I6,'NODES,', 1I5,'ELMTS,',I3,'MATLS,',I2,'DIMS,',I2,'DOF/NODE,',2I3,'NODES/ELMT')ENDCC SUBROUTINE ASSEM(NAD,IX,ID,JD,X,B,AD,AL,AU)CC Call element subuoutine and assemble global tangent matrixCIMPLICIT REAL*8(A-H,O-Z)DIMENSIONILX(NEN),XL(NDF,NEN),LD(NDF,NEN),S(NST,NST),P(NST)DIMENSION IX(NEN1,NUMEL),ID(NDF,NUMNP),JD(NDF*NUMNP)DIMENSION X(NDM,NUMNP),B(NEQ),AD(NEQ),AL(NAD),AU(NAD)COMMON/CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON/SDATA/NDF,NDM,NEN1,NSTCNEL=NENCC Element loopCDO 320 N=1,NUMELS=0.0D0 !element stiffness matrixP=0.0D0 !nodal forceNE=NDO 310 I=1,NENILX(I)=IX(I,NE) !current element difinitionDO K=1,NDMXL(K,I)=X(K,ILX(I)) !nodal coords in current elementEND DOKK=ILX(I)DO K=1,NDFLD(K,I)=ID(K,KK) !equation numbersEND DO310 CONTINUECC Call element libCCALL ELMT01(XL,ILX,S,P,NDF,NDM,NST)CC Assemble tangent matrix and load vector if neededCCALLDASBLY(NDF,NAD,S,P,LD,JD,NST,B,AD,AL,AU)C320 CONTINUE !end element loopCRETURNENDCC SUBROUTINE DASBLY(NDF,NAD,S,P,LD,JP,NS,B,AD,AL,AU)CC.....ASSUMBLE THE SYMMETRIC OR UNSYMMETRIC ARRAYS FOR 'DASOL'CIMPLICIT REAL*8(A-H,O-Z)C LOGICAL ALFL,AUFL,BFLDIMENSION AD(NEQ),AL(NAD),AU(NAD)DIMENSIONLD(NS),JP(NDF*NUMNP),B(NEQ),S(NS,NS),P(NS)COMMON/CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON/IOFILE/IOR,IOWCC ALFL=TRUE:FOR UNSUMMETRIC MATRIX ASSEMBLEC ALFL=FALSE:FOR SUMMETRIC MATRIX ASSUMBLEC S:ELEMENT STIFFNESS MATRIXC P:LOAD OR INTERNAL FORCE VECTORC AD:DIAGONAL ELEMENTSC AU:UPPER TRIANGLE ELEMENTSC AL:LOWER TRIANGLE ELEMENTSC JP:POINTER TO LAST ELEMENT IN EACH ROW/COLUMN OF AL/AU RESPECTIVELC LD:EQUATION NUMBERS OF EACH FREEDOM DEGREE IN AN ELEMENT(GET FROMC ID)CC.....LOOP THROUGH THE ROWS TO PERFORM THE ASSEMBLYCDO 200 I=1,NSII=LD(I)IF(II.GT.0)THENC IF(AUFL)THEN !Assemble stiffness matrixCC.....LOOP THROUGH THE COLUMNS TO PERFORM THE ASSEMBLYCDO 100 J=1,NSIF(LD(J).EQ.II)THENAD(II)=AD(II)+S(I,J)ELSEIF (LD(J).GT.II)THENJC=LD(J)JJ=II+JP(JC)-JC+1AU(JJ)=AU(JJ)+S(I,J)C IF(ALFL) AL(JJ)=AL(JJ)+S(J,I) !UnsymmetricENDIF100 CONTINUEENDIF200 CONTINUECRETURNENDCC SUBROUTINE DASOL(NDF,NUMNP,B,JP,NEQ,NAD,ENERGY,AD,AL,AU)CC.....SOLUTION OF SYMMETRIC EQUATIONS IN PROFILE FORMC.....COEFFICIENT MATRIX MUST BE DECOMPOSED INTO ITS TRIANGULARC.....FACTORS USING DATRI BEFORE USING DASOL.CC JP:POINTER TO LAST ELEMENT IN EACH ROW/COLUMN OF AL/AU RESPECTIVELYCIMPLICIT REAL*8(A-H,O-Z)DIMENSION AD(NEQ),AL(NAD),AU(NAD)DIMENSION B(NEQ),JP(NDF*NUMNP)COMMON/IOFILE/IOR,IOWDATA ZERO/0.0D0/CC.....FIND THE FIRST NONZERO ENTRY IN THE RIGHT HAND SIDECDO IS=1,NEQIF(B(IS).NE.ZERO)GO TO 200END DOWRITE(IOW,2000)RETURNC200 IF(IS.LT.NEQ)THENCC.....REDUCE THE RIGHT HAND SIDECDO 300 J=IS+1,NEQJH=JP(J)-JRIF(JH.GT.0)THENB(J)=B(J)-DOT(AL(JR+1),B(J-JH),JH)ENDIF300 CONTINUEENDIFCC.....MULTIPLY BY INVERSE OF DIAGONAL ELEMENTS CENERGY=ZERODO 400 J=IS,NEQBD=B(J)B(J)=B(J)*AD(J)ENERGY=ENERGY+BD*B(J)400 CONTINUECC.....BACKSUBSTITUTIONCIF(NEQ.GT.1)THENDO 500 J=NEQ,2,-1JR=JP(J-1)IF(JH.GT.0)THENCALL SAXPB(AU(JR+1),B(J-JH),-B(J),JH,B(J-JH))ENDIF500 CONTINUEENDIFCRETURNC2000 FORMAT('**DASOL WARNING 1 ** ZERO RIGHT-HAND-SIDE VECTOR')ENDCC SUBROUTINE DATEST(AU,JH,DAVAL)CC.....TEST FOR RANKCIMPLICIT REAL*8(A-H,O-Z)DIMENSION AU(JH)CDAVAL=0.0D0CDO J=1,JHDAVAL=DAVAL+ABS(AU(J))END DOCRETURNENDC SUBROUTINE DATRI(NDF,NUMNP,JP,NEQ,NAD,FLG,AD,AL,AU)CC.....TRIANGULAR DECOMPOSITION OF A MATRIX STORED IN PROFILE FORMCIMPLICIT REAL*8(A-H,O-Z)LOGICAL FLGDIMENSION JP(NDF*NUMNP),AD(NEQ),AL(NAD),AU(NAD)COMMON/IOFILE/IOR,IOWCC.....N.B. TOL SHOULD BE SET TO APPROXIMATE HALF-WORD PRECISIONCDATA ZERO,ONE/0.0D0,1.0D0/,TOL/0.5D-07/CC.....SET INITIAL VALUES FOR CONTDITIONING CHECKCDIMX=ZERODIMN=ZEROCDO J=1,NEQDIMN=MAX(DIMN,ABS(AD(J)))END DODFIG=ZEROCC.....LOOP THROUGH THE COLUMS TO PERFOM THE TRIANGULAR DECOMPOSITIONCJD=1DO 200 J=1,NEQJR=JD+1JD=JP(J )JH=JD-JRIF(JH.GT.0)THENIS=J-JHIE=J-1CC.....IF DIAGONAL IS ZERO COMPUTE A NORM FOR SINGULARITY TESTCIF(AD(J).EQ.ZERO)CALL DATEST(AU(JR),JH,DAVAL)DO 100 I=IS,IEJR=JR+1ID=JP(I)IH=MIN(ID-JP(I-1),I-IS+1)IF(IH.GT.0)THENJRH=JR-IHIDH=ID-IH+1AU(JR)=AU(JR)-DOT(AU(JRH),AL(IDH),IH)IF(FLG)AL(JR)=AL(JR)-DOT(AL(JRH),AU(IDH),IH)ENDIF100 CONTINUEENDIFCC...REDUCE THE DIAGONALCIF(JH.GE.0)THENDD=AD(J)JR=JD-JHJRH=J-JH-1CALL DREDU(AL(JR),AU(JR),AD(JRH),JH+1,FLG,AD(J)) CC.....CHECK FOR POSSIBLE ERRORS AND PRINT WARNINGSCIF(ABS(AD(J)).LT.TOL*ABS(DD))WRITE(IOW,2000)J IF(DD.LT.ZERO.AND.AD(J).GT.ZERO)WRITE(IOW,2001)JIF(DD.LT.ZERO.AND.AD(J).LT.ZERO)WRITE(IOW,2001)JIF(AD(J).EQ.ZERO)WRITE(IOW,2002)JIF(DD.EQ.ZERO.AND.JH.GT.0)THENIF(ABS(AD(J)).LT.TOL*DAVAL)WRITE(IOW,2003)JENDIFENDIFCC.....STORE RECIPROCAL OF DIAGONAL,COMPUTE CONDITION CHECKSCIF(AD(J).NE.ZERO)THENDIMX=MAX(DIMX,ABS(AD(J)))DIMN=MIN(DIMN,ABS(AD(J)))DIFG=MAX(DIFG,ABS(DD/AD(J)))AD(J)=ONE/AD(J)ENDIF200 CONTINUECC.....PRINT CONDITIONING INFORMATIONCDD=ZEROIF(DIMN.NE.ZERO)DD=DIMX/DIMNIFIG=DLOG10(DIFG)+0.6WRITE(IOW,2004)DIMX,DIMN,DD,IFIGCC.....FORMATSC2000 FORMAT('**DATRI WARNING 1**LOSS OF AT LEAST 7 DIGITS IN',1 'REDUCING DIAGONAL OF EQUATION',I5)2001 FORMAT('**DATRI WARNING 2**SIGN OF DIAGONAL CHANGED WHEN',1 'REDUCING EQUATION',I5)2002 FORMAT('**DATRI WARNING 3**REDUCED DIAGONAL IS ZERO FOR',1 'EQUATION',I5)2003 FORMAT('**DATRI WARNING 4**RANK FAILURE FOR ZEROUNREDUCED',1 'DIAGONAL IN EQUATION',I5)2004 FORMAT(//'CONDITION CHECK:D-MAX',E11.4,';D-MIN',E11.4,1 ';RATIO',E11.4/' MAXIMIM NO.DIAGONAL DIGITS LOST:',I3)2005 FORMAT('COND CK:DMAX',1P1E9.2,';DMIN',1P1E9.2,1 ';RATIO',1P1E9.2)ENDCC SUBROUTINE DREDU(AL,AU,AD,JH,FLG,DJ)CC.....REDUCE DIAGONAL ELEMENT IN TRIANGULAR DECOMPOSITIONCIMPLICIT REAL*8(A-H,O-Z)LOGICAL FLGDIMENSION AL(JH),AU(JH),AD(JH)CDO J=1,JHUD=AU(J)*AD(J)DJ=DJ-AL(J)*UDAU(J)=UDEND DOCC.....FINISH COMPUTATION OF COLUMN OF AL FOR UNSYMMETRIC MATRICESCIF(FLG)THENDO J=1,JHAL(J)=AL(J)*AD(J)END DOENDIFCRETURNENDCC SUBROUTINE PROFIL(JD,IDL,ID,IX,NDF,NEN1,NAD)CPUTE PROFILE OF GLOBAL ARRAYSCIMPLICIT REAL*8(A-H,O-Z)DIMENSIONJD(NDF*NUMNP),IDL(NUMEL*NEN*NDF),ID(NDF,NUMNP),1 IX(NEN1,NUMEL)COMMON/CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON/FRDATA/MAXFCOMMON/IOFILE/IOR,IOWCC JD: COLUMH HIGHT (ADDRESS OF DIAGONAL ELEMENTS)C ID: BOUNDARY CONDITION CODES BEFORE THIS SUBROUTINE'S RUNNINGC ID: EQUATION NUMBERS IN GLOBAL ARRAY (EXCLUDED RESTRAINED NODES)C AFTER RUNNINGC IDL:ELEMENT SEARCH ORDERC NAD:TOTAL NUMBER OF NON-ZERO ELEMENTS EXCEPT DIAGONAL ELEMENTSC IN GLOBAL TANGENT MATRIXCC.....SET UP THE EQUATION NUMBERSCNEQ=0CDO 10 K=1,NUMNPDO 10 N=1,NDFJ=ID(N,K)IF(J.EQ.0)THENNEQ=NEQ+1ID(N,K)=NEQELSEID(N,K)=0ENDIF10 CONTINUECPUTE COLUMN HEIGHTSCCALL PCONSI(JD,NEQ,0)CDO 50 N=1,NUMELMM=0NAD=0DO 30 I=1,NENII=IABS(IX(I,N))IF(II.GT.0)THENDO 20 J=1,NDFJJ=ID(J,II)IF(JJ.GT.0)THENIF(MM.EQ.0) MM=JJMM=MIN(MM,JJ)NAD=NAD+1IDL(NAD)=JJENDIF20 CONTINUEENDIF30 CONTINUEIF(NAD.GT.0)THENDO 40 I=1,NADII=IDL(I)JJ=JD(II)JD(II)=MAX(JJ,II-MM)40 CONTINUEENDIF50 CONTINUECPUTE DIAGONAL POINTERS FOR PROFILE CNAD=0JD(1)=0IF(NEQ.GT.1)THENDO 60 N=2,NEQJD(N)=JD(N)+JD(N-1)60 CONTINUENAD=JD(NEQ)ENDIFCC.....SET ELEMENT SEARCH ORDER TO SEQUENTIALCDO 70 N=1,NUMELIDL(N)=N70 CONTINUECC.....EQUATION SUMMARYCMAXF=0MM=0IF(NEQ.GT.0)MM=(NAD+NEQ)/NEQWRITE(IOW,2001)NEQ,NUMNP,MM,NUMEL,NAD,NUMMAT CRETURNC2001 FORMAT(5X,'NEQ =',I5,5X,'NUMNP=',I5,5X,'MM =',I5,/5X,1 'NUMEL=',I5,5X,'NAD =',I5,5X,'NUMMAT=',I5/)ENDCC SUBROUTINE SAXPB(A,B,X,N,C)CC.....VECTOR TIMES SCALAR ADDED TO SECOND VECTORCIMPLICIT REAL*8(A-H,O-Z)DIMENSION A(N),B(N),C(N)CDO K=1,NC(K)=A(K)*X+B(K)END DOCRETURNENDCC SUBROUTINE PCONSI(IV,NN,IC)CC.....ZERO INTEGER ARRAYCDIMENSION IV(NN)CDO N=1,NNIV(N)=ICEND DOCRETURNENDCC SUBROUTINE ELMT01(XL,ILX,S,P,NDF,NDM,NST)CC.....PLANE LINEAR ELASTIC ELEMENT ROUTINEC ITYP=1:PLANE STRESSC =2:PLANE STRAINC =3:AXISYMMETRICCIMPLICIT REAL*8(A-H,O-Z)DIMENSION XL(NDM,NEN),ILX(NEN),SIGR(6)DIMENSIOND(18),S(NST,NST),P(NST),SHP(3,9),SG(16),TG(16),WG(16) CHARACTER WD(3)*12COMMON/CDATA/NUMNP,NUMEL,NUMMAT,NEN,NEQCOMMON/MATER/EE,XNU,ITYPECOMMON/FCIOFILE/IOR,IOWDATA WD/'PLANE STRESS','PLANE STRAIN','AXISYMMETRIC'/INTEGER::ALP=1CC XL(NDM,NEN):COORDS OF EACH NODE IN CURRENT ELEMENTC ILX(NEN):ELEMENT DEFINITION OF CURRENT ELEMENTC D(18):MATERIAL PROPERTIESC S(NST,NST):ELEMENT STIFFNESS MATRIXC P(NS):NODAL FORCE AND/OR INTERNAL FORCEC SHP(3,9):SHAPE FUCTION AND ITS DERIVATIVESC SG(16),TG(16),WG(16):WEIGHT COEFFICIENTS OF GUASS INTEGRATIONC L,K:INTERGRATION POINTSCL=2K=2E=EENEL=NENCC D(14):THICKNESS;D(11),D(12):BODY FORCEC.....SET MATERIAL PARAMETER TYPE AND FLAGSCITYP=MAX(1,MIN(ITYP,3))J=MIN(ITYP,2)CD(1)=E*(1.+(1-J)*XNU)/(1.+XNU)/(1.-J*XNU) D(2)=XNU*D(1)/(1.+(1-J)*XNU)D(3)=E/2./(1.+XNU)D(13)=D(2)*(J-1)IF ((D(14).LE.0.0D0).OR.ITYP.GE.2) D(14)=1.0 D(15)=ITYPD(16)=ED(17)=XNUD(18)=-XNU/EL=MIN(4,MAX(1,L))K=MIN(4,MAX(1,K))D(5)=LD(6)=KC D(9)=T0C D(10)=E*ALP/(1.-J*XNU)LINT=0CWRITE(IOW,2000)WD(ITYP),D(16),D(17),D(4),L,K,D(14),1 D(11),D(12),ALPCC.....STIFFNESS/RESIDUAL COMPUTATIONCL=KCC cmopute cordinates and weights of integration pointsC SG,TG:Coords;WG=Wp*WqCIF(L*L.NE.LINT)CALL PGUASS(L,LINT,SG,TG,WG)CPUTE INTEGRALS OF SHAPE FUNCTIONSCDO 340L=1,LINTCC compute shape function and their derivatives to localc and global coordinate systemCCALL SHAPE (SG(L),TG(L),XL,SHP,XSJ,NDM,NEN,ILX,.FALSE.)CC compute global coordinates of integration points CXX=0.0YY=0.0DO J=1,NENXX=XX+SHP(3,J)*XL(1,J)YY=YY+SHP(3,J)*XL(2,J)END DOXSJ=XSJ*WG(L)*D(14) !XSJ=|J|(Sp,Tq)*Wp*Wq*tCPUTE JACOBIAN CORRECTIONC for plane stress and strain problemsCIF(ITYP.LE.2)THENDV=XSJXSJ=0.0ZZ=0.0C SIGR4=-D(110*DV !D(11)BODY FORCEELSECC for axisymmetric problemCDV=XSJ*XX*3.1415926*2ZZ=1./XXC SIGR4=SIGR(4)*XSJ-D(11)*DVEND IFJ1=1CC.....LOOP OVER ROWSCDO 330 J=1,NELW11=SHP(1,J)*DVW12=SHP(2,J)*DVC W22=SHP(3,J)*XSJW22=SHP(3,J)*DV*ZZCPUTE THE INTERNAL FORCESC out of balance forceCC P(J1)-(SHP(1,J)*SIGR(1)+SHP(2,J)*SIGR(2))*DVC 1 -SHP(3,J)*SIGR4CP(J1+1)=P(J1+1)-(SHP(1,J)*SIGR(2)+SHP(2,J)*SIGR(3))*DVC 1 +D(12)*SHP(3,J0*DV !D(12) BODAY FORCECC....LOOP OVER COLUMNS(SYMMETRY NOTED)C compute stiffness matrixCK1=J1A11=D(1)*W11+D(2)*W22A21=D(2)*W11+D(1)*W22A31=D(2)*(W11+W22)A41=D(3)*W12A12=D(2)*W12A32=D(1)*W12A42=D(3)*W11DO 320 K=J,NELW11=SHP(1,K)W12=SHP(2,K)W22=SHP(3,K)*ZZS(J1,K1)=S(J1,K1)+W11*A11+W22*A21+W12*A41S(J1+1,K1)=S(J1+1,K1)+(W11+W22)*A12+W12*A42 S(J1,K1+1)=S(J1,K1+1)+W12*A31+W11*A41S(J1+1,K1+1)=S(J1+1,K1+1)+W12*A32+W11*A42 K1=K1+NDF320 CONTINUEJ1=NDF+J1330 CONTINUE340 CONTINUEC.....MAKE STIFFNESS SYMMETRICCDO 360 J=1,NSTDO 360 K=J,NSTS(K,J)=S(J,K)360 CONTINUECRETURNCC.....FORMATS FOR INPUT-OUTPUTC1000 FORMAT(3F10.0,3I10)1001 FORMAT(8F10.0)2000 FORMAT(/5X,A12,'LINEAR ELASTIC ELEMENT'//110X,'MODULUS',E18.5/10X,'POISSIONRATIO',F8.5/10X,'DENSITY',E18.5/210X,'GUASS PTR/DIR',I3/10X,'STRESS PTS',I6/10X,'THICKNESS',E16.5/310X,'1-GRAVITY',E16.5/10X,'2-GRAVITY',E16.5/10X,'ALPHA',E20.5/410X,'BASE TEMP',E16.5/)2001 FORMAT(5X,'ELEMENT STRESSES'//'ELMT 1-COORD',2X,'11-STRESS',2X,1'12-STRESS',2X'22-STRESS',2X,'33-STRESS',3X,'1-STRESS',3X, 2'2-STRESS'/'MATL2-COORD',2X,'11-STRAIN',2X,'12-STRAIN'2X,3'22-STRAIN',2X,'33-STRAIN',6X,'ANGLE'/39('-'))2002FORMAT(I4,0P1F9.3,1P6E11.3/I4,0P1F9.3,1P4E11.3,0P1F11.2/) 5000 FORMAT('INPUT:E,NU,RHO,PTS/STIFF,PTS/STRE',1',TYPE(1=STRESS,2=STRAIN,3=AXISM)',/3X,'>',$)5001 FORMAT('INPUT:THICKNESS,1-BODY FORCE,1-BODY FORCE,ALPHA,'1 ,'TEMP-BASE'/3X,'>',$)ENDCC SUBROUTINE SHAPE(SS,TT,XL,SHP,XSJ,NDM,NEL,ILX,FLG)CC.....SHAPE FUNCTION ROUTINE FOR TWO DIMENSIONAL ELEMENTS CIMPLICIT REAL*8(A-H,O-Z)LOGICAL FLGDIMENSION XL(NDM,NEL),S(4),T(4),ILX(NEL)DIMENSION SHP(3,NEL),XS(2,2),SX(2,2)DATA S/-0.5D0,0.5D0,0.5D0,-0.5D0/,1 T/-0.5D0,-0.5D0,0.5D0,0.5D0/CC.....FORM 4-NODE QUATRILATERAL SHAPE FUNCTIONSC NEL:number of nodes per elementCDO 100 I=1,4SHP(3,I)=(0.5+S(I)*SS)*(0.5+T(I)*TT)SHP(1,I)=S(I)*(0.5+T(I)*TT)SHP(2,I)=T(I)*(0.5+S(I)*SS)100 CONTINUECC.....FORM TRIANGLE BY ADDING THIRD AND FOURTH TOGETHER C for triangle elementCIF (NEL.EQ.3)THENDO I=1,3SHP(I,3)=SHP(I,3)+SHP(I,4)END DOEND IFCC.....ADD QUADRATIC TERMS IF NECESSARYC for element with more than 4 nodescIF (NEL.GT.4)CALL SHAP2(SS,TT,SHP,ILX,NEL) CC.....CONSTRUCT JACOBIAN AND ITS INVERSECDO 125 I=1,2DO 125 J=1,2XS(I,J)=0.0DO 120 K=1,NELXS(I,J)=XS(I,J)+XL(I,K)*SHP(J,K)120 CONTINUE125 CONTINUECC XSJ:determinate of Jacob matrixcXSJ=XS(1,1)*XS(2,2)-XS(1,2)*XS(2,1)CIF(FLG)RETURNCC FLG=false:form global derivativesCIF(XSJ.LE.0.0D0)XSJ=1.0SX(1,1)=XS(2,2)/XSJSX(2,2)=XS(1,1)/XSJSX(1,2)=-XS(1,2)/XSJSX(2,1)=-XS(2,1)/XSJCC.....FORM GLOBAL DERIVATIVESCDO 130 I=1,NELTP=SHP(1,I)*SX(1,1)+SHP(2,I)*SX(2,1)SHP(2,I)=SHP(1,I)*SX(1,2)+SHP(2,I)*SX(2,2) SHP(1,I)=TP130 CONTINUECRETURNENDC SUBROUTINE SHAP2(S,T,SHP,ILX,NEL) CC.....ADD QUADRATIC FUNCTION AS NECESSARY CIMPLICIT REAL*8(A-H,O-Z)DIMENSION SHP(3,9),ILX(NEL)CS2=(1.-S*S)/2.T2=(1.-T*T)/2.DO 100 I=5,9DO 100 J=1,3SHP(J,I)=0.0100 CONTINUECC.....MIDSIZE NODES (SERENIPITY)CIF(ILX(5).EQ.0)GO TO 101SHP(1,5)=-S*(1.-T)SHP(2,5)=-S2SHP(3,5)=S2*(1.-T)101 IF(NEL.LT.6)GO TO 107IF(ILX(6).EQ.0)GO TO 102SHP(1,6)=T2SHP(2,6)=-T*(1.+S)SHP(3,6)=T2*(1.+S)102 IF(NEL.LT.7)GO TO 107IF(ILX(7).EQ.0)GO TO 103 SHP(1,7)=-S*(1.+T)SHP(2,7)=S2SHP(3,7)=S2*(1.+T)103 IF(NEL.LT.8)GO TO 107IF(ILX(8).EQ.0)GO TO 104 SHP(1,8)=-T2SHP(2,8)=-T*(1.-S)SHP(3,8)=T2*(1.-S)CC.....INTERIOR NODE (LAGRAGIAN) C104 IF(NEL.LT.9)GO TO 107IF(ILX(9).EQ.0)GO TO 107 SHP(1,9)=-4.*S*T2SHP(2,9)=-4.*T*S2SHP(3,9)=4.*S2*T2CC.....CORRECT EDGE NODES FOR INTERIOR NODE(LAGRANGIAN) CDO 106 J=1,3DO 105 I=1,4105 SHP(J,I)=SHP(J,I)-0.25*SHP(J,9)DO 106 I=5,8106 IF(ILX(I).NE.0)SHP(J,I)=SHP(J,I)-.5*SHP(J,9)CC.....CORRECT CORNER NODES FOR PRESENSE OF MIDSIZE NODES C107 DO 108 I=1,4K=MOD(I+2,4)+5L=I+4DO 108 J=1,3108 SHP(J,I)=SHP(J,I)-0.5*(SHP(J,K)+SHP(J,L))RETURNENDCCSUBROUTINE PGUASS(L,LINT,R,Z,W)CC....GUASS POINTS AND WEIGHTS FOR TWO DIMENSIONSCIMPLICIT REAL*8(A-H,O-Z)DIMENSION LR(9),LZ(9),LW(9),R(16),Z(16),W(16)C COMMON/ELDATA/DM,N,MA,MCT,IEL,NELDATALR/-1,1,1,-1,0,1,0,-1,0/,LZ/-1,-1,1,1,-1,0,1,0,0/ DATA LW/4*25,4*40,64/cc Lint:Number of integration pointsc R,Z:Coordinates of Integration pointsc W:Wp*Wq,product of the two weightscLINT=L*LGO TO(1,2,3),LCC....1X1 INTEGERATIONC1 R(1)=0.Z(1)=0.W(1)=4.CRETURN。

相关文档
最新文档