之前发过一个梁单元有限元分析程序。在好友测试时发现一个问题,就是程序中的real型变量默认为kind=4,我们姑且称为单精度型。 一、简支梁跨中挠度和弯矩 如图所示的简支梁,长度L = 4,划分为4个单元,单元2的第二个节点刚好在跨中的位置。 ? 计算结果如下: ? ? 跨中弯矩和挠度与精确解相同。 有限元计算精度取决于划分的单元,不同的划分得到的结果略有不同。
考虑一个有限元模型的势能泛函 \Pi = \frac{1}{2} \mathbf Q^T \mathbf K \mathbf Q - \mathbf Q^T \mathbf F \quad\cdots 建立两个单元的有限元模型如图1b所示,边界条件为 Q_1=0 和 Q_3=1.2mm ,结构刚度矩阵为 \mathbf K =\frac {20\times 10^3 \times 250 }{150} 用先处理法建立如图3所示的有限元模型,得到的平衡方程组为 ▲图3 \frac {29.5\times10^6}{600} \begin{bmatrix} 15.0 & 0& 0& 一般来讲, C 可以取为修正前刚度矩阵的最大对角线元素的 10^4 倍。此外,载荷列阵的对应位置还要加上力 Ca ,其中 a 为指定的位移值。 修正后的有限元方程组为 \frac {29.5\times10^6}{600} \begin{bmatrix} 15.0 & 0& 0& 0\\ 0 & 20.0+C&
4 杂交类型 在每个单元内构造满足平衡条件的应力场函数,并且沿单元间满足协调条件的位移函数,使用变分原理是修正的余能原理,这种单元称为杂交单元(Hybrid Element) 5 杂交混合类型 以单元内的位移 当在变分原理中放松了应力边界条件和单元之间的应力平衡条件时,可以得到修正的余能原理,在此基础上可以建立杂交应力的有限元模型。
相关公式见有限元 | 梁的弹性稳定分析(二) ▲图1 单元划分和结构标识 该刚架仅有 \text{BC} 杆受轴向压力作用,失稳时 \text{AC} 杆的变形曲线为精确的三次的抛物线。 ^2+8l^2 & -24l & 4l^2 \\ -24l & 96 & -24l \\ 4l^2 -24l & 4l^2 \\ -24l & 96+96 & -24l+24l \\ 4l^2 & 0 \\ 4l^2 & 0 & 16l^2 \\ \end{bmatrix} - \frac {F_P}{60l} \begin{bmatrix} 4l F_P^{cr} = \frac {28.97EI}{l^2} 本问题临界荷载的精确值为 F_P^{cr} = \frac {28.4EI}{l^2} ,上述有限元解比精确值偏高约2%,原因是假定了单元的位移函数相当于增加了无形的约束
? ? ? ?
挠度由三次多项式表示为 \omega = b_1 + b_2\xi + b_3\xi^2 + b_4\xi^3 \quad \cdots (2) 梁的转角 \begin{split} \theta & {\partial \omega }{\partial \xi}\frac {\partial \xi }{\partial x} \\ &= -\frac 1l(b_2+2b_3\xi + 3b_4\ &= \omega_1 \\ b_2 &= -l \theta_1 \\ b_3 &= -3\omega_1 + 3\omega_2 + 2l\theta_1 + l\theta_2 \\ b_4 \begin{split} N_1(1) &= 1-3 + 2 = 0 \\ N_2(2) &= -1 + 2 -1 =0 \\ N_3(3) &= 3-2=1 \\ N_4(4) &= 1-1=0 只划分一个单元时,其有限元平衡方程为 \frac {EI}{l^3} \begin{bmatrix}12 & 6l & -12 & 6l \\ 6l & 4l^2 & -6l & 2l^2 \\ -12
在某些情况下,当某一时间的温度 t0 为已知时(称为初始条件),即可得到方程 (3) 的一个解析解,表达式如下: (4) 如此,该固体中的温度通过一个代数方程(4)来表示,其中的某个时间值 t1 就会有一个对应时间的温度值 实际上,可以通过有限元方法简单地将这些函数转换为普通的矢量。 这是有限元公式化的第一步。利用弱公式化,就有可能对数学模型方程进行离散化,从而得到数值模型方程。可以利用伽辽金法——许多可能的有限元法公式化中的一种——来进行离散化。 来自之前的散热器模型图的有限元离散化。 先验 估计通常仅用于预测所用有限元方法的收敛阶数。
仿真中的有限元是什么?有限元分析究竟是做什么的?为了确认三维设计的最佳方案并进行验证,有限元分析是必须的。那么,什么是有限元分析呢?有限元分析是工程师解决工程问题的一种工具。 正确地运用有限元分析可以在仿真模型而不是实际原型上有效执行设计迭代。有限元分析的另一大优势在于,它可以揭示你在构建和测试过程中无法察觉到的信息。 然而,有限元分析可以清晰地显示挠度情况,这有助于您理解负荷传递路径,并以最高效的方式加强结构。有限元分析的基本步骤有限元分析的基本步骤通常为:第一步。 预处理,根据实际问题定义求解模型,包括以下几个方面:1.定义问题的几何区域:根据实际问题近似确定求解域的物理性质和几何区域;2.定义单元类型;3.定义单元的材料属性;4.定义单元的几何属性,如长度、面积等 预处理是建立有限元模型,完成单元网格划分,这是有限元分析的基础前提;后处理则是采集处理分析结果,使用户能简便提取信息,了解计算结果。
在调用 math 模块中的函数sqrt时,必须这样引用:math.sqrt 有了模块,自定义有限元程序框架就方便了。 以下是自定义有限元程序框架CFEA,结构如下 CFEA |-- ModElements.py |-- ModMaterial.py |-- ModStruct.py |-- ModNumeric.py ModMaterial.py定义材料类,ModStruct.py定义有限元模型类,目前只有一个类。以后再定义由不同单元组成的结构类。ModNumeric.py定义求解器类。 nd1 = ModElements.Beam2DNode( 1, 0, 0, 1, 0, 0) nd2 = ModElements.Beam2DNode( 2, 4, ff = fm.getForceVector() KK = fm.getStructStiffnessMatrix() cls = ModNumeric.solver(KK, ff, 1e-4, 500
在有限元分析中,我们经常会和非线性打交道,如材料非线性、几何非线性、边界非线性。 非线性有限元一直是有限元中较为困难的一部分,在非线性有限元中我们经常碰到诸如Newton-Raphson迭代法,切线刚度阵等概念,今天我们就单的介绍一下非线性吧。 牛顿迭代法的思想是将非线性方程线性化,以线性方程的解逼近非线性方程的解,具体操作如下: 牛顿迭代法图形解释 对于非线性方程f(x)= 的迭代解法有如下格式 3.非线性有限元迭代法 虽然上文只是简单的一维问题 ,但是我们可以把它当做位移法有限元的原型,对于一般有限元,离散平衡方程一般具有如下形式: 对于试探解、一般有 该方程的求解有如下形式 (1)直接迭代法 直接迭代法中要求K矩阵为u的显式函数 再来看看我们上面的问题: 非线性有限元及程序蓝色曲线为精确解,红色点点为固定载荷增量下求得的位移,k=1000时,牛顿迭代法能够很好地跟踪载荷位移路径,得到所有的位移响应。
在有限元模型中,梁、杆、索属于不同的单元类型,虽然这些结点具有相同的节点线位移,但截面转角不相同,此时我们可以在该处定义两个坐标一样的结点,然后指定这两个结点的线位移相等。 例1 如图4所示,有一根忽略质量的刚性杆,它的一端铰接,其上还连接有根钢质杆和一根铝质杆,其右端作用有外力 P=30\times10^3N 。 ▲图4 用两个单元对该问题进行建模,单元节点信息见下表 节点3、4处的边界条件为 Q_3=0 和 Q_4=0 。 选取一个远大于刚度系数的正数 C=53.33\times10^7 ,由于 Q_3=Q_4=0 ,将 C 加到 \mathbf K 中 K_{33} 和 K_{44} 的位置上。 21+C\\ \end{bmatrix} \\ \end{split} 然后考虑(5)中给出的多点约束方程,注意到 \alpha=0,\beta_1=1,\beta_2=-0.4 则由式(4)
有限元模拟是基于有限元方法,并以此为依据设计组件,例如换能器外壳被分成较小的元素,在软件计算过程中,这些元素随后被叠加到整个系统中。 一旦设置了所有边界条件(例如轴承,压力),有限元软件便会计算并模拟整个外壳的测量结果。
对于做有限元分析的新手来说它不怎么友好,但对于大牛而言他确实是利器,犹如一把瑞士军刀。 一篇文献《FEniCS is highly overrated》也是吐槽这个软件是夹生饭,可点击阅读原文查看。
平面刚架有限元分析需要建立单元坐标系和总体坐标系。现在单元坐标系建立单元刚度矩阵和等效节点力向量,再转换到总体坐标系,在总体坐标系下组装总体刚度矩阵和等效节点力向量。求解之后再还原到单元坐标系中。 另外,连续梁不考虑轴向变形,每个结点的自由度只有2个,即一个线位移和一个角位移,单元刚度矩阵为4X4,共计16个元素。总之,连续梁程序相对简单一些。 ? ? ? ? ?
ADINA(Automatic Dynamic Incremental Nonlinear Analysis)软件是美国ADINA R&D公司的产品,是基于有限元技术的大型通用分析仿真平台,广泛应用于各个工业领域 ADINA R&D公司由世界著名的有限元技术专家K.J.Bathe博士及其同事于1986年创建,总部位于美国马萨诸塞州Watertown。 该公司专门致力于开发能够对结构、热、流体及流构(固)耦合、热构(固)耦合问题进行综合性有限元分析的程序——ADINA,从而为用户提供一揽子解决方案。 4、输入:localhost,弹出窗口点击“YES” 5、将“XX”文件夹下的内容,复制到安装目录下覆盖源文件,默认安装目录为C:\ADINA94 ?
本文按照"模型简化-划分单元-组装整体刚度矩阵和整体节点力矩阵"的常规思路来建立冰溜子的有限元模型。 模型简化 对于一根悬挂的冰溜子,将其简化为一维线性变截面杆模型,荷载就是其自重。 比如,我们用四个单元来建立这根杆的模型,如图3a所示 ▲图3 图3b即为由此得到的4个单元5个节点的有限元模型。 \\ \end{bmatrix} 组装刚度矩阵 在一维问题中,每个节点只有一个自由度,图2b中的五个节点的有限元模型就有五个自由度。 {l_4})& \frac{A_4}{l_4}\\ 0 & 0& 0& -\frac{A_4}{l_4}& \frac{A_4}{l_4}\\ \end{bmatrix _4\\ A_4l_4\\ \end{Bmatrix} 用"划行划列法"处理边界条件之后,得到的有限元平衡方程为 \begin{bmatrix} (\frac{A_1}{l_1}+\frac{A_2}
抽象(Abstraction)指的是“在事物的诸多特征中,保留解决问题所需的部分特征”这一过程。在面向对象编程中,创建类时就要对客观事物进行合理的抽象。假如对一台手机进行抽象,即创建一个手机类。手机的特征很复杂,如品牌、外观颜色、重量、屏幕尺寸、屏幕分辨率、电池电量、内存、SIM卡类型、网络模式、操作系统、CPU型号、上市日期等等。解决的问题不同,手机类的属性和方法也就不同。如果分析手机的耗电量,那么只需要屏幕尺寸、屏幕分辨率、电池电量以及CPU型号这些与问题相关的特征。而忽略其他特征,这就是进行抽象。
解决方法: 1.提供人工的“沙漏刚度”; 2.细化网格(一般在高度方向至少要有4个单元)
一个triangulation对象不知道我们要在这个网格上使用的有限元的任何信息,它甚至都不知道它的单元的形状,它只知道2维时有4个面和4个顶点,三维时有6个面、12条边和8个顶点,其他信息都在映射类中定义 2)FiniteElement FiniteElement类用来描述定义在参考单元上的有限元空间(有限维的函数空间)的性质,比如单元的顶点、边界和内部有多少自由度,此外还给出了节点上形函数的值和梯度。 4)DoFHandler DoFHandler类是triangulation和finite elements的汇聚点:finite elements描述了每个节点、边和单元内部需要多少自由度,DoFHandler 它也不知道它管理的自由度的形函数的信息,它只知道每个节点、每条边、每个单元内部有多少自由度 5)Mapping 当我们需要计算矩阵和右端项的元素或每一个triangulation单元上的某个值时,我们需要知道实际单元上的有限元形函数和积分公式的积分点位置 FEValues就提供这些信息:给定有限元、积分信息和映射,FEValues类计算"the restriction of a continuous function space"。
如图所示悬臂梁,假定为平面应力条件。材料弹性模量E=1e6MPa,泊松比v=0.3,板厚度t=10mm,长度l=400mm,高h=100mm。划分8个单元,分别用自编程序和ANSYS计算节点位移。 A