Imperial College London

ProfessorDavidHam

Faculty of Natural SciencesDepartment of Mathematics

Professor of Computational Mathematics
 
 
 
//

Contact

 

+44 (0)20 7594 5003david.ham Website CV

 
 
//

Location

 

753Huxley BuildingSouth Kensington Campus

//

Summary

 

Publications

Publication Type
Year
to

71 results found

Kärnä T, Kramer SC, Mitchell L, Ham DA, Piggott MD, Baptista AMet al., 2018, Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations, Geoscientific Model Development, Vol: 11, Pages: 4359-4382

<jats:p>Abstract. Unstructured grid ocean models are advantageous for simulating the coastal ocean and river–estuary–plume systems. However, unstructured grid models tend to be diffusive and/or computationally expensive, which limits their applicability to real-life problems. In this paper, we describe a novel discontinuous Galerkin (DG) finite element discretization for the hydrostatic equations. The formulation is fully conservative and second-order accurate in space and time. Monotonicity of the advection scheme is ensured by using a strong stability-preserving time integration method and slope limiters. Compared to previous DG models, advantages include a more accurate mode splitting method, revised viscosity formulation, and new second-order time integration scheme. We demonstrate that the model is capable of simulating baroclinic flows in the eddying regime with a suite of test cases. Numerical dissipation is well-controlled, being comparable or lower than in existing state-of-the-art structured grid models. </jats:p>

Journal article

Kärnä T, Kramer SC, Mitchell L, Ham DA, Piggott MD, Baptista AMet al., 2018, Thetis coastal ocean model: discontinuous Galerkin discretization for the three-dimensional hydrostatic equations, Geoscientific Model Development, Vol: 11, Pages: 4359-4382, ISSN: 1991-959X

Unstructured grid ocean models are advantageous for simulating the coastal ocean and river-estuary-plume systems. However, unstructured grid models tend to be diffusive and/or computationally expensive which limits their applicability to real life problems. In this paper, we describe a novel discontinuous Galerkin (DG) finite element discretization for the hydrostatic equations. The formulation is fully conservative and second-order accurate in space and time. Monotonicity of the advection scheme is ensured by using a strong stability preserving time integration method and slope limiters. Compared to previous DG models advantages include a more accurate mode splitting method, revised viscosity formulation, and new second-order time integration scheme. We demonstrate that the model is capable of simulating baroclinic flows in the eddying regime with a suite of test cases. Numerical dissipation is well-controlled, being comparable or lower than in existing state-of-the-art structured grid models.

Journal article

Ham D, 2018, Editorial comment

Journal article

Homolya M, Mitchell L, Luporini F, Ham DAet al., 2018, TSFC: a structure-preserving form compiler, SIAM Journal on Scientific Computing, ISSN: 1064-8275

A form compiler takes a high-level description of the weak form of partialdifferential equations and produces low-level code that carries out the finiteelement assembly. In this paper we present the Two-Stage Form Compiler (TSFC),a new form compiler with the main motivation to maintain the structure of theinput expression as long as possible. This facilitates the application ofoptimizations at the highest possible level of abstraction. TSFC features anovel, structure-preserving method for separating the contributions of a formto the subblocks of the local tensor in discontinuous Galerkin problems. Thisenables us to preserve the tensor structure of expressions longer through thecompilation process than other form compilers. This is also achieved in part bya two-stage approach that cleanly separates the lowering of finite elementconstructs to tensor algebra in the first stage, from the scheduling of thosetensor operations in the second stage. TSFC also efficiently traversescomplicated expressions, and experimental evaluation demonstrates goodcompile-time performance even for highly complex forms.

Journal article

Wesselhoeft C, Ham DA, Misener R, 2018, Algorithms for Mixed-Integer Optimization Constrained by Partial Differential Equations, Computer Aided Chemical Engineering, Pages: 799-804

