diff --git a/CHANGELOG.md b/CHANGELOG.md index a3cf1fc..4c3568e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.1] - 2023-10-27 + ### Added - The two-dimensional polynomial function of high-degree for metamodeling exercises from Alemazkoor and Meidani (2008). +- New tutorials (how the package may be used in a sensitivity analysis or + reliability analysis exercises) have been added to the documentation + following the review process in the submission of the package + to the Journal of Open Source Software (JOSS). + +### Changed + +- The documentation landing page now includes explicit statement regarding + the purpose of the package. + +### Fixed + +- Several typos in the documentation have been fixed with an additional + minor improvements overall. ## [0.4.0] - 2023-07-07 @@ -169,6 +185,7 @@ First public release of UQTestFuns. - Mirror GitHub action to the [CASUS organization](https://github.com/casus) [Unreleased]: https://github.com/damar-wicaksono/uqtestfuns/compare/main...dev +[0.4.1]: https://github.com/damar-wicaksono/uqtestfuns/compare/v0.4.0...v0.4.1 [0.4.0]: https://github.com/damar-wicaksono/uqtestfuns/compare/v0.3.0...v0.4.0 [0.3.0]: https://github.com/damar-wicaksono/uqtestfuns/compare/v0.2.0...v0.3.0 [0.2.0]: https://github.com/damar-wicaksono/uqtestfuns/compare/v0.1.1...v0.2.0 diff --git a/CITATION.cff b/CITATION.cff index 6e8c4a4..2cb299f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -14,8 +14,8 @@ authors: orcid: 'https://orcid.org/0000-0001-8587-7730' identifiers: - type: doi - value: 10.5281/zenodo.8125015 - description: The Zenodo URL of version 0.4.0 of the package + value: 10.5281/zenodo.10047512 + description: The Zenodo URL of version 0.4.1 of the package repository-code: 'https://github.com/damar-wicaksono/uqtestfuns' url: 'https://uqtestfuns.readthedocs.io/en/latest/' repository-artifact: 'https://pypi.org/project/uqtestfuns/' @@ -38,5 +38,5 @@ keywords: - reliability-analysis - surrogate-modeling license: MIT -version: 0.4.0 -date-released: '2023-07-07' +version: 0.4.1 +date-released: '2023-10-27' diff --git a/README.md b/README.md index ba0fe42..0f477f7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # UQTestFuns -[![DOI](http://img.shields.io/badge/DOI-10.5281/zenodo.8125015-blue.svg?style=flat-square)](https://doi.org/10.5281/zenodo.8125015) +[![DOI](http://img.shields.io/badge/DOI-10.5281/zenodo.10047512-blue.svg?style=flat-square)](https://doi.org/10.5281/zenodo.10047512) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black) [![Python 3.7](https://img.shields.io/badge/python-3.7-blue.svg?style=flat-square)](https://www.python.org/downloads/release/python-370/) [![License](https://img.shields.io/github/license/damar-wicaksono/uqtestfuns?style=flat-square)](https://choosealicense.com/licenses/mit/) @@ -33,16 +33,17 @@ To list the available functions: ```python-repl >>> import uqtestfuns as uqtf >>> uqtf.list_functions() -No. Constructor Dimension Application Description + No. Constructor Dimension Application Description ----- ----------------------------- ----------- -------------------------------------- ---------------------------------------------------------------------------- 1 Ackley() M optimization, metamodeling Optimization test function from Ackley (1987) - 2 Borehole() 8 metamodeling, sensitivity Borehole function from Harper and Gupta (1983) - 3 Bratley1992a() M integration, sensitivity Integration test function #1 from Bratley et al. (1992) - 4 Bratley1992b() M integration, sensitivity Integration test function #2 from Bratley et al. (1992) - 5 Bratley1992c() M integration, sensitivity Integration test function #3 from Bratley et al. (1992) - 6 Bratley1992d() M integration, sensitivity Integration test function #4 from Bratley et al. (1992) - 7 CantileverBeam2D() 2 reliability Cantilever beam reliability problem from Rajashekhar and Ellington (1993) - 8 CircularPipeCrack() 2 reliability Circular pipe under bending moment from Verma et al. (2015) + 2 Alemazkoor2D() 2 metamodeling Two-dimensional high-degree polynomial from Alemazkoor & Meidani (2018) + 3 Borehole() 8 metamodeling, sensitivity Borehole function from Harper and Gupta (1983) + 4 Bratley1992a() M integration, sensitivity Integration test function #1 from Bratley et al. (1992) + 5 Bratley1992b() M integration, sensitivity Integration test function #2 from Bratley et al. (1992) + 6 Bratley1992c() M integration, sensitivity Integration test function #3 from Bratley et al. (1992) + 7 Bratley1992d() M integration, sensitivity Integration test function #4 from Bratley et al. (1992) + 8 CantileverBeam2D() 2 reliability Cantilever beam reliability problem from Rajashekhar and Ellington (1993) + 9 CircularPipeCrack() 2 reliability Circular pipe under bending moment from Verma et al. (2015) ... ``` @@ -158,9 +159,8 @@ UQTestFuns is currently maintained by: - Damar Wicaksono ([HZDR/CASUS](https://www.casus.science/)) -with scientific supervision from: - -- Michael Hecht ([HZDR/CASUS](https://www.casus.science/)) +under the Mathematical Foundations of Complex System Science Group +led by Michael Hecht ([HZDR/CASUS](https://www.casus.science/)) at CASUS. ## License diff --git a/docs/fundamentals/metamodeling.md b/docs/fundamentals/metamodeling.md index a995b61..89e4c8c 100644 --- a/docs/fundamentals/metamodeling.md +++ b/docs/fundamentals/metamodeling.md @@ -17,34 +17,34 @@ kernelspec: The table below listed the available test functions typically used in the comparison of metamodeling approaches. -| Name | Spatial Dimension | Constructor | -|:------------------------------------------------------------------:|:-----------------:|:--------------------:| -| {ref}`Ackley ` | M | `Ackley()` | -| {ref}`Low-Dimensional High-Degree ` | 2 | `Alemazkoor2D()` | -| {ref}`Borehole ` | 8 | `Borehole()` | -| {ref}`Damped Cosine ` | 1 | `DampedCosine()` | -| {ref}`Damped Oscillator ` | 7 | `DampedOscillator()` | -| {ref}`Flood ` | 8 | `Flood()` | -| {ref}`Forrester et al. (2008) ` | 1 | `Forrester2008()` | -| {ref}`(1st) Franke ` | 2 | `Franke1()` | -| {ref}`(2nd) Franke ` | 2 | `Franke2()` | -| {ref}`(3rd) Franke ` | 2 | `Franke3()` | -| {ref}`(4th) Franke ` | 2 | `Franke4()` | -| {ref}`(5th) Franke ` | 2 | `Franke5()` | -| {ref}`(6th) Franke ` | 2 | `Franke6()` | -| {ref}`Gramacy (2007) 1D Sine ` | 1 | `Gramacy1DSine()` | -| {ref}`McLain S1 ` | 2 | `McLainS1()` | -| {ref}`McLain S2 ` | 2 | `McLainS2()` | -| {ref}`McLain S3 ` | 2 | `McLainS3()` | -| {ref}`McLain S4 ` | 2 | `McLainS4()` | -| {ref}`McLain S5 ` | 2 | `McLainS5()` | -| {ref}`Oakley and O'Hagan (2002) 1D ` | 1 | `Oakley1D()` | -| {ref}`OTL Circuit ` | 6 / 20 | `OTLCircuit()` | -| {ref}`Piston Simulation ` | 7 / 20 | `Piston()` | -| {ref}`Webster et al. (1996) 2D ` | 2 | `Webster2D()` | -| {ref}`Sulfur ` | 9 | `Sulfur()` | -| {ref}`Welch1992 ` | 20 | `Welch1992()` | -| {ref}`Wing Weight ` | 10 | `WingWeight()` | +| Name | Spatial Dimension | Constructor | +|:--------------------------------------------------------------------:|:-----------------:|:--------------------:| +| {ref}`Ackley ` | M | `Ackley()` | +| {ref}`Alemazkoor & Meidani (2018) 2D ` | 2 | `Alemazkoor2D()` | +| {ref}`Borehole ` | 8 | `Borehole()` | +| {ref}`Damped Cosine ` | 1 | `DampedCosine()` | +| {ref}`Damped Oscillator ` | 7 | `DampedOscillator()` | +| {ref}`Flood ` | 8 | `Flood()` | +| {ref}`Forrester et al. (2008) ` | 1 | `Forrester2008()` | +| {ref}`(1st) Franke ` | 2 | `Franke1()` | +| {ref}`(2nd) Franke ` | 2 | `Franke2()` | +| {ref}`(3rd) Franke ` | 2 | `Franke3()` | +| {ref}`(4th) Franke ` | 2 | `Franke4()` | +| {ref}`(5th) Franke ` | 2 | `Franke5()` | +| {ref}`(6th) Franke ` | 2 | `Franke6()` | +| {ref}`Gramacy (2007) 1D Sine ` | 1 | `Gramacy1DSine()` | +| {ref}`McLain S1 ` | 2 | `McLainS1()` | +| {ref}`McLain S2 ` | 2 | `McLainS2()` | +| {ref}`McLain S3 ` | 2 | `McLainS3()` | +| {ref}`McLain S4 ` | 2 | `McLainS4()` | +| {ref}`McLain S5 ` | 2 | `McLainS5()` | +| {ref}`Oakley & O'Hagan (2002) 1D ` | 1 | `Oakley1D()` | +| {ref}`OTL Circuit ` | 6 / 20 | `OTLCircuit()` | +| {ref}`Piston Simulation ` | 7 / 20 | `Piston()` | +| {ref}`Webster et al. (1996) 2D ` | 2 | `Webster2D()` | +| {ref}`Sulfur ` | 9 | `Sulfur()` | +| {ref}`Welch1992 ` | 20 | `Welch1992()` | +| {ref}`Wing Weight ` | 10 | `WingWeight()` | In a Python terminal, you can list all the available functions relevant for metamodeling applications using ``list_functions()`` and filter the results diff --git a/docs/glossary.md b/docs/glossary.md index bae257e..f0012f2 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -39,7 +39,7 @@ SORM SS Subset simulation - + SSRM Sequential surrogate reliability method {cite}`Li2018` @@ -47,7 +47,7 @@ Support The support of the probability density function, that is, the subset of the function domain whose elements are not mapped to zero; denoted by $\mathcal{D}_X$. - + SVM Support Vector Machines ``` diff --git a/docs/test-functions/alemazkoor-2d.md b/docs/test-functions/alemazkoor-2d.md index f372c36..99b1cfe 100644 --- a/docs/test-functions/alemazkoor-2d.md +++ b/docs/test-functions/alemazkoor-2d.md @@ -13,7 +13,7 @@ kernelspec: --- (test-functions:alemazkoor-2d)= -# Low-Dimensional High-Degree Function from Alemazkoor and Meidani (2008) +# Two-dimensional Function from Alemazkoor and Meidani (2018) ```{code-cell} ipython3 import numpy as np @@ -21,11 +21,11 @@ import matplotlib.pyplot as plt import uqtestfuns as uqtf ``` -The low-dimensional high-degree test function -(or `Alemazkoor2D` for short) is a two-dimensional polynomial function. -It was introduced in {cite}`Alemazkoor2018` as a test function for +The test function from {cite}`Alemazkoor2018` (or `Alemazkoor2D` for short) +is a two-dimensional polynomial function. +It was used as a test function for a metamodeling exercise (i.e., sparse polynomial chaos expansion). -The function features a low-dimensional polynomial function (2D) +The function features a low-dimensional polynomial function (two-dimensional) with a high degree (a total degree of $20$). The surface and contour plots of the `Alemazkoor2D` function are shown below. diff --git a/docs/test-functions/available.md b/docs/test-functions/available.md index 22864af..cc76550 100644 --- a/docs/test-functions/available.md +++ b/docs/test-functions/available.md @@ -22,7 +22,7 @@ regardless of their typical applications. | Name | Spatial Dimension | Constructor | |:-----------------------------------------------------------------------------------:|:-----------------:|:-------------------------------:| | {ref}`Ackley ` | M | `Ackley()` | -| {ref}`Low-Dimensional High-Degree ` | 2 | `Alemazkoor2D()` | +| {ref}`Alemazkoor & Meidani (2018) 2D ` | 2 | `Alemazkoor2D()` | | {ref}`Borehole ` | 8 | `Borehole()` | | {ref}`Bratley et al. (1992) A ` | M | `Bratley1992a()` | | {ref}`Bratley et al. (1992) B ` | M | `Bratley1992b()` | @@ -52,7 +52,7 @@ regardless of their typical applications. | {ref}`McLain S3 ` | 2 | `McLainS3()` | | {ref}`McLain S4 ` | 2 | `McLainS4()` | | {ref}`McLain S5 ` | 2 | `McLainS5()` | -| {ref}`Oakley and O'Hagan (2002) 1D ` | 1 | `Oakley1D()` | +| {ref}`Oakley & O'Hagan (2002) 1D ` | 1 | `Oakley1D()` | | {ref}`OTL Circuit ` | 6 / 20 | `OTLCircuit()` | | {ref}`Piston Simulation ` | 7 / 20 | `Piston()` | | {ref}`RS - Circular Bar ` | 2 | `RSCircularBar()` | diff --git a/setup.cfg b/setup.cfg index 31d67a6..fa1cc98 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = uqtestfuns -version = 0.4.0 +version = 0.4.1 url = https://github.com/damar-wicaksono/uqtestfuns author = Damar Wicaksono author_email = damar.wicaksono@outlook.com diff --git a/src/uqtestfuns/test_functions/alemazkoor.py b/src/uqtestfuns/test_functions/alemazkoor.py index c3331f6..8a5ee87 100644 --- a/src/uqtestfuns/test_functions/alemazkoor.py +++ b/src/uqtestfuns/test_functions/alemazkoor.py @@ -25,7 +25,7 @@ AVAILABLE_INPUT_SPECS_2D = { "Alemazkoor2018": ProbInputSpecFixDim( - name="Alemazkoor2018", + name="2D-Alemazkoor2018", description=( "Input specification for the 2D test function " "from Alemazkoor & Meidani (2018)"