Imperial College London

DrDavidHam

Faculty of Natural SciencesDepartment of Mathematics

Senior Lecturer
 
 
 
//

Contact

 

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

 
 
//

Location

 

758Huxley BuildingSouth Kensington Campus

//

Summary

 

Publications

Publication Type
Year
to

91 results found

Wallwork JG, Barral N, Kramer SC, Ham DA, Piggott MDet al., 2020, Goal-oriented error estimation and mesh adaptation for shallow water modelling, SN Applied Sciences, Vol: 2, ISSN: 2523-3963

Journal article

Gibson T, Mitchell L, Ham D, Cotter Cet al., 2020, Slate: extending Firedrake's domain-specific abstraction to hybridized solvers for geoscience and beyond, Geoscientific Model Development, Vol: 13, Pages: 735-761, ISSN: 1991-959X

Within the finite element community, discontinuous Galerkin (DG) and mixed finite element methods have becomeincreasingly popular in simulating geophysical flows. However, robust and efficient solvers for the resulting saddle-point andelliptic systems arising from these discretizations continue to be an on-going challenge. One possible approach for addressingthis issue is to employ a method known as hybridization, where the discrete equations are transformed such that classic staticcondensation and local post-processing methods can be employed. However, it is challenging to implement hybridization as performant parallel code within complex models, whilst maintaining separation of concerns between applications scientistsand software experts. In this paper, we introduce a domain-specific abstraction within the Firedrake finite element library thatpermits the rapid execution of these hybridization techniques within a code-generating framework. The resulting frameworkcomposes naturally with Firedrake’s solver environment, allowing for the implementation of hybridization and static condensa-tion as runtime-configurable preconditioners via the Python interface to PETSc, petsc4py. We provide examples derived from second order elliptic problems and geophysical fluid dynamics. In addition, we demonstrate that hybridization shows greatpromise for improving the performance of solvers for mixed finite element discretizations of equations related to large-scalegeophysical flows.

Journal article

Logg A, Barton SN, Wells GN, Mitchell L, Homolya M, Ham D, Richardson C, Ring J, Blechta J, Rognes ME, Daversin-Catty C, Bergersen A, Wechsung F, Hale JS, Habera M, Li L, Gibson TH, Leoni M, Barton N, Baratta I, Mardal K-A, Yashchuk I, Rathgeber F, Fauske VT, Markall G, Kirby R, Cotter CJ, Gregory Aet al., 2019, firedrakeproject/ufl: The Unified Form Language

This release is specifically created to document the version of ufl used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Homolya M, Kirby R, Blechta J, Ham D, Rognes ME, Logg A, Wells GN, Gibson TH, Ring J, Yashchuk I, Mitchell L, Richardson C, Schlömer N, Li L, Bergersen A, Cotter CJ, Hale JS, Knepley M, Rathgeber F, Terrel ARet al., 2019, firedrakeproject/fiat: The Finite Element Automated Tabulator

This release is specifically created to document the version of fiat used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html.

Software

Shapero D, Lilien D, Ham D, Hoffman Aet al., 2019, icepack/icepack: icepack: glacier flow modeling with the finite element method in Python

This is the beta release of icepack, a new software package for modeling the flow of glaciers and ice sheets in Python. The main design goal of icepack is to be easy to use for practicing glaciologists, whether they are experts or novices in computational physics and high-performance computing.

Software

Ham DA, Mitchell L, Paganini A, Wechsung Fet al., 2019, Automated shape differentiation in the Unified Form Language, STRUCTURAL AND MULTIDISCIPLINARY OPTIMIZATION, Vol: 60, Pages: 1813-1820, ISSN: 1615-147X

Journal article