Mixed-integer, partial differential equation (PDE) constrained optimization (MIP-DECO) is a flexible modeling framework with many engineering applications, e.g. tidal and wind turbine siting, pharmaceutical business operations, disaster recovery, and solid product creation. But solving MIPDECO is daunting because it combines both integer programming and partial differential equations in a single optimization model. We consider a range of optimization algorithms for addressing MIPDECO from two applications: (i) the Source Inversion and (ii) the Tidal Stream Turbine Optimization problems. We report on the relevant merits of these approaches and make our results available as an open source extension to OpenTidalFarm.

Book chapter

Schwedes T, Ham DA, Funke SW, Piggott MDet al., 2017, Mesh dependence in PDE-constrained optimisation an application in tidal turbine array layouts, Publisher: Springer, ISBN: 9783319594835

This section verifies the iteration count estimates by solving the optimisation problem (2.2) numerically. The first experiment investigates the number of optimisation iterations required to solve (2.2) under non-uniform mesh refinement.

Book

Luporini F, Ham DA, Kelly PHJ, 2017, An algorithm for the optimization of finite element integration loops, ACM Transactions on Mathematical Software, Vol: 44, ISSN: 0098-3500

We present an algorithm for the optimization of a class of finite element integration loop nests. This algo-rithm, which exploits fundamental mathematical properties of finite element operators, is proven to achievea locally optimal operation count. In specified circumstances the optimum achieved is global. Extensive nu-merical experiments demonstrate significant performance improvements over the state of the art in finiteelement code generation in almost all cases. This validates the effectiveness of the algorithm presented here,and illustrates its limitations.

Journal article

Kalogirou A, Bokhove O, Ham D, 2017, MODELLING OF NONLINEAR WAVE -BUOY DYNAMICS USING CONSTRAINED VARIATIONAL METHODS, 36th ASME International Conference on Ocean, Offshore and Arctic Engineering, Publisher: AMER SOC MECHANICAL ENGINEERS

Conference paper

Rathgeber F, Ham DA, Mitchell L, Lange M, Luporini F, McRae ATT, Bercea GT, Markall GR, Kelly PHJet al., 2016, Firedrake: Automating the finite element method by composing abstractions, ACM Transactions on Mathematical Software, Vol: 43, ISSN: 0098-3500

Firedrake is a new tool for automating the numerical solution of partial differential equations. Firedrake adopts the domain-specific language for the finite element method of the FEniCS project, but with a pure Python runtime-only implementation centered on the composition of several existing and new abstractions for particular aspects of scientific computing. The result is a more complete separation of concerns that eases the incorporation of separate contributions from computer scientists, numerical analysts, and application specialists. These contributions may add functionality or improve performance. Firedrake benefits from automatically applying new optimizations. This includes factorizing mixed function spaces, transforming and vectorizing inner loops, and intrinsically supporting block matrix operations. Importantly, Firedrake presents a simple public API for escaping the UFL abstraction. This allows users to implement common operations that fall outside of pure variational formulations, such as flux limiters.

Journal article

Homolya M, Ham DA, Homolya M, Ham DAet al., 2016, A Parallel Edge Orientation Algorithm for Quadrilateral Meshes, SIAM Journal on Scientific Computing, Vol: 38, Pages: S48-S61, ISSN: 1095-7197

One approach to achieving correct finite element assembly is to ensure that the local orientation of facets relative to each cell in the mesh is consistent with the global orientation of that facet. Rognes et al. have shown how to achieve this for any mesh composed of simplex elements, and deal.II contains a serial algorithm for constructing a consistent orientation of any quadrilateral mesh of an orientable manifold. The core contribution of this paper is the extension of this algorithm for distributed memory parallel computers, which facilitates its seamless application as part of a parallel simulation system. Furthermore, our analysis establishes a link between the well-known Union-Find algorithm and the construction of a consistent orientation of a quadrilateral mesh. As a result, existing work on the parallelization of the Union-Find algorithm can be easily adapted to construct further parallel algorithms for mesh orientations.

Journal article

McRae ATT, Mitchell L, Bercea, Ham DA, Cotter, McRae, Bercea, Mitchell, Ham, Cotteret al., 2016, Automated Generation and Symbolic Manipulation of Tensor Product Finite Elements, SIAM Journal on Scientific Computing, Vol: 38, Pages: S25-S47, ISSN: 1064-8275

