Diffpack

Last updated
Diffpack
Initial release1991
Written inC++, Python, Perl
Operating system Linux, Unix, Mac OS X, Windows
Type Scientific simulation software
License proprietary (until 1997 public domain software)
Website www.diffpack.de

Diffpack is a programming environment for developing simulation software for scientific and engineering applications. Diffpack has its main focus on the numerical modeling and solution of partial differential equations, in particular by the finite element method and the finite difference method (finite volume method is also supported to some extent).

Contents

Features

The Diffpack software consists of a family of C++ libraries for general tasks related to numerical solution of partial differential equations, plus a set of Perl and Python scripts that ease the development of simulation programs and problem solving environments for scientific or engineering research. The package was one of the first to explore object-oriented programming and the C++ language for advanced, high-performance computing.

History

Diffpack has been actively developed since 1991, with main contributions from University of Oslo and the research institutes SINTEF and Simula Research Laboratory. The initiators and main contributors to Diffpack in the 1990s were Hans Petter Langtangen and Are Magnus Bruaset. Version 1.0 of the software was released in the public domain in 1995, with a new version in 1997.

The Norwegian company Numerical Objects AS took over the rights of Diffpack 1997 and commercialized the product. In 2003, the German company inuTech GmbH purchased Diffpack and is now the principal maintainer and developer of the software.

Adoption

Past and present Diffpack customers include AREVA NP, Air Force Research Laboratory, Robert Bosch GmbH, Cambridge University, Canon, CEA, CalCom, DaimlerChrysler, Furukawa, Harvard University, Intel, Mitsubishi, NASA, Nestle, Nippon Steel, Shell, Siemens, Stanford University, Statoil, Veritas, VAI GmbH, and Xerox. Diffpack applications have been built in diverse areas, such as oil and gas, mechanical engineering, telecommunication, medicine and finance. The customer activities span from simple prototype applications to projects involving several man-years of simulator development.

See also

Related Research Articles

Numerical analysis Field of mathematics

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. Numerical analysis naturally finds application in all fields of engineering and the physical sciences, but in the 21st century also the life sciences, social sciences, medicine, business and even the arts have adopted elements of scientific computations. The growth in computing power has revolutionized the use of realistic mathematical models in science and engineering, and subtle numerical analysis is required to implement these detailed models of the world. For example, ordinary differential equations appear in celestial mechanics ; numerical linear algebra is important for data analysis; stochastic differential equations and Markov chains are essential in simulating living cells for medicine and biology.

Computational fluid dynamics Branch of fluid mechanics that uses numerical analysis and data structures to solve and analyze problems that involve fluid flows

Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate the free-stream flow of the fluid, and the interaction of the fluid with surfaces defined by boundary conditions. With high-speed supercomputers, better solutions can be achieved, and are often required to solve the largest and most complex problems. Ongoing research yields software that improves the accuracy and speed of complex simulation scenarios such as transonic or turbulent flows. Initial validation of such software is typically performed using experimental apparatus such as wind tunnels. In addition, previously performed analytical or empirical analysis of a particular problem can be used for comparison. A final validation is often performed using full-scale testing, such as flight tests.

Computational science, also known as scientific computing or scientific computation (SC), is a rapidly growing field that uses advanced computing capabilities to understand and solve complex problems. It is an area of science which spans many disciplines, but at its core, it involves the development of models and simulations to understand natural systems.

Numerical methods for partial differential equations is the branch of numerical analysis that studies the numerical solution of partial differential equations (PDEs).

Computational electromagnetics (CEM), computational electrodynamics or electromagnetic modeling is the process of modeling the interaction of electromagnetic fields with physical objects and the environment.

The Portable, Extensible Toolkit for Scientific Computation, is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the Message Passing Interface (MPI) standard for all message-passing communication. PETSc is the world’s most widely used parallel numerical software library for partial differential equations and sparse matrix computations. PETSc received an R&D 100 Award in 2009. The PETSc Core Development Group won the SIAM/ACM Prize in Computational Science and Engineering for 2015.

Computational mechanics is the discipline concerned with the use of computational methods to study phenomena governed by the principles of mechanics. Before the emergence of computational science as a "third way" besides theoretical and experimental sciences, computational mechanics was widely considered to be a sub-discipline of applied mechanics. It is now considered to be a sub-discipline within computational science.

