Skip to content

Releases: damar-wicaksono/uqtestfuns

v0.4.1

27 Oct 14:47
53b9837
Compare
Choose a tag to compare

October 27, 2023

v0.4.1 is a minor release that incorporates all the changes required from the review process in the submission of the package to the Journal of Open Source Software (JOSS). This release is part of the final steps prior to the acceptance of the submission.

See the complete CHANGELOG.

New

  • The two-dimensional high-degree polynomial function for metamodeling exercises from Alemazkoor and Meidani (2018).
  • A couple of tutorials regarding the use of the package for sensitivity analysis and reliability analysis exercises (following a comment by a reviewer).

Enhancements

  • The documentation now includes a new section on tutorials (where all tutorials are collected).

Fixes

  • Minor typos across documentation and in-code documentation.

v0.4.0

07 Jul 16:23
999baba
Compare
Choose a tag to compare

July 07, 2023

v0.4.0 includes several new UQ test functions in the context of reliability analysis and metamodeling. The package is now tested against Python v3.11. This is the release before the package is submitted for review to the Journal of Open Source Software (JOSS).

See the complete CHANGELOG.

New

  • The two-dimensional convex failure domain problem for reliability analysis exercises from Borri and Speranzini (1997).
  • The two-dimensional quadratic RS problem for reliability analysis exercises from Waarts (2000). This is a variant of the classic RS problem with one quadratic term.
  • The one-dimensional damped cosine function for metamodeling exercises from an example in Santner et al. (2018).
  • The two-dimensional circular bar RS problem for reliability analysis exercises taken from an example in Verma et al. (2015).
  • The two-dimensional polynomial function with random inputs from Webster et al. (1996) for metamodeling exercises.

Enhancements

  • reset_rng() method is now available for instances of UnivDist and ProbInput classes. When called (optionally with a seed number), a new instance of NumPy default RNG will be created and attached to the instance.

Changes

  • rng_seed_prob_input keyword parameter has been removed from the list of parameters to the constructor of all UQ test functions. The "official" way to reset an RNG with a seed is to use the instance method reset_rng() (optionally with a seed number) of the ProbInput instance attached.

Fixes

  • A mistake in one the parameter values of the Sobol'-G function has been fixed.

v0.3.0

03 Jul 15:36
3c94712
Compare
Choose a tag to compare

July 03, 2023

v0.3.0 includes several new test functions in the context of reliability analysis. This represents a whole new class of problem now supported by UQTestFuns.

See the complete CHANGELOG

New

All the new test functions are reliability analysis test functions:

  • The two-dimensional Gayton Hat function (GaytonHat()) from Echard et al. (2013)
  • The eight-dimensional damped oscillator reliability problem (DampedOscillatorReliability()) from Der Kiureghian and De Stefano (1990);
    the problem is based on the existing Damped Oscillator model in the code base
  • The two-dimensional hyper-sphere bound problem (HyperSphere()) from Li et al. (2018)
  • The two-dimensional cantilever beam problem (CantileverBeam2D()) from Rajashekhar and Ellington (1993)
  • The two-dimensional four-branch function (FourBranch()) from Katsuki and Frangopol (1994)
  • The five-dimensional speed reducer shaft problem (SpeedReducerShaft()) from Du and Sudjianto (2004)
  • The two-dimensional reliability problem of a circular pipe crack under a bending moment (CircularPipeCrack()) from Verma et al. (2015)
  • A new section in the docs regarding the list of functions for reliability analysis including a brief description on the reliability analysis problem

v0.2.0

26 Jun 17:18
017b118
Compare
Choose a tag to compare

June 26, 2023

v0.2.0 includes several new test functions in the context of metamodeling, sensitivity analysis, integration, and optimization.
The release also includes several refactoring, enhancements, and bugfixes in the code base.

See the complete CHANGELOG

New

  • Six two-dimensional test functions from Franke (1979)
  • Five two-dimensional test functions from McLain (1974)
  • Four M-dimensional test functions from Bratley et al. (1992)
  • 20-dimensional test function from Welch et al. (1992)
  • One-dimensional test function from Forrester et al. (2008)
  • One-dimensional test function from Gramacy (2007)
  • New sets of parameters for the Sobol'-G function taken from Bratley et al. (1992) and Saltelli and Sobol' (1995)

Enhancements

  • An instance of NumPy random number generator is now attached to instances of UnivDist and ProbInput. The random seed number may be passed to the corresponding constructor for reproducibility. This is to conform with the current best practice of using NumPy random number generators.

Changes

  • Two base classes are now available UQTestFunBareABC and UQTestFunABC. The former is used to implement a bare UQ test function (with only evaluate() and ProbInput), while the latter is used to implement published UQ test functions in the code base (i.e., with additional metadata such as tags and description).
  • When list_functions() is called with a tag argument, then the application tags are no longer displayed to save terminal spaces.
  • The one-dimensional OakleyOHagan1D function has been renamed toOakley1D.

Bugfixes

  • The original citation for the Sobol'-G function has been fixed; it is now referred to Saltelli and Sobol' (1995).
  • If a function is used as parameters in a test function (e.g., if variable dimension), then it must have the keyword parameter
    "spatial_dimension" for the function to be called when an instance of a UQ test function is created. This is to allow an arbitrary function (without a parameter named "spatial_dimension") to be a parameter of UQ test function.
  • One-dimensional test function now returns a one-dimensional array.

v0.1.1

07 Mar 08:25
f6a2c92
Compare
Choose a tag to compare

March 7, 2023

Due to previous erroneous upload to PyPI; the v0.1.0 cannot be used anymore.
This release increase the version number by including a minor bugfixes in the docs.

See the complete CHANGELOG.

Bugfixes

  • Missing/broken links in CHANGELOG.md is now fixed.

v0.1.0

07 Mar 08:06
5d71ba2
Compare
Choose a tag to compare

March 7, 2023

UQTestFuns v0.1.0 contains minor changes and bugfixes;
the changes are mainly related to the internal organization.

See the complete CHANGELOG

New

  • UQTestFuns is now registered on Zenodo

Enhancements

  • The HTML representation of ProbInput instances (for Jupyter notebook session) now takes less space
  • Some typos in the docs have been fixed
  • Additional boxes to highlight certain passages have been added

Changes

  • Some numerical tolerances in test cases have been relaxed for a faster execution

Bugfixes

  • Wrong classifier specification in setup.cfg has been fixed
  • Built issue in ReadTheDocs due to an older matplotlib version

v0.0.1

06 Mar 13:04
aa95838
Compare
Choose a tag to compare

This is the first public release of UQTestFuns 🎉

New features

  • 11 built-in UQ test functions commonly used in metamodeling, sensitivity analysis, and optimization exercises
  • Probabilistic input modeling capabilities for independent joint distribution; 9 univariate distributions are supported
  • Minimal but relatively complete documentation served via ReadTheDocs

UQTestFuns is still under heavy development and, at this point, there is neither assurance that everything will work as expected nor future changes will not break the current API.