Need a book? Engineering books recommendations...

Return to index: [Subject] [Thread] [Date] [Author]

RE: MATRIX ANALYSIS

[Subject Prev][Subject Next][Thread Prev][Thread Next]
Title: RE: MATRIX ANALYSIS

Another thought on this thread
1. It's nice to here someone else who did FORTRAN programming.  My first program was a Fortran frame analysis program that I later rewrote in Basic for a Tandy TRS80.  (It could handle 13 nodes and a joint difference of 4 and made life so easy.

2.  We were using an international structural analysis package in this office and when Release 7 came out, we had a few odd answers for industrial sheds.  It turned out that there was an error in the coding of the stiffness matrix and displacements were under estimated.  Contacted vendor with results.  No answer.  3 months later Release 7.1 as free issue and no explanation.  Even if you did trust it,  when the coding is redone, revalidate it.

Mark Hickey
Brisbane Aust


-----Original Message-----
From: Roger Turk [mailto:73527.1356(--nospam--at)compuserve.com]
Sent: Friday, May 02, 2003 1:43 AM
To: seaint(--nospam--at)seaint.org
Subject: Re: MATRIX ANALYSIS

Christopher Wright wrote:

. > Check three things--
. > Force equilibrium overall
. > Member force equilibrium
. > For a few selected joints, check the force balance on the node points.
. > Also check a few of the members for proper displacements.

But, what if the person that wrote the program had the program check for
equilibrium unbalance in these items and distributed the unbalance in some
manner just to make the statics work out? The statics would always check out,
but the program may be completely wrong because the programmer was unable to
find the error in his/her code.  (Checking for unbalance due to rounding
errors is a common procedure in programming, whether it is in structural
analysis or in computing payroll taxes.)

The first engineering program that I wrote was a FORTRAN program for a
uniformly loaded square flat plate, ideal for a computer because the
equations were all infinite series.  My answers were only slightly different
from the results of Timoshenko, and we all know that Timo is right!  Going
thru the program again and again, I finally focused on the code to raise -1
to an integer power.  We all know that the easiest number to raise to an
integer power is 1, and the second easiest is -1.  In those days we were given
some idea of how the compiler handled certain operations.  When the FORTRAN
code indicated that a number was to be raised to a power, the compiler took
the logarithm of the number, expressed as an infinite series, multiplied the
logarithm by the exponent, then took the anti-log of the product, again
expressed as an infinite series.  However, the logarithm of a negative number
does not exist!  I revised the code to have the -1 raised to an integer power
alternate between -1 and 1 and the answers immediately agreed with Timo's.

. > The reason you don't want to check it against another program is that you
. > can never be sure which one's right.

I agree with your final premise, but would add, "... or if both are wrong."

******* ****** ******* ******** ******* ******* ******* ***
*   Read list FAQ at: http://www.seaint.org/list_FAQ.asp
*
*   This email was sent to you via Structural Engineers
*   Association of Southern California (SEAOSC) server. To
*   subscribe (no fee) or UnSubscribe, please go to:
*
*   http://www.seaint.org/sealist1.asp
*
*   Questions to seaint-ad(--nospam--at)seaint.org. Remember, any email you
*   send to the list is public domain and may be re-posted
*   without your permission. Make sure you visit our web
*   site at: http://www.seaint.org
******* ****** ****** ****** ******* ****** ****** ********

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.471 / Virus Database: 269 - Release Date: 4/10/2003
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.471 / Virus Database: 269 - Release Date: 4/10/2003