Skip to content

Merge upstream - #1

Open
claudioperez wants to merge 789 commits into
peer-open-source:masterfrom
OpenSees:master
Open

Merge upstream#1
claudioperez wants to merge 789 commits into
peer-open-source:masterfrom
OpenSees:master

Conversation

@claudioperez

Copy link
Copy Markdown

No description provided.

silviamazzoni and others added 30 commits February 15, 2026 15:56
significant update to HystereticSM material
Updates to Visual Studio project files
…ting SysOfEqnPython .. so tcl interpreters do not need python version installed
Co-authored-by: Cursor <cursoragent@cursor.com>
…solver

Gaaraujo feature/enable python solver
Quick bug fix in Brick constructor: do not print unnecessary output
- Implements Direct Differentiation Method for all 10 parameters
- Handles initial loading, reversals, and cyclic behavior
- Based on Barbato & Conte (2006), extended to full parameter set
- Verified against finite differences
fmckenna and others added 30 commits August 11, 2026 08:36
Added a CMake build status badge to the README.
FBC: exit instead of buffer overflow
Fix `ArpackSOE::addM` for duplicate equation IDs under Transformation
Update SFI_MVLEM_3D.h for building consistent tangent stiffness
Update SFI_MVLEM_3D Tangent Stiffness
Fix CreepShrinkageACI209 revertToLastCommit stale-time re-evaluation
Account for shear stiffness in elastic beam column
BUG-3: addLoad() overwrites w1/w2/w3 with eleLoad values
instead of adding to them. zeroLoad() does not restore self-weight.

Fix:
- zeroLoad(): restore w1=0, w2=0, w3=weight
- addLoad(): accumulate (w1 += ...) instead of overwrite (w1 = ...)
Integration point strains can already be reached through the material
delegation, "material $matNum strain", but Tri31 does not answer the
element level "strain"/"strains" query that FourNodeQuad, SixNodeTri and
the rest of the quad family provide. A recorder written against those
elements stops working when the mesh uses Tri31.

This adds the same branch, responseID 4, sized by the element's own
number of integration points.

Adds a plane stress verification test. A single constant strain triangle
is loaded by the nodal forces that are statically equivalent to a uniform
stress field, once in uniaxial tension and once in pure shear, so all
three strain components have exact expected values.

Refs #1686
Fix varying distributed loads in ModElasticBeam3d
Fix CatenaryCable self-weight being overwritten by eleLoad
Guard BandGeneral solver against invalid LAPACK inputs
Hysteretic and HystereticSM did not restore the tangent in revertToLastCommit().
After a failed step the integrator forms the tangent before any new setTrialStrain(),
so every retry used the tangent of the failed trial; on a flat envelope segment that
tangent is zero and dgstrf() fails on every retry. Added Ctangent, set in commitState()
and restored in revertToLastCommit(), as Concrete01 does. It is also set in
revertToStart(), copied in getCopy() and sent in place of Ttangent in sendSelf().

Split out of #1802.
Hysteretic, HystereticSM: restore the tangent in revertToLastCommit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.