Ham D, van Sebille E, Delandmeter P, Lange M, Rath W, Scutt Phillips J, Kronborg J, Petersik P, Brouwer R, Wichmann D, Edwards R, Sterl M, Walbridge S, Kaandorp M, Miron P, de Bruin J, Glissenaar I, Vettoretti G, Ham DA, Reijnders D, Gibson Aet al., 2019, OceanParcels/parcels: Parcels v2.1.2: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.1.2 is a quick release build on previous versions v2.1.1. In particular:It fixes a serious bug on some systems with floating point accuracy, that could lead to incorrect output files (see #670 and solution at #672). For this reason, all users are encouraged to use this new version v2.1.2 instead of v2.1.1.It also fixes a smaller bug (#676) with the timestamps argument in Field.from_netcdf()

Software

Rathgeber F, Mitchel L, Luporini F, Ham D, Markall G, Homolya M, Sun T, Barton SN, Dearman H, Gibson TH, gbts, Wechsung F, Kramer S, Funke SW, Shapero D, Kirby R, Lange M, Sato K, Russell F, Zhou Fet al., 2019, OP2/PyOP2: Framework for performance-portable parallel computations on unstructured meshes

OP2/PyOP2: Framework for performance-portable parallel computations on unstructured meshes

Software

Logg A, Barton SN, Wells GN, Mitchell L, Homolya M, Ham D, Ring J, Blechta J, Rognes ME, Richardson C, Bergersen A, Wechsung F, Hale JS, Li L, Gibson TH, Leoni M, Barton N, Baratta I, Mardal K-A, Yashchuk I, Rathgeber F, Fauske VT, Markall G, celdred, Kirby R, Cotter CJ, maxalbert, mliertzer, Gregory A, cmauriniet al., 2019, firedrakeproject/ufl: The Unified Form Language

firedrakeproject/ufl: The Unified Form Language

Software

Mitchell L, Ham D, Gibson TH, Rathgeber F, Homolya M, McRae ATT, Zhou F, Cotter CJ, Lange M, ksagiyam, Wechsung F, Andrej J, Luporini F, Kirby R, Sun T, APaganini, Poulin FJ, Roy T, Hawkes C, Kärnä T, Salwa T, Kalogirou A, Barral N, Greaves T, Kramer S, Gregory A, Funke SW, Büsing H, tommbendall, McBain Get al., 2019, firedrakeproject/firedrake: an automated finite element system

firedrakeproject/firedrake: an automated finite element system

Software

Dalcin L, Mitchell L, Brown J, Balay S, Farrell PE, Lange M, Gouarin L, Smith B, Knepley M, Karpeyev D, Zampini S, nocollier, Ham DA, Wells GN, celdred, Funke S, Wechsung F, Barral N, Ahmadia A, alejandrootero, Homolya M, Blechta J, Costamagna G, cnkin, Mather B, Cañardo Alastuey J, Guyer J, Ballarin Fet al., 2019, firedrakeproject/petsc4py: The Python interface to PETSc

firedrakeproject/petsc4py: The Python interface to PETSc

Software

Homolya M, Kirby R, Blechta J, Rognes ME, Ham DA, Logg A, cyruscycheng21, Wells GN, Gibson TH, Ring J, Yashchuk I, Schlömer N, Mitchell L, Li L, Bergersen A, Cotter C, Hale JS, Richardson C, Knepley M, Rathgeber F, mliertzer, Terrel ARet al., 2019, firedrakeproject/fiat: The Finite Element Automated Tabulator

firedrakeproject/fiat: The Finite Element Automated Tabulator

Software

Homolya M, Mitchell L, Barton SN, Ham D, Sun T, Gibson TH, Kirby R, cyruscycheng21, Blechta J, Habera M, Kärnä T, celdredet al., 2019, firedrakeproject/tsfc: The Two Stage Form Compiler

firedrakeproject/tsfc: The Two Stage Form Compiler

Software

Ham D, Homolya M, Lange M, Kirby R, Lawrence M, cyruscycheng21, celdredet al., 2019, FInAT/FInAT: a smarter library of finite elements

FInAT/FInAT: a smarter library of finite elements

Software

van Sebille E, Delandmeter P, Lange M, Rath W, Scutt Phillips J, Simnator101, pdnooteboom, Kronborg J, Thomas-95, Wichmann D, Tarshish N, Busecke J, Edwards R, Sterl M, Walbridge S, Kaandorp M, Hart-Davis, Miron P, Glissenaar I, Vettoretti G, Ham Det al., 2019, OceanParcels/parcels: Parcels v2.0.0: a Lagrangian Ocean Analysis tool for the petascale age

Parcels v2.0.0 builds on previous versions v2.0.0.beta and v2.0.0.beta2. It's the release which is fully described in the paper The Parcels v2.0 Lagrangian framework: new field interpolation schemes, by Delandmeter and van Sebille, 2019, GMD.The major changes of v2.0.0 compared to v1.1.1 are1) The order of arguments for Field interpolation has changed. This is now field[time, depth, lat, lon], which is consistent with the dimension order in which data is stored in the field.data numpy array (#503 and #276).2) The dt argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel are def kernelfunc(fieldset, particle, time) (#503)3) Interpolation for C-grids is now done in a fluxes framework, instead of a velocity framework (#499 and #494).4) Interpolation for B-grids (#573)5) Support for np.float64 accuracy of particle locations. This can be set using the lonlatdepth_dtype argument in ParticleSet construction. Default is np.float64 for C-grids, and np.float32 for all other grids (#552 and #557)Note also a number of other minor development:See v2.0.0.betaSee v2.0.0.beta2Unpinning netcdf4 1.4.1 (#597)Numerous bug fixes

Software

Ham D, Hargreaves JC, Kerkweg A, Roche DM, Sander Ret al., 2019, Editorial: The publication of geoscientific model developments v1.2, Geoscientific Model Development, Vol: 12, Pages: 2215-2225, ISSN: 1991-959X

. Version 1.1 of the editorial of Geoscientific ModelDevelopment (GMD), published in 2015 (GMD ExecutiveEditors, 2015), introduced clarifications to the policy on publication of source code and input data for papers publishedin the journal. Three years of working with this policy hasrevealed that it is necessary to be more precise in the requirements of the policy and in the narrowness of its exceptions. Furthermore, the previous policy was not specific inthe requirements for suitable archival locations. Best practice in code and data archiving continues to develop andis far from universal among scientists. This has resulted inmany manuscripts requiring improvement in code and dataavailability practice during the peer-review process. New researchers continually start their professional lives, and it remains the case that not all authors fully appreciate why codeand data publication is necessary. This editorial provides anopportunity to explain this in the context of GMD.The changes in the code and data policy are summarisedas follows:– The requirement for authors to publish source code, unless this is impossible for reasons beyond their control,is clarified. The minimum requirements are strengthened such that all model code must be made accessible during the review process to the editor and to potentially anonymous reviewers. Source code that can bemade public must be made public, and embargoes arenot permitted. Identical requirements exist for input dataand model evaluation data sets in the model experimentdescriptions.The scope of the code and data required to be publishedis described. In accordance with Copernicus’ own datapolicy, we now specifically strongly encourage all codeand data used in any analyses be made available. Thiswill have particular relevance for some model evaluation papers where editors may now strongly request thismaterial be made available.– The requirements of suitable archival locations are specified, along with the recomm

Journal article

Ham D, Homolya M, Lange M, Kirby R, Mitchell Let al., 2019, FInAT/FInAT: a smarter library of finite elements

This release is specifically created to document the version of FInAT used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Ham D, Sheppard K, Duvenhage B, de Buyl Pet al., 2019, bashtage/randomgen: Release 1.16.2

Updated Xoroshiro120 to use AUthor's latest parameterizationClosely synchronized with the version of randomgen being integrated into NumPy, including removing:random_raw, which have been moved to the individual basic RNGsrandom_uintegers, which can be replaced with randint.Added RandomState as a clone of NumPy's RandomState.Removed LegacyGenerator since this is nolonger neededFixed many small bugs, including in cffi and ctype interfaces

Software

Rathgeber F, Mitchell L, Luporini F, Ham D, Markall G, Homolya M, tj-sun, Barton N, Dearman H, Gibson T, gbts, Wechsung F, Kramer S, Funke SW, Shapero D, Kirby R, Lange M, Sato K, Russell F, Fangyi Zet al., 2019, OP2/PyOP2: Framework for performance-portable parallel computations on unstructured meshes

This release is specifically created to document the version of PyOP2 used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Gibson T, McRae ATT, Cotter C, Mitchell L, Ham Det al., 2019, Compatible finite element methods for geophysical flows: Automation and implementation using Firedrake, Publisher: Springer International Publishing, ISBN: 9783030239565

This book introduces recently developed mixed finite element methods for large-scale geophysical flows that preserve essential numerical properties for accurate simulations. The methods are presented using standard models of atmospheric flows and are implemented using the Firedrake finite element library. Examples guide the reader through problem formulation, discretisation, and automated implementation.The so-called “compatible” finite element methods possess key numerical properties which are crucial for real-world operational weather and climate prediction. The authors summarise the theory and practical implications of these methods for model problems, introducing the reader to the Firedrake package and providing open-source implementations for all the examples covered.Students and researchers with engineering, physics, mathematics, or computer science backgrounds will benefit from this book. Those readers who are less familiar with the topic are provided with an overview of geophysical fluid dynamics.

Book

Ham D, van Sebille E, Delandmeter P, Lange M, Rath W, Phillips JS, Kronborg J, Wichmann D, Edwards R, Sterl M, Walbridge S, Vettoretti Get al., 2018, OceanParcels/parcels: Parcels v2.0.0-beta: a Lagrangian Ocean Analysis tool for the petascale age

This is the beta-release of Parcels v2. Compared to the last v1.1.1 release, there are three important changes1) The order of arguments for Field interpolation has changed. This is now field[time, depth, lat, lon], which is consistent with the dimension order in which data is stored in the field.data numpy array (#503 and #276).2) The dt argument has been dropped from Kernel definitions, so that the only arguments allowed in a Kernel are def kernelfunc(fieldset, particle, time) (#503)3) Interpolation for C-grids is now done in a fluxes framework, instead of a velocity framework. The details of this will be presented in a manuscript, to be submitted soon (#499 and #494)Note that 1) and 2) above mean that Kernels written for Parcels v1 will break in this Parcels v2. If you're updating to this v2.0.0beta, therefore please update your custom Kernels.Other updates since v1.1.1 are:New FieldSet.from_xarray_dataset() method to directly read xarray.DataSet objects (#476)An optional argument in Field.show() to control which depth level to plot (#478)ParticleSet.from_field() now also implemented for Curvilinear Fields (#496)And numerous small bug fixes

Software

Logg A, Barton N, Wells G, Homolya M, Mitchell L, Ham D, Ring J, Blechta J, Rognes M, Bergersen A, Richardson C, Wechsung F, Li L, Gibson T, Hale J, Leoni M, Barton N, Baratta I, mardal K-A, Yashchuck I, Rathgeber F, Fauske VT, Markall G, Kirby R, Cotter C, Albert M, Liertzer M, Gregory A, Hake J, Maurini Cet al., 2018, firedrakeproject/ufl: The Unified Form Language

This release is specifically created to document the version of ufl used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Ham D, Dalcin L, Mitchell L, Brown J, Farrell P, Lange M, Gouarin L, Smith B, Balay S, Karpayev D, Zampini S, Knepley M, Wells G, Funke SW, Barral N, Manoel T, Ahmadia A, Homolya M, Blechta J, Hisch T, Alastuey JC, Guyer J, Ballarin F, Nilsen R, Soprana ABet al., 2018, firedrakeproject/petsc4py: The Python interface to PETSc

This release is specifically created to document the version of petsc4py used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Mitchell L, Ham D, Gibson T, Rathgeber F, Homolya M, McRae ATT, Fangyi Z, Cotter CJ, Lange M, Andrej J, Luporini F, Kirby R, Wechsung F, Paganini A, Poulin FJ, Roy T, Hawkes C, Salwa T, Kalogirou A, Karna T, Greaves T, tj-sun, Gregory A, Kramer S, Funke SW, Busing H, McBain G, Mueller EHet al., 2018, firedrakeproject/firedrake: an automated finite element system

This release is specifically created to document the version of firedrake used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Ham D, Luporini F, Mitchell L, Homolya M, Gibson TH, Barton N, Rathgeber F, Lange M, Markall G, tj-sun, Blechta J, Russell F, Engwer Cet al., 2018, coneoproject/COFFEE: A Compiler for Fast Expression Evaluation

This release is specifically created to document the version of COFFEE used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Homolya M, Kirby R, Blechta J, Rognes ME, Ham D, Logg A, Wells GN, Gibson TH, Ring J, Yaschuck I, Schlomer N, Mitchell L, Li L, Bergerson A, Cotter CJ, Richardson C, Knepley M, Hale JS, Rathberger F, Liertzer M, Terrel ARet al., 2018, firedrakeproject/fiat: The Finite Element Automated Tabulator

This release is specifically created to document the version of fiat used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

Homolya M, Mitchell L, Barton NS, Ham D, tj-sun, Gisbson TH, Kirby R, Blechta J, Karna Tet al., 2018, firedrakeproject/tsfc: The Two Stage Form Compiler

This release is specifically created to document the version of tsfc used in a particular set of experiments using Firedrake. Please do not cite this as a general source for Firedrake or any of its dependencies. Instead, refer to https://www.firedrakeproject.org/citing.html

Software

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: respub-action=search.html&id=00464536&limit=30&person=true