View: session overviewtalk overview

09:00 | Identifying the parameters of the heart: variational data assimilation in cardiac mechanics using dolfin-adjoint SPEAKER: Marie Rognes ABSTRACT. Every second for your entire life, your heart contracts. These contractions represent large deformations triggered by an electrical wave traversing the cardiac muscle tissue. Cardiac tissue is defined by muscle fibers layered in sheets, and is, as such, typically modelled as an orthotropic and heterogeneous hyperelastic medium. One such model is the incompressible Holzapfel and Ogden hyperelasticity model (Holzapfel and Ogden, 2009) describing large deformations and stresses in cardiac tissue via an energy density $\psi$ involving a number of material parameters $m$. These material parameters are largely unknown. In this talk, we will present our work on parameter identification in the context of cardiac mechanics in general and the Holzapfel-Ogden model in particular (Balaban, Sundnes, Alnæs and Rognes, 2014; Finsberg, Balaban, Sundnes, Odland, Rognes and Wall; 2015). Our approach is based on least-squares optimization of model output to stress measurements using the dolfin-adjoint framework (Farrell, Funke, Ham and Rognes, 2013). Variational problems based on the Holzapfel-Ogden energy density, as well as similar cardiac mechanics models, involve variational forms that are extraordinarily challenging to analyze, compile and evaluate in the FEniCS and dolfin-adjoint contexts. Special attention will be given to these computational challenges and associated optimizations in the form analysis and compilation pipeline. |

09:50 | Variational data assimilation for the Navier-Stokes equations in blood flow simulations SPEAKER: Simon Funke ABSTRACT. The advances in medical sensors technologies and the increase of computational resources have rendered new possibilities for the numerical modelling in biomedical applications. For example, patient-specific blood flow simulations through vessels provide new insights into the risks and causes of aneurysm ruptures. For many of these applications it is crucial to combine measurements with numerical simulations in order to obtain accurate results. In this talk we consider the problem of reconstructing the blood flow in a vessel from clinical velocity measurements. This problem is formulated as a PDE-constrained optimisation problem that minimises the dicsrepancy between measurements and the numerical model. Our model solves the time-dependent, incompressible Navier-Stokes equations. This makes the numerical solution computationally demanding and requires the development of fast, iterative solvers for both the Navier-Stokes equations and the optimization problem. We derive, implement and compare fast solver schemes using PETSc, FEniCS and dolfin-adjoint, and present numerical results. |

11:00 | Two dimensional Multi Domain Finite Element Calculations for linear molecules SPEAKER: Moritz Braun ABSTRACT. When using the method of finite element to calculate the properties of molecules the orbitals resulting from either the Hartree Fock or density functional approaches are of such a nature, that makes it difficult to use only one system of coordinates and one domain. In this contribution a calculation using multiple domains with different coordinate system and grids chosen so as to simplify the convergence of the wave functions for the archetypical linear molecule, namely the hydrogen molecular is described. We first discuss the subdivision into domains followed by an exposition of some details of the computation involving the framework FEniCS as well as purpose written python modules that implement boundary elements, which can have curved elements to provide for a smooth connection between the spherical Muffin-Tin regions and the polygonal region at larger distances from the atomic nuclei. This additional effort is still needed at this point, while the implementation of isoparametric elements for FEniCS is in the pipeline. Finally the results obtained by this calculation are given and the extension to multi-electron system of the linear type is discussed. |

11:25 | magnum.fe - FEM for micromagnetics SPEAKER: Claas Abert ABSTRACT. Micromagnetism is the theory of choice for the description of magnetization dynamics on the nanometer scale. In contrast to domain theory this semiclassical continuum theory is able to resolve the inner structure of magnetic domain walls and accurately describe switching processes. Depending on the physical effects taken into account, the micromagnetic model is defined in terms of multiple coupled partial differential equations. We present magnum.fe, a micromagnetic finite-element code based on FEniCS. Besides computational performance, one of the main design goals was to create a domain specific language for the description of micromagnetic problems. These problems might include complicated material stacks with different restrictions and interactions between regions. magnum.fe makes mostly use of the Python bindings of Dolfin with a few extensions written in C++. Coupling to external libraries such as BEM++ for the implementation of a hybrid FEM/BEM algorithm is done via the NumPy interface. |

11:50 | Using FEniCS With BEM++ For FEM/BEM Coupled Problems SPEAKER: Matthew Scroggs ABSTRACT. Boundary element simulations are frequently used within engineering to simulate problems in homogeneous unbounded domains, for example acoustic scattering from a car. However, in many realistic applications small localised inhomogeneities can appear. In these situations, it is necessary to couple FEM and BEM subproblems efficiently. In recent years we have developed at UCL a fast boundary element package called BEM++ which provides a simple Python interface based on a fast C++ computational kernel. In this talk we discuss efforts and first examples of interfacing BEM++ with FEniCS for coupled FEM/BEM simulations. The goal is to provide a simple but powerful Python based framework to setup and solve challenging FEM/BEM coupled problems in a variety of applications. |

13:45 | Automatic code generation for non-affine meshes SPEAKER: Andrew McRae ABSTRACT. Until last year, a limitation of FEniCS (and consequently Firedrake) was the lack of support for anything other than `flat' meshes built from simplices -- intervals, triangles and tetrahedrons. This limitation may be problematic if the domain cannot be represented exactly. A standard example is a flat triangulation of a sphere, for which formal convergence may be limited to second-order unless a higher-order representation of the mesh is used. A user may alternatively -- or additionally -- wish to use a mesh of non-simplex cells, for numerical or performance reasons. Unless the mesh is formed of `flat' simplices, so-called `geometric quantities' typically vary within a single mesh cell. This includes the Jacobian of the ``reference-to-physical" coordinate transformation (and hence its inverse and determinant), and various auxiliary quantities such as the normal vector used in facet integrals. When using the normal code-generation pipelines for FEniCS and Firedrake, these quantities are calculated directly from the coordinate field, and are assumed to be constant within each cell. However, when not using a mesh of flat simplices, these quantities should be evaluated separately at each quadrature point. At FEniCS '14, A.M. and Doru Bercea talked about Firedrake's partial support for non-simplex cells such as quadrilaterals, triangular prisms and hexahedrons, via its `extruded mesh' functionality. However, geometric quantities were approximated as being constant within a cell. We have since found that this limits formal convergence, in some cases to just first-order. Also at FEniCS '14, M.A. talked about UFLACS's native support for non-affine simplex meshes, though this capability was limited to non-Piola-mapped finite element spaces. This non-affine support used an elegant implementation in which geometric quantities are represented symbolically at the UFL level, and are naturally evaluated at each quadrature point where required. In this talk, I will review the implementation of symbolic geometry in UFL, and talk about what was needed to obtain relative feature-completeness. This includes the addition of symbolic representation of Piola mappings, support for `mixed' finite elements, and the addition of reference-derivative objects. This work has resulted in full support for non-affine meshes in Firedrake via a modified FFC `quadrature' backend, and in FEniCS via the FFC UFLACS backend. |

14:10 | Quadrilateral mesh support in Firedrake SPEAKER: Miklós Homolya ABSTRACT. We have recently implemented full support for unstructured quadrilateral meshes within Firedrake. This can be combined with the existing extruded mesh functionality to provide support for semi-structured hexahedral meshes. I will talk about the numbering of the degrees of freedom in a globally consistent way for higher-order elements, H(div) and H(curl) conforming elements, and facet integrals. This is achieved using a novel, parallel version of the serial algorithm employed by deal.II to assign globally consistent edge orientations to a quadrilateral mesh. Support for quadrilateral meshes also required finite element function spaces for quadrilaterals and hexahedra, which was already implemented for extrusion, and support for non-affine cells, which is discussed in a separate talk. |

14:35 | Modeling density-driven coastal ocean flows SPEAKER: Tuomas Kärnä ABSTRACT. Simulating coastal ocean flows poses several numerical challenges: Relevant length scales vary from roughly 100 km in the coastal sea to 50 m in estuaries. Time scales range from years to minutes. Capturing all the scales typically requires an unstructured mesh and hybrid (split) time integration schemes. Essential numerical properties of coastal ocean models include strict mass conservation, positivity of tracers, baroclinic stability and low numerical diffusivity. Tracer advection must be designed carefully in order to capture sharp density gradients that occur between saline and fresh water - an essential feature of strongly stratified or salt wedge estuaries. During the past 20 years several structured grid finite volume models have been developed and successfully applied to coastal flows; their applicability is however limited due to the requirement of a structured mesh. Unstructured coastal models do exist, but they tend to be diffusive and/or computationally expensive. We present first results of a novel baroclinic coastal ocean model implemented on the Firedrake platform. The automated finite element framework facilitates rapid model development and unprecedented flexibility in terms of numerical methods and code optimization. The model is based on a 2D unstructured mesh extruded in the vertical direction to allow splitting horizontal and vertical dynamics. We compare different finite element families and time discretization schemes in idealized yet demanding baroclinic test cases. In the horizontal direction we use element families known to be stable for rotating shallow water flows (P1DG-P2 or mimetic elements). Time integration is carried out with explicit strong stability preserving schemes. Our first results suggest that it is possible to construct coastal ocean models that satisfy all the necessary design criteria. Computational cost, however, still remains an issue. |

15:00 | Compatible finite element methods for numerical weather prediction with FEniCS/Firedrake SPEAKER: Colin Cotter ABSTRACT. The challenge of designing numerical schemes for global scale numerical weather prediction and ocean modelling is to make sure that numerical errors from the slow balanced part of the dynamics that we recognise as weather/global circulation do not project onto the the fast wave modes. Failure to do this results in models that become dominated by noise and are unusable. Traditionally, this issue has been handled by staggered grids combined with careful treatment of the Coriolis operator; a connection with this approach and mimetic methods has recently been exposed [1]. Recently, issues of parallel scalability has led to the need for consistent approximations on pseudo-uniform grids made of triangles or non-orthogonal quadrilaterals. Additionally, there is interest in higher-order approximations, mesh adaptivity and mesh movement, and, in the ocean, meshes that conform to coastline and bathymetry. This has led to the exploration of compatible finite element methods (i.e., methods arising from a discrete de Rham complex) for numerical weather prediction and ocean model development since they expose the same required mimetic properties of the staggered finite difference schemes but in a more general context [2,3]. The FEniCS/Firedrake toolchain provides an excellent setting to explore and implement these methods since a wide range of H(div) and H(curl) elements are supported; the extruded mesh capability and tensor-product finite elements provided in Firedrake are particularly crucial. In this talk we will introduce the basic ideas behind this approach, describe some of the challenges in implementing it in full generality in 3D atmosphere and ocean models, and show our latest results in this area. [1] Thuburn, J., and C. J. Cotter. "A framework for mimetic discretization of the rotating shallow-water equations on arbitrary polygonal grids." SIAM Journal on Scientific Computing 34.3 (2012): B203-B225. [2] Cotter, C. J., and J. Shipton. "Mixed finite elements for numerical weather prediction." Journal of Computational Physics 231.21 (2012): 7076-7091. [3] Cotter, C. J., and J. Thuburn. "A finite element exterior calculus framework for the rotating shallow-water equations." Journal of Computational Physics 257 (2014): 1506-1526. |

16:10 | Implementing mathematics: domain specific languages and automated computing SPEAKER: Anders Logg ABSTRACT. Computer simulation is today an indispensable tool for scientists and engineers in modeling, understanding and predicting nature. Having emerged as a complement to theory and experimentation, it is becoming increasingly more important as a result of advancements in hardware, software and algorithms. However, in spite of its success and ever increasing importance, simulation software is still largely written by hand, following a primitive, outdated and unsustainable pipeline: first express a model in the language of mathematics, then translate this model - using pen and paper - to a complex system of data structures and algorithms, then express those data structures and algorithms in a programming language. Even if those algorithms can today be expressed in high level programming languages, the pipeline still involves the translation (obfuscation) of the mathematical model to computer code. In this talk, I will argue that we should not strive to translate mathematical models or methods to computer code. Instead, we should strive to develop exact computer representations of mathematics that make the original mathematical model or method native to the mathematical / programming language. I will highlight three examples of ongoing work in this direction. First, the FEniCS Project, an ongoing effort to develop a domain specific language for expression and solution of partial differential equations; second, an application of the domain specific language of FEniCS for expressing the Einstein-Vlasov equations and computing the mass distribution of galaxies; third, a new effort to implement the abstractions of exterior calculus in a functional programming language (Haskell) to express and thereby compute all elements of the periodic table of finite elements. Acknowledgments: This talk is based on joint work with many people, in particular the developers of the FEniCS Project (http://fenicsproject.org); Håkan Andreasson and Ellery Ames (Einstein-Vlasov); Mary Sheeran, Patrik Jansson, Irene Lobo Valbuena, Simon Pfreundschuh and Andreas Rosén (functional finite element exterior calculus); and Douglas Arnold (periodic table of the finite elements). |