Codes for "A nonsmooth primal-dual method with interwoven PDE constraint solver"
Description
This is Julia code for the nonsmooth primal-dual method for PDE constraint problems explained in the manuscript found here: https://arxiv.org/abs/2211.04807.
Setup
The code was written for Julia 1.6.7
and package dependencies are available in the .toml
-file. To run the code start Julia in the codes root folder (where this readme.md
file is located) using the command
Julia --project=/path/to/code
where the /path/to/code
is replaced by the actual location on your machine.
In the Julia REPL type ]
to enter Pkg
mode and type instantiate
to download and install all the listed dependencies.
Running the Examples
There are 4 experiment files: Numerical0__.jl
with __
being 1
or 2
and a
or b
. a
corresponds to a coarse grid problem, b
to a finer grid problem. To run an experiment pick one of the files.
Creating the near-convergence solution to compare against
- To perform the same experiment as in the manuscript you will first need to do the long run computation so we have a target solution to compare against. To do that open the Experiment file and edit
lines 20-21
. Setload_conv_x
tofalse
andcreate_conv_x
totrue
. - Then call
Julia <file>
replacing<file>
with the.jl
file you just edited.
Running the experiment
- After having done the long run above, edit the file's
lines 20-21
again and setload_conv_x
totrue
andcreate_conv_x
tofalse
. - Then, as above, call
Julia <file>
, where<file>
is the file you edited. - The output can be found in the
Numerical/vizY__/
folder where each run's results are sorted into a timestamped subdirectory.
Files
inexact-pde-julia.zip
Files
(61.1 kB)
Name | Size | Download all |
---|---|---|
md5:6e92c38ba76c6de7ee27ac92936b97a9
|
61.1 kB | Preview Download |
Additional details
Related works
- Is cited by
- Preprint: arXiv:2211.04807 (arXiv)
Funding
- Research Council of Finland
- Decoupling preconditioners for non-smooth optimisation and inverse problems 320022
- Research Council of Finland
- Decoupling preconditioners for non-smooth optimisation and inverse problems 314701