Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Matrix Bandwidth 1

Status
Not open for further replies.

asixth

Structural
Feb 27, 2008
1,333
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

i think the main point of a narrow bandwidth is that it reduces the computation for the inverse of the matrix
 
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
 
Thanks DanTex, good response
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor