Skip to content

Commit

Permalink
a few typos fixed and commas added
Browse files Browse the repository at this point in the history
  • Loading branch information
hugoledoux authored Jul 17, 2024
1 parent 8b0ff6c commit a9a728c
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions docs/joss_paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,30 +39,30 @@ The primary emphasis is on derivative-free optimisation, ensuring compatibility

# Statement of need

The increasingly growing interest in computational analysis for engineering problems has been driving the development of more accurate, robust and efficient methods and models.
The increasingly growing interest in computational analysis for engineering problems has driven the development of more accurate, robust, and efficient methods and models.
With the advent of this technology, the application of the so-called inverse problems, where one seeks optimised parameters, geometries, configurations or models for numerical problems arising in engineering, has been gaining traction over the last years.
In this context, in the past years, some packages have been developed to automate the identification of parameters [@nevergrad; @optuna_2019], which have been widely applied in many areas.
However, for many applications, the upfront cost of implementing interfaces for these tools is prohibitive, and specific-purpose tools are preferred to these highly flexible frameworks.
Particularly in the scope of structural analysis, quickly identifying parameters of numerical models from experimental data is of utmost importance.
While commercial tools are available for this task [@hyperfit], to the authors' best knowledge, an open-source package to this end is still lacking.

In this work, we present `piglot` an open-source Python package for automated optimisation of numerical responses, such as responses stemming from finite element simulations.
In particular, focus is placed on derivative-free optimisation, to allow compatibility with black-solvers where gradient information may be unavailable.
In this work, we present `pilot`, an open-source Python package for the automated optimisation of numerical responses, such as responses stemming from finite element simulations.
In particular, the focus is placed on derivative-free optimisation, to allow compatibility with black-solvers where gradient information may be unavailable.
In this context, an extensible interface for coupling with physics solvers is provided, encouraging contributions from the community to the package.
As long as the solver can return a time-response for the fields of interest, it is possible to optimise it with `piglot`.
Currently, interfaces for several solvers are included in the package, namely a solver for fitting analytical functions, and interfaces for our in-house finite element code `Links` (derived from HYPLAS), for the commercial finite element software `Abaqus`, and the open-source clustering-based reduced-order model `CRATE` package [@Ferreira2023].
Currently, interfaces for several solvers are included in the package, namely a solver for fitting analytical functions and interfaces for our in-house finite element code `Links` (derived from HYPLAS), for the commercial finite element software `Abaqus`, and the open-source clustering-based reduced-order model `CRATE` package [@Ferreira2023].

For the optimisation itself, several methods are implemented and available, such as DIRECT, LIPO, and Bayesian optimisation, among others.
Particularly, a significant effort has been employed in Bayesian optimisation algorithms, backed with an open-source implementation [@balandatBoTorchFrameworkEfficient2020] and allowing for single- and (scalarised) multi-objective optimisation of both noise-free and stochastic objectives.
Furthermore, a novel composite Bayesian optimisation strategy is available for curve-fitting problems, which, in our tests, severely outperforms classical optimisation approaches [@Coelho2023optm].

The package also provides a built-in tool `piglot-plot`, to visualise the results of the optimisation.
The package also provides a built-in tool, `piglot-plot`, to visualise the results of the optimisation.
There are native plotting utilities for the optimised responses, the parameter history, objective history and, for supported solvers, live plotting of the currently running case.
The package also includes complete documentation for a straightforward installation and usage, supporting a simple framework for new developments.
With this in mind, thorough automated testing is incorporated, ensuring the compliance of new developments.

With this package, we aim to provide a simple and effective tool for the general optimisation of numerical responses, which can be easily extended for other solvers in the community.
The combination of `piglot` with `piglot-plot` provides an integrated framework that allows for easily solving inverse problems and quickly post-process the results.
The combination of `piglot` with `piglot-plot` provides an integrated framework that allows for easily solving inverse problems and quickly post-processing the results.

# Methodology and use cases

Expand Down

0 comments on commit a9a728c

Please sign in to comment.