Searcharxiv⌕ Search

arXiv subjects

Anders Logg

Publications and source records attributed to Anders Logg.

At least 37 records · Page 2Linked to original sources

An Adaptive Finite Element Splitting Method for the Incompressible Navier-Stokes Equations

We present an adaptive finite element method for the incompressible Navier--Stokes equations based on a standard splitting scheme (the incremental pressure correction scheme). The presented method combines the efficiency and simplicity of a splitting method with the powerful framework offered by the finite element method for error analysis and adaptivity. An a posteriori error estimate is derived which expresses the error in a goal functional of interest as a sum of contributions from spatial discretization, time discretization and a term that measures the deviation of the splitting scheme from a pure Galerkin scheme (the computational error). Numerical examples are presented which demonstrate the performance of the adaptive algorithm and high quality efficiency indices. It is further demonstrated that the computational error of the Navier--Stokes momentum equation is linear in the size of the time step while the computational error of the continuity equation is quadratic in the size of the time step.

math.NA↗

Multiadaptive Galerkin Methods for ODEs III: A Priori Error Estimates

The multiadaptive continuous/discontinuous Galerkin methods mcG(q) and mdG(q) for the numerical solution of initial value problems for ordinary differential equations are based on piecewise polynomial approximation of degree q on partitions in time with time steps which may vary for different components of the computed solution. In this paper, we prove general order a priori error estimates for the mcG(q) and mdG(q) methods. To prove the error estimates, we represent the error in terms of a discrete dual solution and the residual of an interpolant of the exact solution. The estimates then follow from interpolation estimates, together with stability estimates for the discrete dual solution.

math.NA↗

Optimizing the Evaluation of Finite Element Matrices

Assembling stiffness matrices represents a significant cost in many finite element computations. We address the question of optimizing the evaluation of these matrices. By finding redundant computations, we are able to significantly reduce the cost of building local stiffness matrices for the Laplace operator and for the trilinear form for Navier-Stokes. For the Laplace operator in two space dimensions, we have developed a heuristic graph algorithm that searches for such redundancies and generates code for computing the local stiffness matrices. Up to cubics, we are able to build the stiffness matrix on any triangle in less than one multiply-add pair per entry. Up to sixth degree, we can do it in less than about two. Preliminary low-degree results for Poisson and Navier-Stokes operators in three dimensions are also promising.

math.NA↗

Topological Optimization of the Evaluation of Finite Element Matrices

We present a topological framework for finding low-flop algorithms for evaluating element stiffness matrices associated with multilinear forms for finite element methods posed over straight-sided affine domains. This framework relies on phrasing the computation on each element as the contraction of each collection of reference element tensors with an element-specific geometric tensor. We then present a new concept of complexity-reducing relations that serve as distance relations between these reference element tensors. This notion sets up a graph-theoretic context in which we may find an optimized algorithm by computing a minimum spanning tree. We present experimental results for some common multilinear forms showing significant reductions in operation count and also discuss some efficient algorithms for building the graph we use for the optimization.

math.NA↗

Efficient Assembly of H(div) and H(curl) Conforming Finite Elements

In this paper, we discuss how to efficiently evaluate and assemble general finite element variational forms on H(div) and H(curl). The proposed strategy relies on a decomposition of the element tensor into a precomputable reference tensor and a mesh-dependent geometry tensor. Two key points must then be considered: the appropriate mapping of basis functions from a reference element, and the orientation of geometrical entities. To address these issues, we extend here a previously presented representation theorem for affinely mapped elements to Piola-mapped elements. We also discuss a simple numbering strategy that removes the need to contend with directions of facet normals and tangents. The result is an automated, efficient, and easy-to-use implementation that allows a user to specify finite element variational forms on H(div) and H(curl) in close to mathematical notation.

math.NA↗

Efficient Compilation of a Class of Variational Forms

