7 research outputs found

    Spud 1.0: generalising and automating the user interfaces of scientific computer models

    No full text
    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. <br><br> 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

    Shingle 2.0: generalising self-consistent and automated domain discretisation for multi-scale geophysical models

    Full text link
    The approaches taken to describe and develop spatial discretisations of the domains required for geophysical simulation models are commonly ad hoc, model or application specific and under-documented. This is particularly acute for simulation models that are flexible in their use of multi-scale, anisotropic, fully unstructured meshes where a relatively large number of heterogeneous parameters are required to constrain their full description. As a consequence, it can be difficult to reproduce simulations, ensure a provenance in model data handling and initialisation, and a challenge to conduct model intercomparisons rigorously. This paper takes a novel approach to spatial discretisation, considering it much like a numerical simulation model problem of its own. It introduces a generalised, extensible, self-documenting approach to carefully describe, and necessarily fully, the constraints over the heterogeneous parameter space that determine how a domain is spatially discretised. This additionally provides a method to accurately record these constraints, using high-level natural language based abstractions, that enables full accounts of provenance, sharing and distribution. Together with this description, a generalised consistent approach to unstructured mesh generation for geophysical models is developed, that is automated, robust and repeatable, quick-to-draft, rigorously verified and consistent to the source data throughout. This interprets the description above to execute a self-consistent spatial discretisation process, which is automatically validated to expected discrete characteristics and metrics.Comment: 18 pages, 10 figures, 1 table. Submitted for publication and under revie

    Multilayered abstractions for partial differential equations

    Get PDF
    How do we build maintainable, robust, and performance-portable scientific applications? This thesis argues that the answer to this software engineering question in the context of the finite element method is through the use of layers of Domain-Specific Languages (DSLs) to separate the various concerns in the engineering of such codes. Performance-portable software achieves high performance on multiple diverse hardware platforms without source code changes. We demonstrate that finite element solvers written in a low-level language are not performance-portable, and therefore code must be specialised to the target architecture by a code generation framework. A prototype compiler for finite element variational forms that generates CUDA code is presented, and is used to explore how good performance on many-core platforms in automatically-generated finite element applications can be achieved. The differing code generation requirements for multi- and many-core platforms motivates the design of an additional abstraction, called PyOP2, that enables unstructured mesh applications to be performance-portable. We present a runtime code generation framework comprised of the Unified Form Language (UFL), the FEniCS Form Compiler, and PyOP2. This toolchain separates the succinct expression of a numerical method from the selection and generation of efficient code for local assembly. This is further decoupled from the selection of data formats and algorithms for efficient parallel implementation on a specific target architecture. We establish the successful separation of these concerns by demonstrating the performance-portability of code generated from a single high-level source code written in UFL across sequential C, CUDA, MPI and OpenMP targets. The performance of the generated code exceeds the performance of comparable alternative toolchains on multi-core architectures.Open Acces

    Modelling the transient drainage of liquid in foams

    No full text
    Froth flotation is the largest tonnage separation process worldwide and is used for paper deinking, water purification and, particularly, mineral separation. One of the key aspects of the performance of flotation cells is the behaviour of the liquid within the froth, as it is crucial to the purity of the product and a major influence on the overall recovery. Nonlinearities in models for liquid motion in the froth make them complex to solve and existing numerical solutions have been in two dimensions at most. In order to predict the performance of industrial flotation cell designs, a three-dimensional solution for these equations is desirable. Moreover, the understanding of the process would be enhanced if a transient model were used to predict the dynamics of foam drainage. In this work, the equations for the liquid drainage have been rearranged in order to make them analogous to a compressible version of the Navier-Stokes equations, coupled to an equation of state. A model for predicting the movement of the flowing foam has also been developed, which is able to solve for the foam velocity in two and three dimensions. This has allowed the transient behaviour of liquid in flotation foams to be modelled using Fluidity, a general purpose finite element method code that allows simulations to be carried out on unstructured adaptive meshes. This is an important feature for improving the computational cost of modelling these systems, as there are boundary layers present in the process, whose size is independent of the scale of the flotation system being modelled. These models have allowed, for the first time, to carry out numerical investigations of drainage for arbitrary flotation tank geometries in up to three dimensions, and have been verified against analytical solutions and compared to laboratory scale experiments with satisfactory agreement

    Modelling multiple-material flows on adaptive unstructured meshes.

    No full text
    The ability to distinguish between regions with different material properties is essential when numerically modelling many physical systems. Using a dual control volume mesh that avoids the problem of corner coupling, the HyperC face value scheme is extended to multiple dimensions and applied as a device for material advection on unstructured simplex meshes. The new scheme performs well at maintaining sharp interfaces between materials and is shown to produce small advection errors, comparable to those of standard material advection methods on structured meshes. To further minimise numerical diffusion of material interfaces a total variation bounded flux limiter, UltraC, is defined using a normalised variable diagram. Combining the material tracking scheme with dynamically adapting meshes, the use of a minimally dissipative bounded projection algorithm for interpolating fields from the old mesh to the new, optimised mesh is demonstrated that conserves the mass of each material. More generally, material conservation during the advection process is ensured through the coupling of the material tracking scheme to the momentum and mass equations. A new element pair for the discretisation of velocity and pressure is proposed that maintains the stability of the system while conserving the mass of materials. When modelling multiple materials the use of independent advection algorithms for each material can lead to the problem of non-physical material overlap. A novel coupled flux limiter is developed to overcome this problem. This automatically generalises to arbitrary numbers of materials. Using the fully coupled (and rigorously verified) multi-material model, several geophysically relevant simulations are presented examining the generation of waves by landslides. The model is validated by demonstrating close agreement between model predictions and experimental results of wave generation, propagation and run-up. The simulations also showcase the powerful capabilities of an unstructured, adaptive multi-material model in real world scenarios
    corecore