Whats different between Version 2.4.0 and 2.3.2

  1. New Classes:
    1. A number of Classes Have Been added for Thermo-mechancial Analsis (Steel01Thermal, Concrete02Thermal, FiberSection2dThermal, DispBeamColumn2dThermal, BeamThermalLoad, FireLoadPattern), University of Edinburgh OpenSees Developers Group under direction of A. Usmani, United Kingdom.
    2. A number of Deterioration Models for use in modeling of structural frames using concentrated plasticity approach. ModIMKPeakOriented Material, ModIMKPinching Material, Bilin) D.Lignos, McGill University, Canada
    3. A Concrete Damage Model for 3d and plane stress problems, L.Tesser, Univ. Padua, Italy.
    4. A cyclic elastoplasticity model for large post-liquefaction deformation, Rui Wang, Tsinghua University.
    5. A number of stabilized single-point integration elements for use in continuum models: SSP_Quad, SSP_Brick, SSPquad_UP, SSPbrick_UP, C McGann, P Mackenzie-Heinwein, and P. Arduino, University of Washington.
    6. A number of Beam to Node contact elements. BeamContact2D, BeamContact3D, BeamEndContact3D, C McGann, P Mackenzie-Heinwein, and P. Arduino, University of Washington.
    7. A Triple Friction Pendulum Element, N. Dao and K. Ryan, University of Nevada - Reno.
    8. Some others that I am still working on the documention for!
  2. Changes to Code:
    1. additional response output quantities
    2. additional updateParameter options added to certain materials and elements.
    3. system of equations, matrix, vector & id classes modified to ensure error message sent to screen in case of out-of-memory problem
    4. 10 Bug Fixes
Version 2.4.0 - Release Tag 5126
A more detailed description can be found using SVN

Whats different between Version 2.3.2 and 2.3.0

  1. New Classes:
    1. DoddRestrepo Steel Material from L. Dodd, J.Restrepo & M. Schoettler, UC San Diego
    2. Cast a cast yielding fuse model for braced frames, D.Lignos McGill University, Canada.
    3. ElasticTubeSection from M.Scott Oregon State
    4. ShellMITC4 (totally new bug free implementation) L. Tesser, D. Talledo, V. Le Corvec
    5. ShellNL lagrangian shell element (for large deformation) L. Tesser, D. Talledo, Univ. Padua, Italy.
    6. Tri31 Tri31 - R.Mikola (UC Berkeley)
    7. MPIDiagonal Solver G.Petropolus, UC Berkeley
    8. SSPBrick (stabilized single point integration) and SSPBrickUP from C.McGannn, P.Arduino, P Mackenzie-Helnwein U.Washington e
    9. API_Dummy code added for C++ developers wishing to write their own main that does not use Tcl.
  2. Changes to Code:
    1. additional response options added to certain materials and elements
    2. additional updateParameter options added to certain materials and elements.
    3. 9 Bug Fixes
Version 2.3.2 - Release Tag 4665
A more detailed description can be found using SVN

Whats different between Version 2.3.0 and 2.2.2

  1. New Classes:
    1. ElasticBilin uniaxial material
    2. Maxwell uniaxial material from D.Lignos
    3. pYUCLA uniaxial material from H.Shin, P. Arduino U.Washington
    4. SurfaceLoad, SelfWeight loads from C.McGann, P. Arduino, P Mackenzie-Helnwein U.Washington
    5. SimpleContact2d and SimpleContact3D from K.Patek, P. Arduino, P Mackenzie-Helnwein U.Washington
    6. ModElasticBeam2d element from D.Lignos
    7. CoupledZeroLength element
    8. TFP_Bearing (triple friction pendulum) element from T.Becker, UC Berkeley
    9. SSPQuad (stabilized single point integration) and SSPQuadUP from C.McGannn, P.Arduino, P. McKenzie-Helnwein U.Washington
    10. MPIDiagonalSolver from G.Petropolus, UC Berkeley
  2. Changes to Code:
    1. new record command added, will invoke record on recorders.
    2. new setParameter command for changing state variables during analysis
    3. SuperLU has been upgraded to version 4.1
    4. additional options added to a number of command
    5. 11 Bug Fixes
    6. For developers we have added a wrapper to allow nd materials to be written in c or fortran.
