5 research outputs found
Optimal-transport-based mesh adaptivity on the plane and sphere using finite elements
In moving mesh methods, the underlying mesh is dynamically adapted without
changing the connectivity of the mesh. We specifically consider the generation
of meshes which are adapted to a scalar monitor function through
equidistribution. Together with an optimal transport condition, this leads to a
Monge-Amp\`ere equation for a scalar mesh potential. We adapt an existing
finite element scheme for the standard Monge-Amp\`ere equation to this mesh
generation problem; this is a mixed finite element scheme, in which an extra
discrete variable is introduced to represent the Hessian matrix of second
derivatives. The problem we consider has additional nonlinearities over the
basic Monge-Amp\`ere equation due to the implicit dependence of the monitor
function on the resulting mesh. We also derive the equivalent
Monge-Amp\`ere-like equation for generating meshes on the sphere. The finite
element scheme is extended to the sphere, and we provide numerical examples.
All numerical experiments are performed using the open-source finite element
framework Firedrake.Comment: Updated following reviews, 36 page
The scaling and skewness of optimally transported meshes on the sphere
In the context of numerical solution of PDEs, dynamic mesh redistribution
methods (r-adaptive methods) are an important procedure for increasing the
resolution in regions of interest, without modifying the connectivity of the
mesh. Key to the success of these methods is that the mesh should be
sufficiently refined (locally) and flexible in order to resolve evolving
solution features, but at the same time not introduce errors through skewness
and lack of regularity. Some state-of-the-art methods are bottom-up in that
they attempt to prescribe both the local cell size and the alignment to
features of the solution. However, the resulting problem is overdetermined,
necessitating a compromise between these conflicting requirements. An
alternative approach, described in this paper, is to prescribe only the local
cell size and augment this an optimal transport condition to provide global
regularity. This leads to a robust and flexible algorithm for generating meshes
fitted to an evolving solution, with minimal need for tuning parameters. Of
particular interest for geophysical modelling are meshes constructed on the
surface of the sphere. The purpose of this paper is to demonstrate that meshes
generated on the sphere using this optimal transport approach have good
a-priori regularity and that the meshes produced are naturally aligned to
various simple features. It is further shown that the sphere's intrinsic
curvature leads to more regular meshes than the plane. In addition to these
general results, we provide a wide range of examples relevant to practical
applications, to showcase the behaviour of optimally transported meshes on the
sphere. These range from axisymmetric cases that can be solved analytically to
more general examples that are tackled numerically. Evaluation of the singular
values and singular vectors of the mesh transformation provides a quantitative
measure of the mesh aniso...Comment: Updated following reviewer comment
A structure-exploiting numbering algorithm for finite elements on extruded meshes, and its performance evaluation in Firedrake
We present a generic algorithm for numbering and then efficiently iterating over the data values attached to an extruded mesh. An extruded mesh is formed by replicating an existing mesh, assumed to be unstructured, to form layers of prismatic cells. Applications of extruded meshes include, but are not limited to, the representation of three-dimensional high aspect ratio domains employed by geophysical finite element simulations. These meshes are structured in the extruded direction. The algorithm presented here exploits this structure to avoid the performance penalty traditionally associated with unstructured meshes. We evaluate the implementation of this algorithm in the Firedrake finite element system on a range of low compute intensity operations which constitute worst cases for data layout performance exploration. The experiments show that having structure along the extruded direction enables the cost of the indirect data accesses to be amortized after 10–20 layers as long as the underlying mesh is well ordered. We characterize the resulting spatial and temporal reuse in a representative set of both continuous-Galerkin and discontinuous-Galerkin discretizations. On meshes with realistic numbers of layers the performance achieved is between 70 and 90 % of a theoretical hardware-specific limit
Optimal-transport-based mesh adaptivity on the plane and sphere using finite elements
In moving mesh methods, the underlying mesh is dynamically adapted without changing the connectivity of the mesh. We specifically consider the generation of meshes which are adapted to a scalar monitor function through equidistribution. Together with an optimal-transport condition, this leads to a Monge-Amp ere equation for a scalar mesh potential. We adapt an existing finite element scheme for the standard Monge-Amp ere equation to this mesh generation problem; this is a mixed finite element scheme, in which an extra discrete variable is introduced to represent the Hessian matrix of second derivatives. The problem we consider has additional nonlinearities over the basic Monge-Amp ere equation due to the implicit dependence of the monitor function on the resulting mesh. We also derive an equivalent Monge-Amp ere-like equation for generating meshes on the sphere. The finite element scheme is extended to the sphere, and we provide numerical examples. All numerical experiments are performed using the open-source finite element framework Firedrake.</p
Firedrake: automating the finite element method by composing abstractions
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