The J. H. Wilkinson Prize for Numerical Software is awarded every four years to honor outstanding contributions in the field of numerical software. The award is named to commemorate the outstanding contributions of James H. Wilkinson in the same field.

Interdisciplinary Center for Scientific Computing scientific research institute of the University of Heidelberg, Germany

The Interdisciplinary Center for Scientific Computing is a scientific research institute of the Heidelberg University, Germany. It centralizes scientific activity and promotes research and work in scientific computing. Founded in 1987 by the Heidelberg University and the state of Baden-Württemberg, IWR participates in joint project and cooperations with industry in Germany as well as abroad. As a research institute with about 380 staff, IWR is considered one of the world's largest research centers for scientific computing.

FEniCS Project

The FEniCS Project is a collection of free and open-source software components with the common goal to enable automated solution of differential equations. The components provide scientific computing tools for working with computational meshes, finite-element variational formulations of ordinary and partial differential equations, and numerical linear algebra.

Finite element method Numerical method for solving physical or engineering problems

The finite element method (FEM) is the most widely used method for solving problems of engineering and mathematical models. Typical problem areas of interest include the traditional fields of structural analysis, heat transfer, fluid flow, mass transport, and electromagnetic potential. The FEM is a particular numerical method for solving partial differential equations in two or three space variables. To solve a problem, the FEM subdivides a large system into smaller, simpler parts that are called finite elements. This is achieved by a particular space discretization in the space dimensions, which is implemented by the construction of a mesh of the object: the numerical domain for the solution, which has a finite number of points. The finite element method formulation of a boundary value problem finally results in a system of algebraic equations. The method approximates the unknown function over the domain. The simple equations that model these finite elements are then assembled into a larger system of equations that models the entire problem. The FEM then uses variational methods from the calculus of variations to approximate a solution by minimizing an associated error function.

hp-FEM is a general version of the finite element method (FEM), a numerical method for solving partial differential equations based on piecewise-polynomial approximations that employs elements of variable size (h) and polynomial degree (p). The origins of hp-FEM date back to the pioneering work of Barna A. Szabó and Ivo Babuška who discovered that the finite element method converges exponentially fast when the mesh is refined using a suitable combination of h-refinements (dividing elements into smaller ones) and p-refinements. The exponential convergence makes the method a very attractive choice compared to most other finite element methods which only converge with an algebraic rate. The exponential convergence of the hp-FEM was not only predicted theoretically but also observed by numerous independent researchers.

In scientific computation and simulation, the method of fundamental solutions (MFS) is a technique for solving partial differential equations based on using the fundamental solution as a basis function. The MFS was developed to overcome the major drawbacks in the boundary element method (BEM) which also uses the fundamental solution to satisfy the governing equation. Consequently, both the MFS and the BEM are of a boundary discretization numerical technique and reduce the computational complexity by one dimensionality and have particular edge over the domain-type numerical techniques such as the finite element and finite volume methods on the solution of infinite domain, thin-walled structures, and inverse problems.

deal.II is a free, open-source library to solve partial differential equations using the finite element method. The current release is version 9.2.0 released in May 2020. In 2007 the authors won the J. H. Wilkinson Prize for Numerical Software for deal.II.

Goma is an open-source, parallel, and scalable multiphysics software package for modeling and simulation of real-life physical processes, with a basis in computational fluid dynamics for problems with evolving geometry. It solves problems in all branches of mechanics, including fluids, solids, and thermal analysis. Goma uses advanced numerical methods, focusing on the low-speed flow regime with coupled phenomena for manufacturing and performance applications. It also provides a flexible software development environment for specialty physics.

Nektar++ is a spectral/hp element framework designed to support the construction of efficient high-performance scalable solvers for a wide range of partial differential equations (PDE). The code is released as open-source under the MIT license. Although primarily driven by application-based research, it has been designed as a platform to support the development of novel numerical techniques in the area of high-order finite element methods.

Hans Petter Langtangen was a Norwegian scientist trained in mechanics and scientific computing. Langtangen was the Director of the Centre for Biomedical Computing, a Norwegian Center of Excellence hosted by Simula Research Laboratory. He was a Professor of Scientific Computing at the University of Oslo, and was Editor-in-Chief of SIAM Journal on Scientific Computing 2011–2015.

MFEM

MFEM is an open-source C++ library for solving partial differential equations using the finite element method, developed and maintained by researchers at the Lawrence Livermore National Laboratory and the MFEM open-source community on GitHub. MFEM is free software released under a BSD license.

References