Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Matrix Bandwidth 1

Status
Not open for further replies.

asixth

Structural
Feb 27, 2008
1,333
0
0
GB
Hi guys,

Every FE textbook I open seems to begin with a quick word on stiffness matrix bandwidth. My question is, will a stiffness matrix with a particulary large bandwidth, be more likely to become ill-conditioned than a model organised such that the stiffness matrix has a particularly narrow bandwidth?

Or is narrow bandwidth only ideal because it requires less storage capacity?

I am using a solver that allows me to only store the non-zero entries in a matrix, so in terms of storage space, it becomes irrelevent on whether my stiffness matrix has a narrow or large bandwidth.

Before anyone asks, I am not a student posting a homework question, I am basically trying to programme my own frame analysis routine?
 
Replies continue below

Recommended for you

A method that stores only the non-zero's has the "potential" to be much better than a bandwidth solver. It uses less memory (as long as your model is large enough) and probably has to perform fewer calculations also... which in turn means... less accumulated truncation and roundoff errors in your overall set of calculations. Note, you also have to know what numerical "method" you are using to do the solving. Calling a routine a Bandwidth or Sparse solver only describes the way of storing and working with the data. It says nothing about the mathematics involved.

However, a sparse solver is MUCH more complicated and done incorrectly, may cost you quite a bit. For relatively small models, it doesn't really have any advantage anyway.

If you are writing your own code... I personally recommend that you write your own solver the first time through (rather than use a canned code ). It's the only way you'll truly understand all the differences in the decisions you make. For instance, how you accumulate the data on your model, the numbering etc. may be directly influenced by the solver code/method that you are using.

A bandwidth or a skyline/envelope solver (better than bandwidth solver) are usually a good way to go the first time through. They're certainly easier to understand.

Read up on Gauss and Cholesky methods for solvers. It's a good starting point.


Dan
 
Status
Not open for further replies.
Back
Top