4 research outputs found
A framework for the automation of generalised stability theory
The traditional approach to investigating the stability of a physical system
is to linearise the equations about a steady base solution, and to examine the
eigenvalues of the linearised operator. Over the past several decades, it has
been recognised that this approach only determines the asymptotic stability of
the system, and neglects the possibility of transient perturbation growth
arising due to the nonnormality of the system. This observation motivated the
development of a more powerful generalised stability theory (GST), which
focusses instead on the singular value decomposition of the linearised
propagator of the system. While GST has had significant successes in
understanding the stability of phenomena in geophysical fluid dynamics, its
more widespread applicability has been hampered by the fact that computing the
SVD requires both the tangent linear operator and its adjoint: deriving the
tangent linear and adjoint models is usually a considerable challenge, and
manually embedding them inside an eigensolver is laborious. In this paper, we
present a framework for the automation of generalised stability theory, which
overcomes these difficulties. Given a compact high-level symbolic
representation of a finite element discretisation implemented in the FEniCS
system, efficient C++ code is automatically generated to assemble the forward,
tangent linear and adjoint models; these models are then used to calculate the
optimally growing perturbations to the forward model, and their growth rates.
By automating the stability computations, we hope to make these powerful tools
a more routine part of computational analysis. The efficiency and generality of
the framework is demonstrated with applications drawn from geophysical fluid
dynamics, phase separation and quantum mechanics.Comment: Accepted in SIS
A framework for automated PDE-constrained optimisation
A generic framework for the solution of PDE-constrained optimisation problems
based on the FEniCS system is presented. Its main features are an intuitive
mathematical interface, a high degree of automation, and an efficient
implementation of the generated adjoint model. The framework is based upon the
extension of a domain-specific language for variational problems to cleanly
express complex optimisation problems in a compact, high-level syntax. For
example, optimisation problems constrained by the time-dependent Navier-Stokes
equations can be written in tens of lines of code. Based on this high-level
representation, the framework derives the associated adjoint equations in the
same domain-specific language, and uses the FEniCS code generation technology
to emit parallel optimised low-level C++ code for the solution of the forward
and adjoint systems. The functional and gradient information so computed is
then passed to the optimisation algorithm to update the parameter values. This
approach works both for steady-state as well as transient, and for linear as
well as nonlinear governing PDEs and a wide range of functionals and control
parameters. We demonstrate the applicability and efficiency of this approach on
classical textbook optimisation problems and advanced examples
LEoPart: a particle library for FEniCS
This paper introduces LEoPart, an add-on for the open source finite element
software library FEniCS to seamlessly integrate Lagrangian particle
functionality with (Eulerian) mesh-based finite element (FE) approaches.
LEoPart - which is so much as to say: `Lagrangian-Eulerian on Particles' -
contains tools for efficient, accurate and scalable advection of Lagrangian
particles on arbitrary polyhedral meshes. In addition, LEoPart comes with
several projection operators for exchanging information between the scattered
particles and the mesh and \textit{vice versa}. These projection operators are
based on a variational framework, which allows extension to high-order
accuracy. In particular, by implementing a dedicated PDE-constrained
particle-mesh projection operator, LEoPart provides all the tools for
diffusion-free advection, while simultaneously achieving optimal convergence
and ensuring conservation of the projected particle quantities on the
underlying mesh. A range of numerical examples that are prototypical to passive
and active tracer methods highlight the properties and the parallel performance
of the different tools in LEoPart. Finally, future developments are identified.
The source code for LEoPart is actively maintained and available under an open
source license at https://bitbucket.org/jakob_maljaars/leopart.Comment: 35 pages, 13 figure
A massively parallel Eulerian-Lagrangian method for advection-dominated transport in viscous fluids
Motivated by challenges in Earth mantle convection, we present a massively
parallel implementation of an Eulerian-Lagrangian method for the
advection-diffusion equation in the advection-dominated regime. The advection
term is treated by a particle-based, characteristics method coupled to a
block-structured finite-element framework. Its numerical and computational
performance is evaluated in multiple, two- and three-dimensional benchmarks,
including curved geometries, discontinuous solutions, pure advection, and it is
applied to a coupled non-linear system modeling buoyancy-driven convection in
Stokes flow. We demonstrate the parallel performance in a strong and weak
scaling experiment, with scalability to up to parallel processes,
solving for more than (52 billion) degrees of freedom per
time-step.Comment: 22 page