15,824 research outputs found
Tips for implementing multigrid methods on domains containing holes
As part of our development of a computer code to perform 3D `constrained
evolution' of Einstein's equations in 3+1 form, we discuss issues regarding the
efficient solution of elliptic equations on domains containing holes (i.e.,
excised regions), via the multigrid method. We consider as a test case the
Poisson equation with a nonlinear term added, as a means of illustrating the
principles involved, and move to a "real world" 3-dimensional problem which is
the solution of the conformally flat Hamiltonian constraint with Dirichlet and
Robin boundary conditions. Using our vertex-centered multigrid code, we
demonstrate globally second-order-accurate solutions of elliptic equations over
domains containing holes, in two and three spatial dimensions. Keys to the
success of this method are the choice of the restriction operator near the
holes and definition of the location of the inner boundary. In some cases (e.g.
two holes in two dimensions), more and more smoothing may be required as the
mesh spacing decreases to zero; however for the resolutions currently of
interest to many numerical relativists, it is feasible to maintain second order
convergence by concentrating smoothing (spatially) where it is needed most.
This paper, and our publicly available source code, are intended to serve as
semi-pedagogical guides for those who may wish to implement similar schemes.Comment: 18 pages, 11 figures, LaTeX. Added clarifications and references re.
scope of paper, mathematical foundations, relevance of work. Accepted for
publication in Classical & Quantum Gravit
An efficient parallel immersed boundary algorithm using a pseudo-compressible fluid solver
We propose an efficient algorithm for the immersed boundary method on
distributed-memory architectures, with the computational complexity of a
completely explicit method and excellent parallel scaling. The algorithm
utilizes the pseudo-compressibility method recently proposed by Guermond and
Minev [Comptes Rendus Mathematique, 348:581-585, 2010] that uses a directional
splitting strategy to discretize the incompressible Navier-Stokes equations,
thereby reducing the linear systems to a series of one-dimensional tridiagonal
systems. We perform numerical simulations of several fluid-structure
interaction problems in two and three dimensions and study the accuracy and
convergence rates of the proposed algorithm. For these problems, we compare the
proposed algorithm against other second-order projection-based fluid solvers.
Lastly, the strong and weak scaling properties of the proposed algorithm are
investigated
Deflation for semismooth equations
Variational inequalities can in general support distinct solutions. In this
paper we study an algorithm for computing distinct solutions of a variational
inequality, without varying the initial guess supplied to the solver. The
central idea is the combination of a semismooth Newton method with a deflation
operator that eliminates known solutions from consideration. Given one root of
a semismooth residual, deflation constructs a new problem for which a
semismooth Newton method will not converge to the known root, even from the
same initial guess. This enables the discovery of other roots. We prove the
effectiveness of the deflation technique under the same assumptions that
guarantee locally superlinear convergence of a semismooth Newton method. We
demonstrate its utility on various finite- and infinite-dimensional examples
drawn from constrained optimization, game theory, economics and solid
mechanics.Comment: 24 pages, 3 figure
Sparse Automatic Differentiation for Large-Scale Computations Using Abstract Elementary Algebra
Most numerical solvers and libraries nowadays are implemented to use
mathematical models created with language-specific built-in data types (e.g.
real in Fortran or double in C) and their respective elementary algebra
implementations. However, built-in elementary algebra typically has limited
functionality and often restricts flexibility of mathematical models and
analysis types that can be applied to those models. To overcome this
limitation, a number of domain-specific languages with more feature-rich
built-in data types have been proposed. In this paper, we argue that if
numerical libraries and solvers are designed to use abstract elementary algebra
rather than language-specific built-in algebra, modern mainstream languages can
be as effective as any domain-specific language. We illustrate our ideas using
the example of sparse Jacobian matrix computation. We implement an automatic
differentiation method that takes advantage of sparse system structures and is
straightforward to parallelize in MPI setting. Furthermore, we show that the
computational cost scales linearly with the size of the system.Comment: Submitted to ACM Transactions on Mathematical Softwar
Shenfun -- automating the spectral Galerkin method
With the shenfun Python module (github.com/spectralDNS/shenfun) an effort is
made towards automating the implementation of the spectral Galerkin method for
simple tensor product domains, consisting of (currently) one non-periodic and
any number of periodic directions. The user interface to shenfun is
intentionally made very similar to FEniCS (fenicsproject.org). Partial
Differential Equations are represented through weak variational forms and
solved using efficient direct solvers where available. MPI decomposition is
achieved through the {mpi4py-fft} module (bitbucket.org/mpi4py/mpi4py-fft), and
all developed solver may, with no additional effort, be run on supercomputers
using thousands of processors. Complete solvers are shown for the linear
Poisson and biharmonic problems, as well as the nonlinear and time-dependent
Ginzburg-Landau equation.Comment: Presented at MekIT'17, the 9th National Conference on Computational
Mechanic
A matrix-free high-order discontinuous Galerkin compressible Navier-Stokes solver: A performance comparison of compressible and incompressible formulations for turbulent incompressible flows
Both compressible and incompressible Navier-Stokes solvers can be used and
are used to solve incompressible turbulent flow problems. In the compressible
case, the Mach number is then considered as a solver parameter that is set to a
small value, , in order to mimic incompressible flows.
This strategy is widely used for high-order discontinuous Galerkin
discretizations of the compressible Navier-Stokes equations. The present work
raises the question regarding the computational efficiency of compressible DG
solvers as compared to a genuinely incompressible formulation. Our
contributions to the state-of-the-art are twofold: Firstly, we present a
high-performance discontinuous Galerkin solver for the compressible
Navier-Stokes equations based on a highly efficient matrix-free implementation
that targets modern cache-based multicore architectures. The performance
results presented in this work focus on the node-level performance and our
results suggest that there is great potential for further performance
improvements for current state-of-the-art discontinuous Galerkin
implementations of the compressible Navier-Stokes equations. Secondly, this
compressible Navier-Stokes solver is put into perspective by comparing it to an
incompressible DG solver that uses the same matrix-free implementation. We
discuss algorithmic differences between both solution strategies and present an
in-depth numerical investigation of the performance. The considered benchmark
test cases are the three-dimensional Taylor-Green vortex problem as a
representative of transitional flows and the turbulent channel flow problem as
a representative of wall-bounded turbulent flows
- …