Skip to content

Merge upstream - #1

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

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

Conversation

@claudioperez

Copy link
Copy Markdown

No description provided.

mhscott and others added 30 commits January 12, 2026 12:56
Fixing error in constructor call from OPS command
Explicit Bathe implements an explicit algorithm by KJ Bathe that has
improved numerical damping for high frequencies.

ExplicitDifferenceStatic is an explicit integrator intended for static
relaxation pseudo-static analysis. Motions are damped out using a Local
Non-Viscous Damping method, inspired in FLAC.
ref PR #1694: LagrangeMP_FE - remove wrong check
Adding set/updateParameter to ElasticMultilinear
ExplicitBathe -> Like ExplicitDifference but with improved numerical
damping that can be controlled with parameter p.

ExplicitDifferenceStatic -> Meant for (pseudo) static analysis with
explicit dynamics. A controllable local non-viscous damping force is
added to remove dynamics. This is better than viscous damping because it
converges faster and does not bias the static solution in the presence
of plasticity. This is inspired in the methodolocy used by FLAC for
static analysis based on explicit integration methods.
ASDPlasticMaterial3D: robust backward-Euler integration, expanded yield/flow options, internal-variable I/O + fix ElementStateParameter leak
Derive theAccelSeries from theDispSeries in GroundMotion
minor, very minor, let's say irrelevant, edits to HystereticSM
…n the computations of: 1. ductility, a. the damage parameter b. the unloading-stiffness parameter c. recorder output. and 2. the computation of the initial energy to include the elastic energy. THIS NEW PARAMETER SHOULD BE USED WHEN eps2 REPRESENTS PLASTIC ROTATIONS.

I also fixed a lot of other inconsistencies that chatGPT didn't like. no real bugs, but issues nonetheless.
I have tested this, it works well. you now have significantly less damage effects since we are now dividing by a real number, while before you were dividing by a tiny numer for the case of plastic rotations. the default is set to zero.
I have also updated the code so now the second slope CAN be negative.
significant update to hystereticSM material
Add PythonSparse interface for Python-based linear and eigen solvers
mhscott and others added 30 commits June 4, 2026 16:06
…tering (-region tag) to restrict recorded nodes/elements.
put back ancLratio into BarSlip Material to be consistent with docume…
Adding error message when Invert() fails on section stiffness
Adding G and Av as optional inputs for elastic beam (2d and 3d)
Enhance VTKHDF recorder with eleTags, nodeTags, and force recording and add the loadconst support for h5drm
Fix null deref in TwoNodeLink
Newton solvers: add -factorOnce and consolidate Tcl/OPS parsers
Two independent bugs in the original material:

1. revertToLastCommit produces wrong stress when creep is active.
   Root cause: after a rejected step the integrator calls revertToLastStep,
   which re-evaluates the material at the previous committed time. The
   unconditional iterationInStep++ at the end of setTrialStrain consumed
   the first-iteration slot during that re-evaluation, so the subsequent
   redo saw iterationInStep >= 1 and skipped recomputing creep, committing
   a stale (zero) creep strain instead of the correct value.
   Fix: reset iterationInStep = 0 in the same-time branch (committed-time
   re-evaluations are not part of a new step) and move the increment inside
   the new-time branch so it counts only genuine new-step iterations.
   The iterationInStep < 1 gate and the optimization it provides are
   preserved: creep is constant across Newton iterations because it depends
   only on committed history and elapsed time, not on the current trial
   strain, so computing it once per step is correct.

2. sendSelf/recvSelf crashes for any creep setting.
   Root cause: FEM_ObjectBrokerAllClasses::getNewUniaxialMaterial has no
   case for MAT_TAG_CreepShrinkageACI209 (tag 236), so object reconstruction
   from a saved stream returns null and segfaults.
   Fix: add the missing include and switch case. Also corrects the data
   Vector size from 27 to the actual 22 scalar fields serialized.

Changed files:
  SRC/material/uniaxial/CreepShrinkageACI209.cpp
  SRC/actor/objectBroker/FEM_ObjectBrokerAllClasses.cpp
Fix CreepShrinkageACI209 revertToLastCommit and serialization
Remove CreepMaterial; add CreepShrinkageACI209 to runtime/Win64 and CI tests
Removing debug output statements
…13) and updating python to latest pulled (python3.12)
…for arm and x86 builds, updating .gitignore for mac build dir options, updasting hdf5 version in conanfile
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.