We investigate the compilation of general multilinear variational forms over affines simplices and prove a representation theorem for the representation of the element tensor (element stiffness matrix) as the contraction of a constant reference tensor and a geometry tensor that accounts for geometry and variable coefficients. Based on this representation theorem, we design an algorithm for efficient pretabulation of the reference tensor. The new algorithm has been implemented in the FEniCS Form Compiler (FFC) and improves on a previous loop-based implementation by several orders of magnitude, thus shortening compile-times and development cycles for users of FFC.

math.NA↗

Benchmarking Domain-Specific Compiler Optimizations for Variational Forms

We examine the effect of using complexity-reducing relations to generate optimized code for the evaluation of finite element variational forms. The optimizations are implemented in a prototype code named FErari, which has been integrated as an optimizing backend to the FEniCS Form Compiler, FFC. In some cases, FErari provides very little speedup, while in other cases, we obtain reduced local operation counts of a factor of as much as 7.9 and speedups for the assembly of the global sparse matrix of as much as a factor of 2.8.

math.NA↗

Algorithms and Data Structures for Multi-Adaptive Time-Stepping

Multi-adaptive Galerkin methods are extensions of the standard continuous and discontinuous Galerkin methods for the numerical solution of initial value problems for ordinary or partial differential equations. In particular, the multi-adaptive methods allow individual and adaptive time steps to be used for different components or in different regions of space. We present algorithms for efficient multi-adaptive time-stepping, including the recursive construction of time slabs and adaptive time step selection. We also present data structures for efficient storage and interpolation of the multi-adaptive solution. The efficiency of the proposed algorithms and data structures is demonstrated for a series of benchmark problems.

math.NA↗

Unified Framework for Finite Element Assembly

At the heart of any finite element simulation is the assembly of matrices and vectors from discrete variational forms. We propose a general interface between problem-specific and general-purpose components of finite element programs. This interface is called Unified Form-assembly Code (UFC). A wide range of finite element problems is covered, including mixed finite elements and discontinuous Galerkin methods. We discuss how the UFC interface enables implementations of variational form evaluation to be independent of mesh and linear algebra components. UFC does not depend on any external libraries, and is released into the public domain.

math.NA↗

Efficient Representation of Computational Meshes

We present a simple yet general and efficient approach to representation of computational meshes. Meshes are represented as sets of mesh entities of different topological dimensions and their incidence relations. We discuss a straightforward and efficient storage scheme for such mesh representations and efficient algorithms for computation of arbitrary incidence relations from a given initial and minimal set of incidence relations. The general representation may harbor a wide range of computational meshes, and may also be specialized to provide simple user interfaces for particular meshes, including simplicial meshes in one, two and three space dimensions where the mesh entities correspond to vertices, edges, faces and cells. It is elaborated on how the proposed concepts and data structures may be used for assembly of variational forms in parallel over distributed finite element meshes. Benchmarks are presented to demonstrate efficiency in terms of CPU time and memory usage.

math.NA↗

Multi-Adaptive Galerkin Methods for ODEs I

We present multi-adaptive versions of the standard continuous and discontinuous Galerkin methods for ODEs. Taking adaptivity one step further, we allow for individual time-steps, order and quadrature, so that in particular each individual component has its own time-step sequence. This paper contains a description of the methods, an analysis of their basic properties, and a posteriori error analysis. In the accompanying paper [A. Logg, SIAM J. Sci. Comput., 27 (2003), pp. 741-758], we present adaptive algorithms for time-stepping and global error control based on the results of the current paper.

math.NA↗

Multi-Adaptive Time-Integration