We describe and implement a symbolic algebra for scalar and vector-valued finite elements, enabling the computer generation of elements with tensor product structure on quadrilateral, hexahedral, and triangular prismatic cells. The algebra is implemented as an extension to the domain-specific language UFL, the Unified Form Language. This allows users to construct many finite element spaces beyond those supported by existing software packages. We have made corresponding extensions to FIAT, the FInite element Automatic Tabulator, to enable numerical tabulation of such spaces. This tabulation is consequently used during the automatic generation of low-level code that carries out local assembly operations, within the wider context of solving finite element problems posed over such function spaces. We have done this work within the code-generation pipeline of the software package Firedrake; we make use of the full Firedrake package to present numerical examples.

Journal article

Luporini F, Varbanescu AL, Rathgeber F, Bercea G-T, Ramanujam J, Ham DA, Kelly PHJet al., 2015, Cross-Loop Optimization of Arithmetic Intensity for Finite Element Local Assembly, ACM Transactions on Architecture and Code Optimization, Vol: 11, Pages: 1-25, ISSN: 1544-3566

<jats:p>We study and systematically evaluate a class of composable code transformations that improve arithmetic intensity in local assembly operations, which represent a significant fraction of the execution time in finite element methods. Their performance optimization is indeed a challenging issue. Even though affine loop nests are generally present, the short trip counts and the complexity of mathematical expressions, which vary among different problems, make it hard to determine an optimal sequence of successful transformations. Our investigation has resulted in the implementation of a compiler (called COFFEE) for local assembly kernels, fully integrated with a framework for developing finite element methods. The compiler manipulates abstract syntax trees generated from a domain-specific language by introducing domain-aware optimizations for instruction-level parallelism and register locality. Eventually, it produces C code including vector SIMD intrinsics. Experiments using a range of real-world finite element problems of increasing complexity show that significant performance improvement is achieved. The generality of the approach and the applicability of the proposed code transformations to other domains is also discussed.</jats:p>

Journal article

Heinis T, Ham DA, 2015, On-the-Fly Data Synopses: Efficient Data Exploration in the Simulation Sciences, SIGMOD Record, Vol: 44, Pages: 23-28

Journal article

Hill J, Popova EE, Ham DA, Piggott MD, Srokosz Met al., 2014, Adapting to life: ocean biogeochemical modelling and adaptive remeshing, Ocean Science, Vol: 10, Pages: 323-343

An outstanding problem in biogeochemical modelling of the ocean is that many of the key processes occur intermittently at small scales, such as the sub-mesoscale, that are not well represented in global ocean models. This is partly due to their failure to resolve sub-mesoscale phenomena, which play a significant role in vertical nutrient supply. Simply increasing the resolution of the models may be an inefficient computational solution to this problem. An approach based on recent advances in adaptive mesh computational techniques may offer an alternative. Here the first steps in such an approach are described, using the example of a simple vertical column (quasi-1-D) ocean biogeochemical model. We present a novel method of simulating ocean biogeochemical behaviour on a vertically adaptive computational mesh, where the mesh changes in response to the biogeochemical and physical state of the system throughout the simulation. We show that the model reproduces the general physical and biological behaviour at three ocean stations (India, Papa and Bermuda) as compared to a high-resolution fixed mesh simulation and to observations. The use of an adaptive mesh does not increase the computational error, but reduces the number of mesh elements by a factor of 2–3. Unlike previous work the adaptivity metric used is flexible and we show that capturing the physical behaviour of the model is paramount to achieving a reasonable solution. Adding biological quantities to the adaptivity metric further refines the solution. We then show the potential of this method in two case studies where we change the adaptivity metric used to determine the varying mesh sizes in order to capture the dynamics of chlorophyll at Bermuda and sinking detritus at Papa. We therefore demonstrate that adaptive meshes may provide a suitable numerical technique for simulating seasonal or transient biogeochemical behaviour at high vertical resolution whilst minimising the number of elements in the mesh. M

