Hey, I am set to work on a modified - confined concrete - fiber section starting from the existing one. In exploring the existing code I ran into the following method:
and near the end it recomputes the centroid by
Code: Select all
// Recompute centroid
for (i = 0; i < numFibers; i++) {
yLoc = -matData[2*i];
zLoc = matData[2*i+1];
Area = matData[2*i+2];
// code truncated
I believe the "2" in the lines above should be "3" or else the "Area" fields will be overwritten by the subsequent "yLoc", and only 2/3 of the matData fields will be updated . It appears like a copy-and-paste operation from
which was overlooked in the editing.
I cannot believe it caused no problems before with all the users using 3-D models. However. it is possible to imagine given that
will typically add a number of steel bars that are not heavily influential in offsetting the centroid. This is more so since the method does not consider the "virtual section - modular ratio <n>" and because the reinforcing steel is usually more or less uniform or balanced in a column or beam section, respectively.
P.S. I am using the source code for OpenSees 1.6.0 since I am too lazy to port the stuff I already coded into the newer version. If this bug has been caught and corrected in the current version, my apologies