Join the chat at

What is ONSAS?

ONSAS is an Open Nonlinear Structural Analysis Solver. It consists in a set of implementations of different numerical methods for static/dynamic and linear/non-linear analysis of structures. The first version was developed for educational purposes and published in a Structural Analysis handbook.

Currently different implementations and tools aimed for diverse applications are under development. The most mature is ONSAS.m, a GNU-Octave implementation of the solver, whose user guide is described in this documentation.

What can ONSAS be used for?

The current version allows to perform dynamic/static nonlinear analyses of beam/truss/solid 3D structures. A reduced list of features is listed at next:

  • Elements 2-node truss, 2-node Bernoulli frame, 4-node tetrahedron.
  • Static analysis methods Newton-Raphson Method and Cylindrical Arc-Length Method (to be fixed!).
  • Dynamic analysis methods Newmark Method and $\alpha$-HHT.
  • Loads nodal loads, time-history user-defined loading program.

Some examples

A wind turbine model

wind turbine animation

wind turbine animation

A tower model

tower animation


A uniaxial extension test

uniaxial animation

uniaxial animation

A beam/truss pendulum

beam truss pendulum

A chain model

chain animation


A transmission line tower model

transmission line

Contributors and License

The code is distributed under a GNU-GPL 3.0 license.


The following authors collaborated in various tasks including: design, development and testing of the code.

  • Jorge M. Pérez Zerpa (1), leaded and managed the design and development of the code, developed the assembly functions, nonlinear truss element formulation, nonlinear static analysis function, designed and co-authored Newmark's method function, input and output functions, leaded the generation of the documentation.

  • J. Bruno Bazzano (1,2), leaded the development of the nonlinear/linear buckling analysis modules, co-designed the code, developed and implemented validation examples, validated the HHT implementation.

  • Joaquín Viera (1), leaded the development of the Linear Analysis module and input files, collaborated in the design and development of the input reading and output generation modules, leaded the development of GUI.

  • Mauricio Vanzulli (3) co-developed the Newmark's method functions and scripts, developed input files for the dynamic analysis examples.

  • Marcelo Forets (4) developed the Neo-Hookean solid model.

The following authors contributed by :

  • Jean-Marc Battini (5), contributed functions associated with the computation of static internal forces of the nonlinear frame element.

  • Sebastian Toro (6), provided the functions: fLectDxf.m, fValGrCode.m and f_XData.m, used in the dxf import function.


  1. Instituto de Estructuras y Transporte, Facultad de Ingeniería, Universidad de la República, Montevideo, Uruguay
  2. Bazzano & Scelza Ingenieros, Montevideo, Uruguay
  3. Instituto de Ingeniería Mecánica y Producción Industrial, Facultad de Ingeniería, Universidad de la República, Montevideo, Uruguay.
  4. Centro Universitario Regional Este, Universidad de la República, Maldonado, Uruguay
  5. Department of Civil and Architectural Engineering, KTH Royal Institute of Technology, Stockholm, Sweden
  6. CIMEC Santa Fe, Argentina

Contributions and Acknowledgments

The functions in linearStiffMatPlate3D.m and assemblyUniform.m use part of the femplateexample.m code developed by Jorge Pérez Zerpa and Pablo Castrillo.

J. M. Pérez Zerpa would like to thank: Pablo Blanco from the group at LNCC Brazil, Gonzalo Ares from Univ. Nacional de Mar del Plata, Gonzalo Maso Talou from the Auckland Bioengineering Institute and Diego Figueredo for their numerous comments and suggestions.

The development of ONSAS has been partially supported by funds provided by the following agencies/projects: Comisión de Investigación Científica (CSIC), Comisión Sectorial de Enseñanza (project: Rediseño de prácticas de enseñanza y evaluación en Resistencia de Materiales, manager, Prof. Pérez Zerpa), Agencia Nacional de Investigación e Innovación (project VIOLETA, code FSE_1_2016_1_131837, manager, Prof. Usera.


You can send an e-mail to jorgepz[AT] .