@article {paper54,
	title = {SMART: Spatial Modeling Algorithms for Reaction and Transport},
	journal = {Journal of Open Source Software},
	year = {2023},
	publisher = {TBA},
	doi = {https://arxiv.org/abs/2306.07368},
	author = {Justin G. {Laughlin} and J{\o}rgen Schartum {Dokken} and Finsberg, Henrik and Emmet A. {Francis} and Christopher T. {Lee} and Marie E. {Rognes} and Rangamani, Padmini}
}
@article {2001.10058,
	title = {Automatic shape derivatives for transient PDEs in FEniCS and Firedrake},
	journal = {arxiv},
	year = {2020},
	publisher = {arxiv},
	abstract = {In industry, shape optimization problems are of utter importance when designing structures such as aircraft, automobiles and turbines. For many of these applications, the structure changes over time, with a prescribed or non-prescribed movement. Therefore, it is important to capture these features in simulations when optimizing the design of the structure. Using gradient based algorithms, deriving the shape derivative manually can become very complex and error prone, especially in the case of time-dependent non-linear partial differential equations. To ease this burden, we present a high-level algorithmic differentiation tool that automatically computes first and second order shape derivatives for partial differential equations posed in the finite element frameworks FEniCS and Firedrake. The first order shape derivatives are computed using the adjoint method, while the second order shape derivatives are computed using a combination of the tangent linear method and the adjoint method. The adjoint and tangent linear equations are symbolically derived for any sequence of variational forms. As a consequence our methodology works for a wide range of PDE problems and is discretely consistent. We illustrate the generality of our framework by presenting several examples, spanning the range of linear, non-linear and time-dependent PDEs for both stationary and transient domains.},
	author = {J{\o}rgen Schartum {Dokken} and Mitusch, Sebastian and Simon W {Funke}}
}
@article {DOKKEN2020113129,
	title = {A multimesh finite element method for the Navier{\textendash}Stokes equations based on projection methods},
	journal = {Computer Methods in Applied Mechanics and Engineering},
	volume = {368},
	year = {2020},
	pages = {113129},
	publisher = {Elsevier},
	abstract = {The multimesh finite element method is a technique for solving partial differential equations on multiple non-matching meshes by enforcing interface conditions using Nitsche{\textquoteright}s method. Since the non-matching meshes can result in arbitrarily cut cells, additional stabilization terms are needed to obtain a stable method. In this contribution we extend the multimesh finite element method to the Navier{\textendash}Stokes equations based on the incremental pressure-correction scheme. For each step in the pressure-correction scheme, we derive a multimesh finite element formulation with suitable stabilization terms. The proposed scheme is implemented for arbitrary many overlapping two dimensional domains, yielding expected spatial and temporal convergence rates for the Taylor{\textendash}Green problem, and demonstrates good agreement for the drag and lift coefficients for the Turek{\textendash}Sch{\"a}fer benchmark (DFG benchmark 2D-3). Finally, we illustrate the capabilities of the proposed scheme by optimizing the layout of obstacles in a two dimensional channel.},
	keywords = {Incremental pressure-correction scheme, Multimesh finite element method, Navier{\textendash}Stokes equations, Nitsche{\textquoteright}s method, Projection method},
	issn = {0045-7825},
	doi = {https://doi.org/10.1016/j.cma.2020.113129},
	url = {http://www.sciencedirect.com/science/article/pii/S0045782520303145},
	author = {J{\o}rgen Schartum {Dokken} and Johansson, August and Massing, Andre and Simon W {Funke}}
}
@phdthesis {27712,
	title = {Shape Optimization for Finite Element Methods},
	year = {2020},
	author = {J{\o}rgen Schartum {Dokken}}
}
@misc {26660,
	title = {Algorithmic differentation for shape derivatives with PDE constraints},
	howpublished = {Berlin, Germany},
	year = {2019},
	type = {Conference talk},
	abstract = {Shape-derivatives combined with the adjoint approach offer an efficient approach for solving shape optimisation problems, but their derivation is error-prone especially for complex PDEs. In this talk, we present an algorithmic differentiation tool that automatically computes shape derivatives by aexploiting the symbolic representation of variational problems in the finite element framework FEniCS. We demonstrate that our approach computes first and second order shape derivatives for a wide range of PDEs and functionals, approaches optimal performance and works naturally in parallel.},
	author = {Simon W {Funke} and J{\o}rgen Schartum {Dokken} and Mitusch, Sebastian}
}
@misc {26613,
	title = {Algorithmic Differentiation for Shape Optimization Problems in the High Level Finite Element Framework FEniCS},
	howpublished = {SIAM Conference on Computational Science and Engineering (CSE19), Spokane, Washington, USA},
	year = {2019},
	abstract = {Shape optimization problems constrained by partial differential equations (PDEs) are ever-present in the area of scientific computing, for example structural mechanics, computational fluid dynamics and acoustics. The PDEs considered in such applications spans a broad spectrum, ranging from steady state, linear equations, to transient non-linear equations.To efficiently solve the shape optimization problem, one has to consider shape sensitivities and shape Hessians of the PDEs. A popular approach is the adjoint method. Deriving the adjoint equations by hand is known to be cumbersome and error-prone. We propose an approach where this derivation is computed by a high level algorithmic differentiation tool. The shape sensitivities are computed by discrete derivatives of the mesh node sensitivities.An advantage of our approach is that only the forward problem has to be postulated as input. Then the algorithm creates a computational tape that tracks the propagation of variables and computes corresponding gradients and Hessians.By using the operator overloading approach we inherit the parallelism and performance of the software used to solve the PDE. Our software is overloading the framework FEniCS, which has a high level Python interface and generates parallel, optimized C++ code. We illustrate the efficiency and robustness of the code by presenting results for several PDEs with a wide range of solution methods.},
	author = {J{\o}rgen Schartum {Dokken}},
	editor = {Simon W {Funke} and Mitusch, Sebastian and Schmidt, Stephan}
}
@article {26585,
	title = {dolfin-adjoint 2018.1: automated adjoints for FEniCS and Firedrake},
	journal = {Journal of Open Source Software},
	volume = {4},
	year = {2019},
	month = {Jan-06-2019},
	pages = {1292},
	publisher = {JOSS},
	doi = {10.21105/joss.01292},
	author = {Mitusch, Sebastian and Simon W {Funke} and J{\o}rgen Schartum {Dokken}}
}
@misc {26662,
	title = {Recent developments in dolfin-adjoint},
	howpublished = {FEniCS{\textquoteright}19, Washington DC, USA},
	year = {2019},
	abstract = {dolfin-adjoint is a python library that enables automatic differentiation and optimization of FEniCS models by deriving and solving the corresponding first and second-order adjoint equations. In the last two years, dolfin-adjoint has been completely rewritten to accommodate the implementation of new features. For instance, we have implemented shape derivatives, which was enabled by a recent extension to UFL [1]. We will present a highlight of the new features in dolfin-adjoint, including deformation vector and strong Dirichlet boundary condition controls. Furthermore, we present the performance of these implementations compared to the theoretical optimum. Lastly, we mention how dolfin-adjoint can be extended to support new operations.[1] David A Ham, Lawrence Mitchell, Alberto Paganini, and Florian Wechsung. Automated shape differentiation in the unified form language. arXiv preprint arXiv:1808.08083, 2018.},
	author = {Mitusch, Sebastian and Simon W {Funke} and J{\o}rgen Schartum {Dokken}}
}
@article {26784,
	title = {Shape Optimization Using the Finite Element Method on Multiple Meshes with Nitsche Coupling},
	journal = {SIAM Journal on Scientific Computing},
	volume = {41},
	year = {2019},
	month = {Feb-01-2019},
	pages = {A1923 - A1948},
	publisher = {SIAM},
	abstract = {An important step in shape optimization with partial differential equation constraints is to adapt the geometry during each optimization iteration. Common strategies are to employ mesh-deformation or re-meshing, where one or the other typically lacks robustness or is computationally expensive. This paper proposes a different approach, in which the computational domain is represented by multiple, independent meshes. A Nitsche based finite element method is used to weakly enforce continuity over the non-matching mesh interfaces. The optimization is preformed using an iterative gradient method, in which the shape-sensitivities are obtained by employing the Hadamard formulas and the adjoint approach. An optimize-then-discretize approach is chosen due to its independence of the FEM framework. Since the individual meshes may be moved freely, re-meshingor mesh deformations can be entirely avoided in cases where the geometry changes consists of rigid motions or scaling. By this free movement, we obtain robust and computational cheap mesh adaptation for optimization problems even for large domain changes. For general geometry changes, the method can be combined with mesh-deformation or re-meshing techniques to reduce the amount of deformation required. We demonstrate the capabilities of the method on several examples, including the optimal placement of heat emitting wires in a cable to minimize the chance of overheating, the drag minimization in Stokes flow, and the orientation of 25 objects in a Stokes flow.},
	issn = {1064-8275},
	doi = {10.1137/18M1189208},
	url = {https://epubs.siam.org/doi/10.1137/18M1189208https://epubs.siam.org/doi/pdf/10.1137/18M1189208},
	author = {J{\o}rgen Schartum {Dokken} and Simon W {Funke} and Johansson, August and Schmidt, Stephan}
}
@misc {26261,
	title = {Algorithmic differentiation for shape optimization problems in the High Level Finite Element Framework FEniCS},
	howpublished = {University of W{\"u}rzburg, Germany},
	year = {2018},
	type = { Oberseminar Mathematische Str{\"o}mungsmechanik},
	author = {J{\o}rgen Schartum {Dokken}}
}
@misc {26262,
	title = {Algorithmic Differentiation for Shape Optimization problems with overlapping meshes},
	howpublished = {Siam Annual Meeting, Portland, USA},
	year = {2018},
	author = {J{\o}rgen Schartum {Dokken}},
	editor = {Simon W {Funke} and Johansson, August}
}
@misc {25867,
	title = {Towards Algorithmic Differentiation of shape optimization problems with time-dependent PDE-constraints},
	year = {2018},
	address = {FEniCS 18, Oxford, UK},
	keywords = {Algorithmic Differentiation, FEniCS, pyadjoint, Shape optimization},
	author = {J{\o}rgen Schartum {Dokken}},
	editor = {Simon W {Funke}}
}
@misc {25145,
	title = {Automatic Adjoints of Multimesh Finite Element Discretisations},
	howpublished = {Atlanta, USA},
	year = {2017},
	publisher = {SIAM Conference on Computational Science \& Engineering},
	abstract = {Many interesting physics-driven optimisation problems include dynamic domains (i.e. domains that change in time). One can think of the fluid-fluid interaction in a mixing process or the fluid-structure interaction of a rotating turbine or propeller. In this talk, we present an approach for solving such dynamic optimisation problems based on a multi-mesh idea: we allow the computational domain to consist of multiple meshes which can independently move. These meshes are then coupled in the variational formulation, typically through Nitsche terms. This approach is particularly promising in a PDE-constrained optimisation setting, since it allows even large movements of the domain without non-differentiable and computationally expensive remeshing steps. We implemented this approach within the FEniCS and dolfin-adjoint projects and demonstrate that it can be combined with a high-degree of automation and code generation. The user specifies the variational formulation including the coupling terms in the domain-specific language UFL, from which assembly code is automatically generated via the FEniCS form compiler. The associated adjoint equations are derived automatically from the UFL description, and solved for a specific forward state and mesh-movements. We give examples of PDE-constrained optimisation problems with dynamic domains that can now be solved in a few dozen lines of Python code.},
	author = {Simon W {Funke} and J{\o}rgen Schartum {Dokken} and Johansson, August and Schmidt, Stephan}
}
@misc {25452,
	title = {Optimization Problems in Dynamical Domains with Unfitted Meshes},
	howpublished = {X-DMS 2017, Ume{\r a}, Sweden},
	year = {2017},
	author = {Simon W {Funke} and J{\o}rgen Schartum {Dokken} and Johansson, August and Schmidt, Stephan}
}
@inproceedings {25451,
	title = {Shape Optimization with  Multiple Meshes},
	journal = {FEniCS Conference 2017},
	year = {2017},
	address = {University of Luxembourg, Luxembourg},
	doi = {10.6084/m9.figshare.5086369},
	author = {J{\o}rgen Schartum {Dokken} and Simon W {Funke} and Johansson, August and Schmidt, Stephan}
}
@misc {25420,
	title = {Shape Optimization with Multiple Meshes},
	howpublished = {FEniCS 2017 conference, Luxembourg},
	year = {2017},
	abstract = {For shape optimization problems, the computational domain is the design variable. Changing the shape of an airfoil in a channel to minimize drag is such a problem. The evolving domains complicate the numerical solution of shape optimization problems, and typically require large mesh deformations with quality checks and a re-meshing software as a fallback. We propose an approach for solving shape optimization problems on multiple overlapping meshes. In this approach, each mesh can be moved freely and hence the multi-mesh approach allows larger deformation of the domain than standard single-mesh approaches. The approach has been implemented in FEniCS and dolfin-adjoint, by employing the already tested environment for multi-mesh. We give examples of derivation of the shape-optimization problem for a Stokes flow and present implementation of this in FEniCS.Consider a general PDE constrained shape optimization problem we want to minimize a goal functional J, which is subject to a state equation F, with solution u over the domain Omega. We choose to divide the domain Omega into two non-overlapping domains by creating an artificial interface Gamma, such that the union of Omega0 and Omega1 is the original domain Omega. This is depicted in Figure 1. Extension to an arbitrary number of overlapping domains is possible. The weak formulation of the state equations are then formulated and the continuity over the artificial boundary is enforced by using Nitsches method.For minimization, we choose a gradient based scheme, and find the gradient by using the adjoint method. By employing the Hadamard formulas for Volume and Surface objective functions one can achieve the functional sensitivities as a function of the moving boundary and not the domain.A concrete example of this approach is the shape optimization of an obstacle in Stokes-flow in the domain specified in Figure 2.For deformation of the mesh, we have used two different deformation equations, a Laplacian smoothing and a set of Eikonal convection equations. For the multi-mesh problem, deformation is only done one the front mesh, while the background mesh is stationary. Figure 3 shows that with the Laplacian deformation the mesh degenerates in both the single-mesh and multi-mesh-case. Figure 4 shows that the Eikonal convection equations preserves the mesh-quality in the multi-mesh-case, but not in the single-mesh case, where the mesh degenerates at the boundary. We conclude that with a multi-mesh-approach, the meshes are preserved better than with a single-mesh approach.},
	url = {http://easychair.org/smart-program/FEniCS{\textquoteright}17/2017-06-13.html},
	author = {J{\o}rgen Schartum {Dokken} and Simon W {Funke} and Johansson, August and Schmidt, Stephan}
}
@misc {25590,
	title = {Shape Optimization with Overlapping Meshes},
	howpublished = {ENUMATH 2017, Voss, Bergen},
	year = {2017},
	type = {Invited speaker to Minisymposia on PDE Software Frameworks},
	keywords = {Adjoint Method, CUTFEM, MultiMesh, Shape-optimization},
	author = {J{\o}rgen Schartum {Dokken}},
	editor = {Simon W {Funke} and Johansson, August and Schmidt, Stephan}
}
@article {25634,
	title = {Wave analysis of porous geometry with linear resistance law},
	journal = {Wave analysis of porous geometry with linear resistance law},
	volume = {16},
	year = {2017},
	month = {10/2017},
	publisher = {Harbin Engineering University},
	address = { https://doi.org/10.1007/s11804-017-1438-2},
	abstract = {The wave diffraction-radiation problem of a porous geometry of arbitrary shape located in the free surface of a fluid is formulated by a set of integral equations, assuming a linear resistance law at the geometry. The linear forces, the energy relation and the mean horizontal drift force are evaluated for non-porous and porous geometries. A geometry of large porosity has an almost vanishing added mass. The exciting forces are a factor of 5{\textendash}20 smaller compared to a solid geometry. In the long wave regime, the porous geometry significantly enhances both the damping and the mean drift force, where the latter grows linearly with the wavenumber. The calculated mean drift force on a porous hemisphere and a vertical truncated cylinder, relevant to the construction of fish cages, is compared to available published results.},
	keywords = {added mass, damping, fish cages, mean drift force, wave analysis, wave exciting force},
	issn = {1671-9433},
	doi = {https://doi.org/10.1007/s11804-017-1438-2},
	url = {https://link.springer.com/article/10.1007\%2Fs11804-017-1438-2},
	author = {Grue, John and J{\o}rgen Schartum {Dokken} and Lars Petter {Karstensen}}
}
@misc {24900,
	title = {Optimization Problems on Dynamical Domains with Non-Matching Meshes},
	howpublished = {29th Nordic Seminar on Computational mechanics},
	year = {2016},
	keywords = {Adjoint, Dynamic Domains, Finite element method, Nitsche, Non-matching meshes, Optimization},
	author = {J{\o}rgen Schartum {Dokken}},
	editor = {Johansson, August and Simon W {Funke}}
}