Journal article

Ford R, Glover M, Ham D, Maynard C, Pickles S, Riley Get al., 2013, GungHo Phase 1 Computational Science Recommendations, Publisher: The Met Office, Forecasting Research Technical Report No: 587

Report

Farrell PE, Ham DA, Funke SW, Rognes MEet al., 2013, Automated derivation of the adjoint of high-level transient finite element programs, SIAM Journal on Scientific Computing, Vol: 35, Pages: C369-C393, ISSN: 1064-8275

Journal article

Markall GR, Rathgeber F, Mitchell L, Loriant N, Bertolli C, Kelly PHJ, Markall G, Rathgeber F, Ham D, Loriant N, Mitchell L, Bertolli C, Kelly Pet al., 2013, Performance-Portable Finite Element Assembly Using PyOP2 and FEniCS, International Supercomputing Conference (ISC), Publisher: Springer, Pages: 279-289, ISSN: 0302-9743

We describe a toolchain that provides a fully automated compilation pathway from a finite element domain-specific language to low-level code for multicore and GPGPU platforms. We demonstrate that the generated code exceeds the performance of the best available alternatives, without requiring manual tuning or modification of the generated code. The toolchain can easily be integrated with existing finite element solvers, providing a means to add performance portable methods without having to rebuild an entire complex implementation from scratch.

Conference paper

Rognes ME, Ham DA, Cotter CJ, McRae ATTet al., 2013, Automating the solution of PDEs on the sphere and other manifolds in FEniCS 1.2, Geoscientific Model Development, Vol: 6, Pages: 2099-2119

Journal article

Bertolli C, Betts A, Mudalige GR, Loriant N, Ham D, Giles MB, Kelly PHJet al., 2013, Compiler optimizations for industrial unstructured mesh CFD applications on GPUs, International Workshop on Languages and Compilers for Parallel Computing (LCPC), Publisher: Springer, Pages: 112-126

Conference paper

AMCG, 2013, Fluidity/The Imperial College Ocean Model

Software

Rathgeber F, Markall GR, Mitchell L, Loriant N, Ham DA, Bertolli C, Kelly PHJ, Rathgeber F, Markall GR, Mitchell L, Loriant N, Ham DA, Bertolli C, Kelly PHJet al., 2012, PyOP2: A High-Level Framework for Performance-Portable Simulations on Unstructured Meshes, High Performance Computing, Networking Storage and Analysis, SC Companion, Publisher: IEEE Computer Society, Pages: 1116-1123

Emerging many-core platforms are very difficult to program in a performance portable manner whilst achieving high efficiency on a diverse range of architectures. We present work in progress on PyOP2, a high-level embedded domain-specific language for mesh-based simulation codes that executes numerical kernels in parallel over unstructured meshes. Just-in-time kernel compilation and parallel scheduling are delayed until runtime, when problem-specific parameters are available. Using generative metaprogramming, performance portability is achieved, while details of the parallel implementation are abstracted from the programmer. PyOP2 kernels for finite element computations can be generated automatically from equations given in the domain-specific Unified Form Language. Interfacing to the multi-phase CFD code Fluidity through a very thin layer on top of PyOP2 yields a general purpose finite element solver with an input notation very close to mathematical formulae. Preliminary performance figures show speedups of up to 3.4x compared to Fluidity's built-in solvers when running in parallel.

Conference paper

Markall GR, Slemmer A, Ham DA, Kelly PHJ, Cantwell CD, Sherwin SJet al., 2012, Finite element assembly strategies on multi- and many-core architectures, International Journal for Numerical Methods in Fluids

Journal article

Du J, Fang F, Pain CC, Navon IM, Zhu J, Ham DAet al., 2012, POD reduced-order unstructured mesh modelling applied to 2D and 3D fluid flow, Computers & Mathematics with Applications

Journal article

