- 积分
- 0
- 注册时间
- 2010-10-27
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2012-4-24 16:22:04
|
显示全部楼层
来自 湖北宜昌
This question seems to come up once every few years. I took the time to write up a few paragraphs of explanation back at the turn of the century, which is mostly as true today as it was then --
The term 'pivot' refers to the first non-zero term in the matrix when one is performing Gaussian elimination to upper-triangularize the matrix before finding the displacement vector by back-substitution. These concepts are most applicable to use of the frontal solver, but I believe they exist for other solvers, too.
Typically, the matrix being solved is the stiffness matrix. Consider, for example, a simple 1-d element with two nodes, x1 and x2. If the model is unconstrained, ANSYS will attempt to write two equations:
k(x1-x2) = 0
k(x2-x1) = 0
ANSYS tries to solve for these two equations and two unknowns by subtracting one equation from the other. However, you can quickly see that this technique won't work because the two equations are not independent, meaning that for any value of x1=x2, the equations are satisfied. In matrix manipulation space, ANSYS ends up with the following:
| k -k | x1 = | 0 |
| -k k | x2 = | 0 |
Using Gaussian elimination:
| k -k | x1 = | 0 |
| 0 0 | x2 = | 0 |
The second '0' that I've underlined is the 'pivot'. The zero pivot here means that you have made ANSYS write more equations than can be solve deterministically. The mathematical term for this is that the matrix failed to be "positive definite."
The practical upshot is that zero pivots always are caused by unconstrained problems.
The "small pivot" problem comes from the fact that computers don't give zero when doing subtraction using real variables. Instead, you get values like 1e-20, or even -1e-20. Hence, poorly constrained problems will tend to lead to exceedingly small pivots, near the roundoff level for the machine. To the best of my knowledge, there is no significance to whether these small pivots are negative or positive, although ANSYS will sometimes tell you that you have a "negative pivot," rather than a "small pivot." They both indicate the same problem.
Lastly, when you have a big stiffness difference between adjacent elements, poor constraint can result from asking ANSYS to do Gaussian elimination that causes it to calculated small differences between large numbers. In this case, you start to lose accuracy as the pivot gets to be very close to the roundoff error of the computer. This is why ANSYS will also complain about stiffness matrix ratios that exceed 1e8.
What do you do to figure out what is going on? One answer is to do a modal analysis and see what part goes flying off at near zero frequency. I try to think about where the offending DOF is in the model and try to visualize that part of the model moving as a rigid body.
http://www.xansys.org/forum/viewtopic.php?p=82282 |
|