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.