Hi all,
Looking to calculate probability of failure or reliability index of your system under uncertainty? Look no further!
I would like to officially announce the release of Fortuna.jl
, a general-purpose package for structural and system reliability analysis purely written in the Julia programming language!
Fortuna.jl
implements a wide suite of commonly used reliability analysis methods to solve reliability, inverse reliability, and sensitivity problems. At the same time, Fortuna.jl
is designed to be user-friendly and flexible, making it suitable for both research and teaching settings. It is intended that Fortuna.jl
can serve as a platform for the development and implementation of new rapidly emerging reliability analysis methods.
The development of Fortuna.jl
was mainly motivated by the absence of packages for structural and system reliability analysis written in Julia. Additionally, it aimed to achieve an improved balance between user experience, ease of implementing new reliability analysis methods, computational efficiency, and interoperability with external finite element (FE) modeling software not directly available through Julia.
Fortuna.jl
currently implements a lot of useful tools and methods for performing structural and system reliability analysis:
- Defining common distributions not only their parameters, but also their moments.
- Sampling uncorrelated and correlated random variables using Inverse Transform Sampling and Latin Hypercube Sampling techniques.
- Performing isoprobabilistic transformations between physical and standard normal spaces using Generalized Nataf Transformation.
- Implemented reliability analysis methods:
- Monte Carlo methods:
- Direct Monte Carlo Simulations
- Monte Carlo Simulations with Importance Sampling Technique
- First-Order Reliability Methods:
- Mean-Centered First-Order Second-Moment Method
- Rackwitz-Fiessler Method
- Plain and Improved Hasofer-Lind-Rackwitz-Fiessler Method
- Second-Order Reliability Methods:
- Curve-Fitting Method
- Point-Fitting Method
- Subset Simulation Method
- Monte Carlo methods:
You can read more about the package in this journal article published in the Journal of Open-Source Software.
On a personal note, this project is particularly special to me - building Fortuna.jl
is how I learned to code in Julia. While the codebase may still need a bit of polishing, I’m planning to clean things up in the near future.
If you’re interested in contributing, please feel free to jump in - I’m always happy to collaborate!