下面是运行一个adams/car模型出现的错误。

---- ERROR ----
   The system matrix has a zero pivot for column 2142, which is associated
   with VARIABLE/64 Algb Var.  Consequently, the matrix is numerically singular.

错误分析

大家可能都清楚当出现zero pivot错误的时候,一般是model中出现了过约束(over constraint)或者是约束不够而导致rigid mode. 以前我是把这当做一条理论来记得,原因比较模糊,今天把它搞搞清楚,落在文字上与大家分享。说pivot, 得先从高斯消元讲起。有限元软件求解刚度矩阵时,一般是用高斯消元。对于高斯消元,大家应该比较熟悉,这是一种基于先正向消元,再反向迭代求解的求解办法(It is based on triangularization of the coefficient matrix and evaluation of the unknowns by back-subsitution starting from the last equation)。高斯消元后的矩阵是这样的

| a11  a12   a13  a14… a1n  |      x1       c1

| 0      a22   a23  a24… a2n  |      x2       c2

| 0      0       a33  a34…a3n   |      x3       c3

| 0      0       0      a44…a4n  |   {  x4}={c4}

| ………………………… .......|      …       …

| 0      0        0        0 … ann |       xn      cn

这样第一步先求出xn,第二步就可以求出x(n-1),如此类推。在这个矩阵中每行的第一个非零的系数就是pivot。那么zero pivot的意义就明确了,就是指在高斯消元后的刚度矩阵中出现了一个全为零的一行。一个原因是出现了过构束,就好比去用10个方程去解一个9个未知数,一定有一个方程可以消去。多余那个方程有可能与原有的某一方程等价,也有可能与某一方程冲突,但结果都是zero pivot。 另一个原因是约束不够,有力,但与之对应没有刚度,无疑会出现zero pivot。

如果是约束不够时,一般在message file里还会出现NUMERICAL SINGULARITY warnings。这一般是因为力除以0刚度出现了无穷大的位移。

关于zero pivot的更多相关文章

  1. Pivot 和 Unpivot

    在TSQL中,使用Pivot和Unpivot运算符将一个关系表转换成另外一个关系表,两个命令实现的操作是“相反”的,但是,pivot之后,不能通过unpivot将数据还原.这两个运算符的操作数比较复杂 ...

  2. SQL Server中行列转换 Pivot UnPivot

    SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...

  3. Open xml 操作Excel 透视表(Pivot table)-- 实现Excel多语言报表

    我的一个ERP项目中,客户希望使用Excel Pivot table 做分析报表. ERP 从数据库中读出数据,导出到Excel中的数据源表(统一命名为Data),刷新Pivot table! 客户还 ...

  4. SQL(横表和纵表)行列转换,PIVOT与UNPIVOT的区别和使用方法举例,合并列的例子

    使用过SQL Server 2000的人都知道,要想实现行列转换,必须综合利用聚合函数和动态SQL,具体实现起来需要一定的技巧,而在SQL Server 2005中,使用新引进的关键字PIVOT/UN ...

  5. T-SQL Recipes之Dynamic PIVOT and UNPIVOT

    PIVOT PIVOT在行转列的时候经常用到,最便捷的方式就是通过示例来理解它的作用. 示例1 Query to Return Select Product Data from AdventureWo ...

  6. sql的行转列(PIVOT)与列转行(UNPIVOT)

    在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一.行转列 1.测 ...

  7. Panorama和Pivot的区别

    Panorama 1.提供了更丰富的用户体验(建议最多4个Items项) 2.Item可以设置屏幕方向为水平,支持多于一个屏幕的显示 3.可以使用任意大小的背景图片,Panorama会自动地缩放为屏幕 ...

  8. 如何用Pivot实现行列转换

    在Oracle中,如果要实现行列转换,较为常见的是用DECODE和CASE语句.对于简单的行列转行,DECODE和CASE语句尚能应付.在逻辑比较复杂,分组聚合较多的场景中,DECODE和CASE语句 ...

  9. SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句

    原文出处:http://www.cnblogs.com/wy123/p/5933734.html 先看常用的一种表结构设计方式: 那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全 ...

  10. SQL Server中使用PIVOT行转列

    使用PIVOT行转列 1.建表及插入数据 USE [AdventureDB] GO /****** Object: Table [dbo].[Score] Script Date: 11/25/201 ...

随机推荐

  1. cpu和内存的关系

    CPU是负责运算和处理的,内存是交换数据的.当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等. ...

  2. [POJ1003]Hangover

    [POJ1003]Hangover 试题描述 How far can you make a stack of cards overhang a table? If you have one card, ...

  3. [BZOJ1477]青蛙的约会

    [BZOJ1477]青蛙的约会 试题描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘 ...

  4. 【转】Mybatis/Ibatis,数据库操作的返回值

    该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey&g ...

  5. Apple Swift中英文开发资源集锦[apple swift resources]

    找到的一些Apple Swift中英文资源原文链接,希望对大家有所帮助.欢迎大家补充,原始资源链接最好! The Swift Programming Language https://develope ...

  6. Android简易数据存储之SharedPreferences

    Andorid提供了多种数据存储的方式,例如前面说到的“Android数据存储之SQLite的操作”是用于较复杂的数据存储.然而,如果有些简单的数据存储如果采用SQLite的方式的话会显得比较笨重.例 ...

  7. iOS8 UILocalNotification 和 UIRemoteNotification 使用注意 草稿,正在整理中。。。。

    先说一个关于UILocalNotification的知识点,容易被忘记: Each app on a device is limited to 64 scheduled local notificat ...

  8. javascript onload队列

    2014年10月29日 10:40:14 function addLoadEvent(func){ var oldonload = window.onload; if (typeof window.o ...

  9. Java for LeetCode 062 Unique Paths

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  10. kindeditor的简单使用

    上传到云: 一.引入kindeditor <%@ page language="java" contentType="text/html; charset=UTF- ...