tests License Join the chat at

What is ONSAS.m?

ONSAS.m is an Open Nonlinear Structural Analysis Solver for GNU-Octave/Matlab. It consists in a set of implementations of 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. The current version allows to perform a diverse set of simulations and it's been used in specific research applications.

Publications using ONSAS

Journal articles using ONSAS:

  • 2022, M. Vanzulli, J. M. Pérez Zerpa, A consistent co-rotational formulation for aerodynamic nonlinear analysis of flexible frame structures, arXiv article under-review (
  • 2022, M. Forets, D. Freire, J. M. Pérez Zerpa, Combining set propagation with finite element methods for time integration in transient solid mechanics problems, Computers & Structures url

Theses using ONSAS:

  • 2021, M. Vanzulli, Implementación de una formulación corrotacional en dinámica no lineal y aplicación al modelado de líneas de transmisión eléctrica url

Some example applications

A simple 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


Contributors and License


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


The authorship of each version is based on the criteria defined by the JOSS journal.

The following co-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 co-authors contributed specific relevant functions:

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


  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

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. Professor Sebastian Toro, provided functions for reading dxf fules which were part of ONSAS until version 0.2.6.

J. M. Pérez Zerpa would like to thank: Pablo Blanco, Gonzalo Ares and Gonzalo Maso Talou for their numerous and valuable comments and suggestions during early stages of the design of the code.

The development of ONSAS has been partially supported by funds provided by the following agencies/projects:

  • Comisión de Investigación Científica (CSIC) (project: Definición de estrategias para la aplicación de métodos de identificación de material al diagnóstico no invasivo de Cáncer de mama, manager, Prof. Pérez Zerpa),
  • 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. Gabriel Usera).


You can send an e-mail to jorgepz[AT] or join the chat in the gitter chat room.