Version 2.3.0 - Release Tag 4554

Whats different between Version 2.2.2 and 2.2.1

  1. New Classes:
    1. CompositeResponse
    2. InitStrain, InitStress uniaxial materials
  2. Changes to Code:
    1. New parameterization framework for uncertainty analysis
    2. Arbitrary tags for reliability objects (parameters, RVs, limit states)
    3. Additional commands for customized output of reliability analysis
    4. Using copmposite response users can now record information from all sections in the beam columns
    5. A number of changes to improve performance
    6. 4 Bug Fixes
    7. new record command added, will invoke record on recorders.

Whats different between Version 2.2.1 and 2.2.0

  1. New Classes:
    1. PyMacro -V.Varun and A.Shafiee
    2. BoundingCamClay BoundingCamClay3D - K.Patek, P. Arduino, P Mackenzie-Helnwein U.Washington
    3. ContactMaterial2D ContactMaterial3D - K.Patek, P. Arduino, P Mackenzie-Helnwein U.Washington
    4. SimpleContact2d, SmpleContact3d - K.Patek, C. McGann, P. Arduino, P Mackenzie-Helnwein U.Washington
    5. BeamContact2D, BeamContact3D - K.Patek, C. McGann, P. Arduino, P Mackenzie-Helnwein U.Washington
    6. TCPStreamHandler
    7. Elastic Tubular Joint - Kia & Alanjari
  2. Modified Commands:
    1. modified remove command to be able to remove MP constraints
    2. modified nodeCoord command to return al coordinates
  3. Changes to Code:
    1. fixing setResponse/getResponse methods in FiberSection2dInt
    2. redo of how tags were cimplemented for MP and SP constraints
    3. more usage of Map stl for performance
    4. option to obtain all eigenvalues from the node in single recorder
    5. 12 bug fixes

Whats different between Version 2.2.0 and 2.1.0

  1. New Classes:
    1. DruckerPrager - K.Petek, P.Mackenzie, P.Arduino - ducker prager material
    2. PlaneStrain Material - A. Vytiniotis - wrapper for 3d to plane strain
    3. Bilin - T.Karavasilis and D.Lignos - uniaxial bilin material
    4. SAWSMaterial - P.Uriz - a hysteretic model for modelling wood frame structures
    5. ConfinedConcrete - M.D Amato uniaxial material for confined concrete.
    6. ImpactMaterial - M.Dryden - uniaxial material for pounding/impact.
    7. UniaxialJ2Plasticity - M.Barbato & Q.Gu - uniaxil J2.
    8. TwoNodeLink - A.Schellenberg - a element linking 2 nodes with P-Delta calculations
    9. ElastomericBearing - A. Schellenberg - elastomeric bearingelement.
    10. FrictionPendelum - A.Schellenberg - friction pendulum element
    11. FlatSlider2D and 3D - A.Schellenberg
    12. ZeroLengthContactNTS2D - R.G.Mikola and N.Sitar - 2d friction contact element
    13. BBarBrickUP and BBarFourNodeQuadUP - Z.Yang- bbar formulations for UP problems
    14. FrictionModel and CoulombFriction, VDependentFriction, VPDependentFriction - A.Schellenberg
    15. Multple Integration Methods for Hybrid Simulation Methods - A.Schellenberg
    16. Trapezoidal, TRBDF2, GeneralizedAlpha integrators - some more transient integrators
    17. AMDNUmberer - alternative min degree numbering scheme for equation solvers
    18. RemoveRecorder - M.Talaat and S.Gunay - recorder for element removal
  2. Removed Classes:
    1. SMAMAterial was removed.
  3. New Commands:
    1. timeSeries - new command for constructing time series objects
    2. testNorms - to return tested norms from last analysis step
    3. testIter - to return last number of iterations in analysis step
  4. Modified Commands:
    1. remove - a recorder option has been added to remove recorders.
    2. existing commands modified for new classes above.
  5. Changes to Code:
    1. Modifications to ForceBeamColumn3D to do infill wall panel removal - S.Gunay
    2. Eigen solution has been totally rewritten to improve performance and greatly cut down on memory overhead.
    3. 15 bug fixes
    4. Numerous other changes to improve performance.