Time integration of ODEs or time-dependent PDEs with required resolution of the fastest time scales of the system, can be very costly if the system exhibits multiple time scales of different magnitudes. If the different time scales are localised to different components, corresponding to localisation in space for a PDE, efficient time integration thus requires that we use different time steps for different components. We present an overview of the multi-adaptive Galerkin methods mcG(q) and mdG(q) recently introduced in a series of papers by the author. In these methods, the time step sequence is selected individually and adaptively for each component, based on an a posteriori error estimate of the global error. The multi-adaptive methods require the solution of large systems of nonlinear algebraic equations which are solved using explicit-type iterative solvers (fixed point iteration). If the system is stiff, these iterations may fail to converge, corresponding to the well-known fact that standard explicit methods are inefficient for stiff systems. To resolve this problem, we present an adaptive strategy for explicit time integration of stiff ODEs, in which the explicit method is adaptively stabilised by a small number of small, stabilising time steps.

math.NA↗

Multi-Adaptive Galerkin Methods for ODEs II: Implementation and Applications

Continuing the discussion of the multi-adaptive Galerkin methods mcG(q) and mdG(q) presented in [A. Logg, SIAM J. Sci. Comput., 24 (2003), pp. 1879-1902], we present adaptive algorithms for global error control, iterative solution methods for the discrete equations, features of the implementation Tanganyika, and computational results for a variety of ODEs. Examples include the Lorenz system, the solar system, and a number of time-dependent PDEs.

math.NA↗

Explicit Time-Stepping for Stiff ODEs

We present a new strategy for solving stiff ODEs with explicit methods. By adaptively taking a small number of stabilizing small explicit time steps when necessary, a stiff ODE system can be stabilized enough to allow for time steps much larger than what is indicated by classical stability analysis. For many stiff problems the cost of the stabilizing small time steps is small, so the improvement is large. We illustrate the technique on a number of well-known stiff test problems.

math.NA↗

Computational Modeling of Dynamical Systems

In this short note, we discuss the basic approach to computational modeling of dynamical systems. If a dynamical system contains multiple time scales, ranging from very fast to slow, computational solution of the dynamical system can be very costly. By resolving the fast time scales in a short time simulation, a model for the effect of the small time scale variation on large time scales can be determined, making solution possible on a long time interval. This process of computational modeling can be completely automated. Two examples are presented, including a simple model problem oscillating at a time scale of 1e-9 computed over the time interval [0,100], and a lattice consisting of large and small point masses.

math.NA↗

Automated goal-oriented error control I: stationary variational problems

This article presents a general and novel approach to the automation of goal-oriented error control in the solution of nonlinear stationary finite element variational problems. The approach is based on automated linearization to obtain the linearized dual problem, automated derivation and evaluation of a posteriori error estimates, and automated adaptive mesh refinement to control the error in a given goal functional to within a given tolerance. Numerical examples representing a variety of different discretizations of linear and nonlinear partial differential equations are presented, including Poisson's equation, a mixed formulation of linear elasticity, and the incompressible Navier-Stokes equations.

math.NA↗

Automating the Finite Element Method

The finite element method can be viewed as a machine that automates the discretization of differential equations, taking as input a variational problem, a finite element and a mesh, and producing as output a system of discrete equations. However, the generality of the framework provided by the finite element method is seldom reflected in implementations (realizations), which are often specialized and can handle only a small set of variational problems and finite elements (but are typically parametrized over the choice of mesh). This paper reviews ongoing research in the direction of a complete automation of the finite element method. In particular, this work discusses algorithms for the efficient and automatic computation of a system of discrete equations from a given variational problem, finite element and mesh. It is demonstrated that by automatically generating and compiling efficient low-level code, it is possible to parametrize a finite element code over variational problem and finite element in addition to the mesh.

math.NA↗

A compiler for variational forms

As a key step towards a complete automation of the finite element method, we present a new algorithm for automatic and efficient evaluation of multilinear variational forms. The algorithm has been implemented in the form of a compiler, the FEniCS Form Compiler FFC. We present benchmark results for a series of standard variational forms, including the incompressible Navier-Stokes equations and linear elasticity. The speedup compared to the standard quadrature-based approach is impressive; in some cases the speedup is as large as a factor 1000.

math.NA↗