tests License

What is ONSAS?

ONSAS 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 for a graduate course taught at the School of Engineering of Universidad de la República. The current version allows to perform a diverse set of simulations and it has been used in specific research applications.

Publications using ONSAS

Journal articles using ONSAS:

  • 2024, A. Villié, M. Vanzulli, J.M. Pérez Zerpa, J. Vétel, S. Etienne, F.P. Gosselin, Modeling vortex-induced vibrations of branched structures by coupling a 3D-corotational frame finite element formulation with wake-oscillators, Journal of Fluids and Structures url
  • 2023, M. Vanzulli, J. M. Pérez Zerpa, A co-rotational formulation for quasi-steady aerodynamic nonlinear analysis of frame structures, Heliyon url
  • 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
  • 2021, A. Teliz, Optimización de torres de alta tensión y su análisis frente a vientos de alta intensidad url

Some academic examples

A deployable ring

This nonlinear static problem is introduced in (Goto et. al, 1992) and also considered in (Battini and Pacoste, 2002).

Right-Angle Cantilever

This nonlinear dynamic analysis problem is introduced in (Simo and Vu-Quoc, 1988) and also considered as Example 1 in (Le et. al., 2014).

right-angle animation

A simple propeller model

This problem is based on one of the examples presented in (Vanzulli and Pérez Zerpa, 2023).

propeller animation

A tower model

tower animation

A beam/truss pendulum

beam truss pendulum


You can publicly post in the discussion section or contact privately sending an e-mail to jorgepz [AT] .

Contributors and License


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


The authorship of each version is (or tends to be) based on the criteria defined by the JOSS journal. The co-authors have collaborated in tasks such as: design, development or extensive documentation contributions.

  • 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.

  • Mauricio Vanzulli (2) co-developed the Newmark's method functions and scripts, developed input files for the dynamic analysis examples. Developed the nonlinear dynamic co-rotational frame element function, its validation and integration with the VIV function.

  • 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 a GUI.

  • Alexandre Villié (3) developed the current Vortex-Induced-Vibrations Wake Oscillator model. Also contributed in the validation of this function in the integration with the co-rotational frame element.

  • Marcelo Forets (4) made relevant contributions to application of software technology tools, in particular, the documentation generation workflow. Contributed also to the implementation of the Neo-Hookean solid model.

  • Jean-Marc Battini (4), contributed functions for the computation of static internal forces of the nonlinear co-rotational frame element.

  • J. Bruno Bazzano (1), contributed to the design/development of the buckling analysis modules, co-designed the initial version of the code, developed and implemented validation examples, validated the HHT implementation.


  1. Instituto de Estructuras y Transporte, Facultad de Ingeniería, Universidad de la República, Montevideo, Uruguay
  2. Instituto de Ingeniería Mecánica y Producción Industrial, Facultad de Ingeniería, Universidad de la República, Montevideo, Uruguay.
  3. Department of Mechanical Engineering, Polytechnique Montréal, Montréal, Canada.
  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

Santiago Correa made contributions to examples, mainly beamLinearVibration, and corrected the expression of a parameter of the $\alpha$-HHT method. Professor Sebastian Toro, provided functions for reading dxf files, which were part of ONSAS until version 0.2.6.

Prof. Pérez Zerpa would like to thank: Prof. Frédérick Gosselin for his support during the initial contributions of Alexandre Villié, Prof. Eduardo de Souza Neto for his comments on the arc-length norm computation, and Pablo Blanco, Gonzalo Ares and Gonzalo Maso Talou for so many discussions 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).