关于zero pivot
下面是运行一个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的更多相关文章
- Pivot 和 Unpivot
在TSQL中,使用Pivot和Unpivot运算符将一个关系表转换成另外一个关系表,两个命令实现的操作是“相反”的,但是,pivot之后,不能通过unpivot将数据还原.这两个运算符的操作数比较复杂 ...
- SQL Server中行列转换 Pivot UnPivot
SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...
- Open xml 操作Excel 透视表(Pivot table)-- 实现Excel多语言报表
我的一个ERP项目中,客户希望使用Excel Pivot table 做分析报表. ERP 从数据库中读出数据,导出到Excel中的数据源表(统一命名为Data),刷新Pivot table! 客户还 ...
- SQL(横表和纵表)行列转换,PIVOT与UNPIVOT的区别和使用方法举例,合并列的例子
使用过SQL Server 2000的人都知道,要想实现行列转换,必须综合利用聚合函数和动态SQL,具体实现起来需要一定的技巧,而在SQL Server 2005中,使用新引进的关键字PIVOT/UN ...
- T-SQL Recipes之Dynamic PIVOT and UNPIVOT
PIVOT PIVOT在行转列的时候经常用到,最便捷的方式就是通过示例来理解它的作用. 示例1 Query to Return Select Product Data from AdventureWo ...
- sql的行转列(PIVOT)与列转行(UNPIVOT)
在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一.行转列 1.测 ...
- Panorama和Pivot的区别
Panorama 1.提供了更丰富的用户体验(建议最多4个Items项) 2.Item可以设置屏幕方向为水平,支持多于一个屏幕的显示 3.可以使用任意大小的背景图片,Panorama会自动地缩放为屏幕 ...
- 如何用Pivot实现行列转换
在Oracle中,如果要实现行列转换,较为常见的是用DECODE和CASE语句.对于简单的行列转行,DECODE和CASE语句尚能应付.在逻辑比较复杂,分组聚合较多的场景中,DECODE和CASE语句 ...
- SQL Server SQL性能优化之--pivot行列转换减少扫描计数优化查询语句
原文出处:http://www.cnblogs.com/wy123/p/5933734.html 先看常用的一种表结构设计方式: 那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全 ...
- SQL Server中使用PIVOT行转列
使用PIVOT行转列 1.建表及插入数据 USE [AdventureDB] GO /****** Object: Table [dbo].[Score] Script Date: 11/25/201 ...
随机推荐
- 备份还原mysql数据库
Windows下cmd命令行中备份还原mysql数据库 先cmd 上cd 到mysql的安装bin目录下,然后再运行下面的命令. 例如:cd C:\Program Files\MySQL\MySQL ...
- HDU 2204 Eddy's爱好(容斥原理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2204 解题报告:输入一个n让你求出[1,n]范围内有多少个数可以表示成形如m^k的样子. 不详细说了, ...
- The Flash
flash.now[:error] = "" render :new flash[:error] = "" redirect videos_path http: ...
- 如何改变服务器的本地域名来访问本地服务器 而不用localhost或者127.0.0.1来访问
1. vim nginx.conf 如下: server { listen 80; server_name pma; ...
- HTML 快速入门
最近帮朋友研究作一个网站,虽然对很多人来说这是很简单的事情,但是对我来说却比较复杂!废话不多讲了,看看我找的HTML快速入门,说不定也会对你有帮助! 一. HTML 的基本概念 HTML ( Hyp ...
- c++ exports def文件
https://msdn.microsoft.com/zh-cn/library/hyx1zcd3(v=vs.80).aspx EXPORTS 引入了一个由一个或多个 definitions(导出的函 ...
- poj1611(感染病患者)
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 24587 Accepted: 12046 De ...
- Linux MySQL 存储引擎详解
MySQL常用的存储引擎为MyISAM.InnoDB.MEMORY.MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表. MyISAM是MySQL的默认存储引擎.MyISAM不支 ...
- TokuDB的特点验证 - billy鹏
TokuDB的特点验证 - billy鹏 时间 2014-03-03 14:28:00 博客园_billy鹏的足迹原文 http://www.cnblogs.com/billyxp/p/35674 ...
- java面试总结-(hibernate ibatis struts2 spring)
说说Hibernate对象的三种状态 Hibernate对象有三种状态,分别是:临时态(Transient). 持久态(Persistent).游离态(Detached). 临时状态:是指从对象通过n ...