Whats different between Version 2.1.0 and 2.0.0

  1. The interpreter is now based on Tcl version 8.5 instead of version 8.4. The main advantage this provides to OpenSees users is:
    1. The tcl part of the code is now approx. 10% faster.
    2. New min, max and ** (pow) operators.
    3. New in and ni for checking membership of lists, e.g. if {$item in $list} { ..}
    4. New dictionary data type. These are like tcl arrays (hash tables) but allow s pass by value instead of by reference.
    5. New {*} syntax to avoid abusive use of eval which is often used when you have a list of seperate things that needs to be passed as paramaters.
    6. And many more. see http://wiki.tcl.tk/10630
  2. For users and developers there is a new mechanism for including outside material and element routines. These routines can be written in C++, C or Fortran and can be dynamically linked at runtime through use of .dll's on windows, .dylib on mac and .so on linux. This means people can share new materials and elements without the need to compile and link with OpenSees or w/o having to submit their code to the OpenSees repository. Mechanisms willl be set up to alert users as to what elements and materials are available outside the core interpreter.
  3. New eleResponse command to get information from an element during the analysis. args similar to element recorder. Results returned in a list.
  4. Modified nodeDisp, nodeVel and nodeAccel commands. If no dof specified list returned for all dof values.
  5. New sectionForce eleTag? sectNum? dof? to return a section force.
  6. New eleNodes command to return nodes at an element. (eleNodes eleTag?)
  7. New getEleTags and getNodeTags commands to return in a list all ele and node tags.
  8. New command to set the setElementRayleighDampingFactors to set an individual elements damping factors.
  9. New command searchPeerNGA which returns a list of earthquakes from the Peer NGA database.
  10. Users can obtain acceleration records from PeerNGS using modified TimeSeries command PeerNGAMotion $record $fact -dt dtName? -nPts nPtsName? The number of data points and dt are placed in the variables nPtsName and dtName.
  11. New Py, Tz, and Qz materials for shallow foundations and new command for generating a shallow foundation (thanks to P. Raychowdhury (UCSD)
  12. We continue to work on the reliability parts of the code.
  13. And of course the minor bug fixes and performance enhancements.

Whats different between Version 2.0.0 and 1.7.5

  1. The major difference is that 2 new parallel applications are available. More information on the parallel applications can be found here .
  2. In addition, applications for intel based machines running the Mac OSX are now available. The code has been modified to make use of Apple's AGL interface.
  3. New HyperbolicGapMaterial (thanks to Mathew Dryden).
  4. New SelfCenteringMaterial (thanks to Jeff Erochko).
  5. We continue to work on the reliability parts of the code.
  6. New OpenSeesTk applications are available on the download page. These should only be downloaded and used if you have a script that requires the additional commands that come with the Tk toolkit.

Whats different between Version 1.7.5 and 1.7.4

  1. The recorder command now returns an integer tag. User can use the command 'set recorderTag [recorder ...]; .. remove recorder $recorderTag' to create and subsequently remove a particular recorder. This is instead of having to remove all recorders.
  2. A new command 'stripXML orig.xml new.dat new.xml' is provided. This is to allow users to seperate the data and metadata from the xml files created with the recorder command in OpenSees. Useful for importing the files subsequently into matlab or excel.
  3. Ability to create, update, and modify parameters during an analysis.
  4. Important bug fix related to the recording of material quantaties in 2d fiber sections. The previous version was recording the material with the nearest -y to that y provided on the command line. This has been fixed.
  5. New GenericElement (Andreas Schellenberg) added. This will allow users to connect with an externla server which may provide the element function. Current usage is for hybrid simulation. Potential usage if for someone who does not wish to provide element files such as researchers or people wishing to charge for their service.
  6. New ZeroLength contact element (Gang Wang) provided.
  7. For force-beam column elements the users now have the option of specifying control section locations and integration weights.
  8. can now do system reliability analysis, using command runSystemAnalysis fileName? analysisMethod? (allInParallel | allInSeries) <-Nmax val?> <-tol val?> analysisMethod options are: PCM, IPCM, MVN, and SCIS.
  9. other parts of the reliabilty code have been rewritten to remove the restriction that random variables, limit state functions and correelation coeeficients had to be numbered sequentially starting at 1.
  10. Important bug fix related to important yet undocumented 'updateMaterialStage' command. Version 1.7.4 introduced a bug that was causing this command to fail under certain circumstances. This has been fixed.
  11. And of course, other minor bug fixes and code rewrites to improve performance.

Whats different between Version 1.7.3 and 1.7.2

  1. Modified the recorders to create XML files if the provides the -xml flag instead of -file.
  2. Added a new EnvelopeDrift recorder for recording drift envelope information.
  3. And of course some minor bug fixes and other misc. changes.

Whats different between Version 1.7.2 and 1.7.1

  1. A new command line interface provided for providing information about the analysis; including time started and finished, files opened for reading (this include any that are sourced in), files opened for writing by the recorders, and any parameter names and values used. format: parameter studies. format: OpenSees fileName -INFO fileName
  2. Copyright statement has been amended to ensure free internal use of program by for-profits.
  3. Adding more code for using the Mumps sparse solver.
  4. Modified some of the internal data structures used in the code in an effort to improve performance for larger models.
  5. Major bug fixes. A potential existed for some of the material classes, most notably Concrete01, to get into an inadmissable state.
  6. And of course some minor bug fixes and other misc. changes.

Whats different between Version 1.7.1 and 1.7.0

  1. A new command line interface provided for parameter studies. format: OpenSees fileName -par p1Name? p1File? -par p2Name? p2File? A version of this can be run in parallel, where multilple interprteres can be created on seperate processors and each will run seperate studies.
  2. The source code for Steel02 and Concrete02 has finally been released and can now be obtained from the repository.
  3. New sequential and parallel classes have been added to the repository for the MUMPS solver package.
  4. Modifications to code to compile with IBM's xlc compilers. see OpenSees/MAKES/Makefile.def.DATASTAR for example.
  5. Outside contributors revised and updated versions of ReinforcingSteel (J.Mohle and S.Kunnath), Steel03 (K.Mackie) and Concrete04 (N.Mitra and L.Lowes)
  6. A number of elements have been modified so that the eigen vectors can be displayed.
  7. For large problems; the default containers to store objects have been changed from Arrays to Map objects and the Graph class has been reimplemented to be faster.
  8. Major bug fix. A memory leak was found to occur running multiple models in one interpreter. The problem was reported on the message board and has been fixed.
  9. Some minor bug fixes and other misc. changes.

Whats different between Version 1.7.0 and 1.6.2.f

  1. Changinging default beamWithHinges to use GaussRadea instead of midpoint. This places section at end of element instead of middle of hinge. If want the old one use beamWithHinges1 instead of beamWithHinges.
  2. Have added code to the repository to allow parallel programming and the building of an interprter that will run on a parallel machine running MPI and linux.
  3. New integration schemes for hybrid simulation: AlphaOSGeneralized, AlphaOS HHTHybridSimulation, and NewmarkHybridSimulation. (A. Schellenberg and S. Mahin)
  4. New integration schems for explicit time integration: HHTExplicit, HHTGeneralizedExplicit, and NewmarkExplicit. (A. Schellenberg and S. Mahin)
  5. Modified the implementation of FileDatabase to be more efficient and handle larger models.
  6. Modification of hinge integration classes; some rules reimplemented and some new integration rules provided.
  7. New contributions from outside researchers include Isolator2spring and ReinforcingSteel. See the documentation.
  8. Minor bug fixes.

Whats different between Version 1.6.2.e and 1.6.2.d

  1. Bug fix, recorders failing with TrussSection element.

Whats different between Version 1.6.2.f and 1.6.2.e

  1. Changed the way that constarints are enforced using Transformation Constraint Handler. Will reduce the number of updates() called on elements; only those with SP_Constraints will have the extra update() invoked.
  2. AnalysisModel class changed to use container objects for storing DOF_Group and FE_Elements.
  3. Removed from ConstraintHandler classes need to keep storage allocated for pointers to DOF_Groups and FE_Elements.

Whats different between Version 1.6.2.e and 1.6.2.d

  1. Bug fix, recorders failing with TrussSection element.

Whats different between Version 1.6.2.d and 1.6.2.c

  1. New class Concrete04.
  2. Fixed a problem with sp constraints that existed in the last windows .exe file released. The released source code was fine!

Whats different between Version 1.6.2.c and 1.6.2.b

  1. New classes ReinforceingMaterial and Steel03.
  2. New ways for developers to add solvers and databases to OpenSees. Implementation provided for Petsc, MySQL and BerkeleyDB. MySQL and BerkeleyDB removed from standard linux build, now use packages instead.
  3. EPPGapMaterial material was updated to include kinemetic hardening.
  4. Changed the way transformation constraint handler enforces constraints; moved from the Transformation_FE's and gave to the Transformation_DOFs. that are under the SRC directory.
  5. Changed the way transformation constraint handler enforces constraints; moved from the Transformation_FE's and gave to the Transformation_DOFs. that are under the SRC directory.
  6. Changed the Tcl example .cpp files for adding new elements and materials that are under the SRC directory.
  7. Fixed some bugs; notably bug #22

Whats different between Version 1.6.2.b and 1.6.2.a

  1. New ways for developers to add materials and elements to OpenSees. Developers note that this necessitated a change in what opserr was defined as. This will affect any who write the main() procedure.
  2. EPPGapMaterial material was updated to include kinemetic hardening.
  3. Fixed some bugs; notably in Nodes (recvSelf() and database command), PressureDependMultiYield Material, and in wipe procedure (if database used before and after wipe command).

Whats different between Version 1.6.2.a and 1.6.2

  1. Implementing the -time option for Envelope recorders to allow users to see when min and max events occur.
  2. Added a parallel diagonal linear SOE and solvr..
  3. Bug fixes for SparseSymSolver, FiberSection3d and Template3Dep.

Whats different between Version 1.6.2 and 1.6.1

  1. Added methods to Domain, Node and Element classes for the calculation of nodal reactions. The options -reaction and -reactionIncInertia were added to NodalRecorder.
  2. Added new classes for data output handling. These included DataOutputDatabaseHandler, DataOutputFileHandler, DataOutputHandler, and DataOutputStreamHandler. Revised the Recorder classes to use these new output handlers.
  3. Added multiaxial cyclic plasticity ND materials with introduction of following classes: MultiaxialCyclicPlasticity, MultiaxialCyclicPlasticity3D, MultiaxialCyclicPlasticityAxiSymm, and MultiaxialCyclicPlasticityPlaneStrain.
  4. Removed default values for Template3Dep material. Users must now define all parameters.
  5. Added a bunch of central difference methods with introduction of following classes: CentralDifference, CentralDifferenceAlternative and CentralDifferenceNoDamping.
  6. For these central difference schemes and for other sitauations, added the DiagnonalSOE and DiagonalSolver classes to handle diagonal systems of equations.
  7. Modified the TransfmationDOFGroup and TransformationFE classes for sensititivity calculations.
  8. Upgraded the SuperLU files to use the latest 3.0 version
  9. Numerous bug fixes, cleanups and some reimplementations of certain classes and methods for performance reasons.