Hill J, Piggott MD, Ham DA, Popova EE, Srokosz MA, Hill J, Piggott M, Ham D, Popova E, Srokosz M, Hill J, Ham DA, Piggott MD, Popova EE, Srokosz MAet al., 2012, On the performance of a generic length scale turbulence model within an adaptive finite element ocean model, Ocean Modelling, Vol: 56, Pages: 1-15

Research into the use of unstructured mesh methods for ocean modelling has been growing steadily in the last few years. One advantage of using unstructured meshes is that one can concentrate resolution where it is needed. In addition, dynamic adaptive mesh optimisation (DAMO) strategies allow resolution to be concentrated when this is required. Despite the advantage that DAMO gives in terms of improving the spatial resolution where and when required, small-scale turbulence in the oceans still requires parameterisation. A two-equation, generic length scale (GLS) turbulence model (one equation for turbulent kinetic energy and another for a generic turbulence length-scale quantity) adds this parameterisation and can be used in conjunction with adaptive mesh techniques. In this paper, an implementation of the GLS turbulence parameterisation is detailed in a non-hydrostatic, finite-element, unstructured mesh ocean model, Fluidity-ICOM. The implementation is validated by comparing to both a laboratory-scale experiment and real-world observations, on both fixed and adaptive meshes. The model performs well, matching laboratory and observed data, with resolution being adjusted as necessary by DAMO. Flexibility in the prognostic fields used to construct the error metric used in DAMO is required to ensure best performance. Moreover, the adaptive mesh models perform as well as fixed mesh models in terms of root mean square error to observation or theoretical mixed layer depths, but uses fewer elements and hence has a reduced computational cost.

Journal article

Farrell PE, Funke SW, Ham DA, Rognes MEet al., 2012, dolfin-adjoint

The dolfin-adjoint project automatically derives the discrete adjoint and tangent linear models from a forward finite element model written in the Python interface to Dolfin.

Software

Cotter CJ, Ham DA, 2011, Numerical wave propagation for the triangular P1DG-P2 finite element pair, Journal of Computational Physics

Journal article

Markall GR, Ham DA, Kelly PHJ, 2010, Towards generating optimised finite element solvers for GPUs from high-level specifications, Pages: 1809 - 1817-1809 - 1817, ISSN: 1877-0509

Conference paper

Markall GR, Ham DA, Kelly PHJ, 2010, Generating Optimised Finite Element Solvers for GPU Architectures, International Conference on Numerical Analysis and Applied Mathematics, Publisher: AMER INST PHYSICS, Pages: 787-790, ISSN: 0094-243X

We show that optimal implementations of a finite element solver written for a Graphics Processing Unit and a multicore CPU require the use of different algorithms and data formats. This motivates the use of code generation in order to produce efficient, maintainable implementations of the finite element method for GPU architectures.

Conference paper

Ham DA, Farrell PE, Gorman GJ, Maddison JR, Wilson CR, Kramer SC, Shipton J, Collins GS, Cotter CJ, Piggott MDet al., 2009, Spud 1.0: generalising and automating the user interfaces of scientific computer models, Geoscientific Model Development, Vol: 2, Pages: 33-42

The interfaces by which users specify the scenarios to be simulated by scientific computer models are frequently primitive, under-documented and ad-hoc text files which make using the model in question difficult and error-prone and significantly increase the development cost of the model. In this paper, we present a model-independent system, Spud, which formalises the specification of model input formats in terms of formal grammars. This is combined with an automated graphical user interface which guides users to create valid model inputs based on the grammar provided, and a generic options reading module, libspud, which minimises the development cost of adding model options. Together, this provides a user friendly, well documented, self validating user interface which is applicable to a wide range of scientific models and which minimises the developer input required to maintain and extend the model interface.

Journal article

This data is extracted from the Web of Science and reproduced under a licence from Thomson Reuters. You may not copy or re-distribute this data in whole or in part without the written consent of the Science business of Thomson Reuters.

Request URL: http://wlsprd.imperial.ac.uk:80/respub/WEB-INF/jsp/search-html.jsp Request URI: /respub/WEB-INF/jsp/search-html.jsp Query String: id=00464536&limit=30&person=true&page=2&respub-action=search.html