Skip to content

Commit

Permalink
build based on 3ec2de8
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed May 20, 2024
1 parent 9994b34 commit c25d33e
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 25 deletions.
2 changes: 1 addition & 1 deletion dev/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
& lcon \leq c(κ,y,u) \leq ucon,\\
& lvar \leq (κ,y,u) \leq uvar.\\
\end{aligned}
\right.\]</p><p>The main challenges in modeling such a problem are to be able to discretize the domain and generate corresponding discretizations of the objective and constraints, and their evaluate derivatives with respect to all variables. We use <a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a> to define the domain, meshes, function spaces, and finite-element families to approximate unknowns, and to model functionals and sets of PDEs in a weak form. PDENLPModels extends <a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a>&#39;s differentiation facilities to also obtain derivatives useful for optimization, i.e., first and second derivatives of the objective and constraint functions with respect to controls and finite-dimensional variables.</p><p>After discretization of the domain <span>$\Omega$</span>, the integral, and the derivatives, the resulting problem is a nonlinear optimization problem. PDENLPModels exports the <code>GridapPDENLPModel</code> type, an instance of an <code>AbstractNLPModel</code>, as defined in <a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a>, which provides access to objective and constraint function values, to their first and second derivatives, and to any information that a solver might request from a model. The role of <a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a> is to define an API that users and solvers can rely on. It is the role of other packages to implement facilities that create models compliant with the NLPModels API. We refer to <a href="https://juliasmoothoptimizers.github.io">juliasmoothoptimizers.github.io</a> for tutorials on the NLPModel API.</p><p>As such, PDENLPModels offers an interface between generic PDE-constrained optimization problems and cutting-edge optimization solvers such as Artelys Knitro via <a href="https://github.com/JuliaSmoothOptimizers/NLPModelsKnitro.jl">NLPModelsKnitro.jl</a>, Ipopt via <a href="https://github.com/JuliaSmoothOptimizers/NLPModelsIpopt.jl">NLPModelsIpopt.jl</a> , <a href="https://github.com/JuliaSmoothOptimizers/DCISolver.jl">DCISolver.jl</a>, <a href="https://github.com/JuliaSmoothOptimizers/Percival.jl">Percival.jl</a>, and any solver accepting an <code>AbstractNLPModel</code> as input, see <a href="https://juliasmoothoptimizers.github.io">JuliaSmoothOptimizers</a>.</p><blockquote><p>Migot, T., Orban D., &amp; Siqueira A. S. PDENLPModels.jl: A NLPModel API for optimization problems with PDE-constraints Journal of Open Source Software 7(80), 4736 (2022). <a href="https://doi.org/10.21105/joss.04736">10.21105/joss.04736</a></p></blockquote><h2 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h2><pre><code class="nohighlight hljs">] add PDENLPModels</code></pre><p>The current version of PDENLPModels relies on Gridap v0.15.5.</p><h2 id="Table-of-Contents"><a class="docs-heading-anchor" href="#Table-of-Contents">Table of Contents</a><a id="Table-of-Contents-1"></a><a class="docs-heading-anchor-permalink" href="#Table-of-Contents" title="Permalink"></a></h2><ul><li><a href="#PDENLPModels.jl-Documentation">PDENLPModels.jl Documentation</a></li><li class="no-marker"><ul><li><a href="#Installation">Installation</a></li><li><a href="#Table-of-Contents">Table of Contents</a></li><li><a href="#Examples">Examples</a></li><li><a href="#References">References</a></li></ul></li><li><a href="#Bug-reports-and-discussions">Bug reports and discussions</a></li><li><a href="poisson-boltzman/#PDE-contrained-optimization">PDE-contrained optimization</a></li><li class="no-marker"><ul><li><a href="poisson-boltzman/#Poisson-Boltzman-problem">Poisson-Boltzman problem</a></li><li><a href="poisson-boltzman/#References">References</a></li></ul></li><li><a href="reference/#Reference">Reference</a></li><li class="no-marker"><ul><li><a href="reference/#Contents">Contents</a></li><li><a href="reference/#Index">Index</a></li></ul></li><li><a href="tore/#Calculus-of-Variations">Calculus of Variations</a></li><li class="no-marker"><ul><li><a href="tore/#The-Brachistochrone-over-a-Tore">The Brachistochrone over a Tore</a></li><li><a href="tore/#References">References</a></li></ul></li></ul><h2 id="Examples"><a class="docs-heading-anchor" href="#Examples">Examples</a><a id="Examples-1"></a><a class="docs-heading-anchor-permalink" href="#Examples" title="Permalink"></a></h2><p>You can also check the tutorial <a href="https://juliasmoothoptimizers.github.io/tutorials/introduction-to-pdenlpmodels/">Solve a PDE-constrained optimization problem</a> on our site, <a href="https://juliasmoothoptimizers.github.io">juliasmoothoptimizers.github.io</a>.</p><p>We refer to the folder <code>test/problems</code> for more examples of problems of different types: calculus of variations, optimal control problem, PDE-constrained problems, and mixed PDE-contrained problems with both function and vector unknowns. An alternative is to visit the repository <a href="https://github.com/tmigot/PDEOptimizationProblems">PDEOptimizationProblems</a> that contains a collection of test problems. Without objective function, the problem reduces to a classical PDE and we refer to <a href="https://github.com/gridap/Tutorials">Gridap tutorials</a> for examples.</p><h2 id="References"><a class="docs-heading-anchor" href="#References">References</a><a id="References-1"></a><a class="docs-heading-anchor-permalink" href="#References" title="Permalink"></a></h2><p><a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a> Badia, S., Verdugo, F. (2020). Gridap: An extensible Finite Element toolbox in Julia. Journal of Open Source Software, 5(52), 2520.</p><p><a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a> D. Orban, A. S. Siqueira and contributors (2020). NLPModels.jl: Data Structures for Optimization Models</p><h1 id="Bug-reports-and-discussions"><a class="docs-heading-anchor" href="#Bug-reports-and-discussions">Bug reports and discussions</a><a id="Bug-reports-and-discussions-1"></a><a class="docs-heading-anchor-permalink" href="#Bug-reports-and-discussions" title="Permalink"></a></h1><p>If you think you found a bug, feel free to open an <a href="https://github.com/JuliaSmoothOptimizers/PDENLPModels.jl/issues">issue</a>. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.</p><p>If you want to ask a question not suited for a bug report, feel free to start a discussion <a href="https://github.com/JuliaSmoothOptimizers/Organization/discussions">here</a>. This forum is for general discussion about this repository and the <a href="https://github.com/JuliaSmoothOptimizers">JuliaSmoothOptimizers</a>, so questions about any of our packages are welcome.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="tore/">Calculus of Variations »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Friday 9 February 2024 12:27">Friday 9 February 2024</span>. Using Julia version 1.10.0.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
\right.\]</p><p>The main challenges in modeling such a problem are to be able to discretize the domain and generate corresponding discretizations of the objective and constraints, and their evaluate derivatives with respect to all variables. We use <a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a> to define the domain, meshes, function spaces, and finite-element families to approximate unknowns, and to model functionals and sets of PDEs in a weak form. PDENLPModels extends <a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a>&#39;s differentiation facilities to also obtain derivatives useful for optimization, i.e., first and second derivatives of the objective and constraint functions with respect to controls and finite-dimensional variables.</p><p>After discretization of the domain <span>$\Omega$</span>, the integral, and the derivatives, the resulting problem is a nonlinear optimization problem. PDENLPModels exports the <code>GridapPDENLPModel</code> type, an instance of an <code>AbstractNLPModel</code>, as defined in <a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a>, which provides access to objective and constraint function values, to their first and second derivatives, and to any information that a solver might request from a model. The role of <a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a> is to define an API that users and solvers can rely on. It is the role of other packages to implement facilities that create models compliant with the NLPModels API. We refer to <a href="https://juliasmoothoptimizers.github.io">juliasmoothoptimizers.github.io</a> for tutorials on the NLPModel API.</p><p>As such, PDENLPModels offers an interface between generic PDE-constrained optimization problems and cutting-edge optimization solvers such as Artelys Knitro via <a href="https://github.com/JuliaSmoothOptimizers/NLPModelsKnitro.jl">NLPModelsKnitro.jl</a>, Ipopt via <a href="https://github.com/JuliaSmoothOptimizers/NLPModelsIpopt.jl">NLPModelsIpopt.jl</a> , <a href="https://github.com/JuliaSmoothOptimizers/DCISolver.jl">DCISolver.jl</a>, <a href="https://github.com/JuliaSmoothOptimizers/Percival.jl">Percival.jl</a>, and any solver accepting an <code>AbstractNLPModel</code> as input, see <a href="https://juliasmoothoptimizers.github.io">JuliaSmoothOptimizers</a>.</p><blockquote><p>Migot, T., Orban D., &amp; Siqueira A. S. PDENLPModels.jl: A NLPModel API for optimization problems with PDE-constraints Journal of Open Source Software 7(80), 4736 (2022). <a href="https://doi.org/10.21105/joss.04736">10.21105/joss.04736</a></p></blockquote><h2 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h2><pre><code class="nohighlight hljs">] add PDENLPModels</code></pre><p>The current version of PDENLPModels relies on Gridap v0.15.5.</p><h2 id="Table-of-Contents"><a class="docs-heading-anchor" href="#Table-of-Contents">Table of Contents</a><a id="Table-of-Contents-1"></a><a class="docs-heading-anchor-permalink" href="#Table-of-Contents" title="Permalink"></a></h2><ul><li><a href="#PDENLPModels.jl-Documentation">PDENLPModels.jl Documentation</a></li><li class="no-marker"><ul><li><a href="#Installation">Installation</a></li><li><a href="#Table-of-Contents">Table of Contents</a></li><li><a href="#Examples">Examples</a></li><li><a href="#References">References</a></li></ul></li><li><a href="#Bug-reports-and-discussions">Bug reports and discussions</a></li><li><a href="poisson-boltzman/#PDE-contrained-optimization">PDE-contrained optimization</a></li><li class="no-marker"><ul><li><a href="poisson-boltzman/#Poisson-Boltzman-problem">Poisson-Boltzman problem</a></li><li><a href="poisson-boltzman/#References">References</a></li></ul></li><li><a href="reference/#Reference">Reference</a></li><li class="no-marker"><ul><li><a href="reference/#Contents">Contents</a></li><li><a href="reference/#Index">Index</a></li></ul></li><li><a href="tore/#Calculus-of-Variations">Calculus of Variations</a></li><li class="no-marker"><ul><li><a href="tore/#The-Brachistochrone-over-a-Tore">The Brachistochrone over a Tore</a></li><li><a href="tore/#References">References</a></li></ul></li></ul><h2 id="Examples"><a class="docs-heading-anchor" href="#Examples">Examples</a><a id="Examples-1"></a><a class="docs-heading-anchor-permalink" href="#Examples" title="Permalink"></a></h2><p>You can also check the tutorial <a href="https://juliasmoothoptimizers.github.io/tutorials/introduction-to-pdenlpmodels/">Solve a PDE-constrained optimization problem</a> on our site, <a href="https://juliasmoothoptimizers.github.io">juliasmoothoptimizers.github.io</a>.</p><p>We refer to the folder <code>test/problems</code> for more examples of problems of different types: calculus of variations, optimal control problem, PDE-constrained problems, and mixed PDE-contrained problems with both function and vector unknowns. An alternative is to visit the repository <a href="https://github.com/tmigot/PDEOptimizationProblems">PDEOptimizationProblems</a> that contains a collection of test problems. Without objective function, the problem reduces to a classical PDE and we refer to <a href="https://github.com/gridap/Tutorials">Gridap tutorials</a> for examples.</p><h2 id="References"><a class="docs-heading-anchor" href="#References">References</a><a id="References-1"></a><a class="docs-heading-anchor-permalink" href="#References" title="Permalink"></a></h2><p><a href="https://github.com/gridap/Gridap.jl">Gridap.jl</a> Badia, S., Verdugo, F. (2020). Gridap: An extensible Finite Element toolbox in Julia. Journal of Open Source Software, 5(52), 2520.</p><p><a href="https://github.com/JuliaSmoothOptimizers/NLPModels.jl">NLPModels.jl</a> D. Orban, A. S. Siqueira and contributors (2020). NLPModels.jl: Data Structures for Optimization Models</p><h1 id="Bug-reports-and-discussions"><a class="docs-heading-anchor" href="#Bug-reports-and-discussions">Bug reports and discussions</a><a id="Bug-reports-and-discussions-1"></a><a class="docs-heading-anchor-permalink" href="#Bug-reports-and-discussions" title="Permalink"></a></h1><p>If you think you found a bug, feel free to open an <a href="https://github.com/JuliaSmoothOptimizers/PDENLPModels.jl/issues">issue</a>. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.</p><p>If you want to ask a question not suited for a bug report, feel free to start a discussion <a href="https://github.com/JuliaSmoothOptimizers/Organization/discussions">here</a>. This forum is for general discussion about this repository and the <a href="https://github.com/JuliaSmoothOptimizers">JuliaSmoothOptimizers</a>, so questions about any of our packages are welcome.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="tore/">Calculus of Variations »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Monday 20 May 2024 14:50">Monday 20 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit c25d33e

Please sign in to comment.