You are here:  Products  ›  Complementary Software  ›  Diffpack

The development environment for describing and solving of partial differential equations

Diffpack is an object-oriented development environment for solving partial differential equations, in particular by finite element method and finite difference method. It allows customer with little or no knowledge in C++ programming or Diffpack to program application-specific solvers. Diffpack is specifically suitable for solving physical problems that are not covered by standard simulation programs, such as the distribution of oxygen concentration in a chemical process. Diffpack allows you to program a corresponding numerical module for each physical problem, providing more than 600 predefined C ++ classes and objects to implement features and methods easily and comfortably. Diffpack's functionality includes, for example, mixed finite element approaches, adaptive meshing, or parallel equilibrium solvers.

Simulation of the oxygen distribution in a chemical process


In an existing ANSYS user, a question was posed which could not be solved with ANSYS 'on-board devices. The distribution of the oxygen concentration as a result of a chemical process should be calculated. Of major interest was the oxygen concentration (gOx) and the resulting temperature distribution, which is used as the initial condition for a thermal transient analysis. It was important to the customer that no new FEM system had to be introduced.

In this case, a corresponding solution for calculating the oxygen distribution was programmed with Diffpack and then implemented in ANSYS by the so-called "Mechanical Application Wizzard". In the application, the FEM model is networked in the usual way in ANSYS Workbench and the boundary conditions, loads and solution settings are defined. Subsequently, all the necessary data from ANSYS Workbench is forwarded to the Diffpack solver, which is then started to solve the task. After the calculation, the results are written to a file readable by ANSYS Workbench so that postprocessing can take place there.


Electro-chemical-thermo-mechanical simulation of lithium-ion batteries


At the Fraunhofer Institute (IFAM) in Oldenburg, an FEM and FDM solver for the electrochemical-thermo-mechanical simulation (Christensen-Newman model) of lithium-ion battery cells was developed with Diffpack. In contrast to the commercial FEM tools in which not all physical phenomena can be imaged, the underlying physical differential equations can be programmed in Diffpack.

Programming is made particularly simple by the functionality available in the Diffpack library for the treatment of systems of coupled differential equations and the equations solvers required for them. The diffpack solution was implemented using the mathematicians of the company inuTech (manufacturer of Diffpack).



Diffpack's object-oriented class library, with a particular focus on finite element modeling and computation, is based on the C ++ programming language, enabling a flexible implementation of a customer-specific solver. The necessary features and methods in the form of classes and objects are easy and comfortable to use.

With Diffpack's C ++ libraries, tailor-made FEM solvers can be developed to complement standard FEM programs such as ANSYS in their functionality. Diffpack contains over 600 C ++ classes whose functionality extends from elementary data structures to sophisticated modules, such as mixed finite element approaches, adaptive networking, or parallel calculation.

Each DiffEM-programmed FEM module can be seamlessly integrated into ANSYS Workbench. You can thus access all the pre and postprocessor functions of ANSYS.

Diffpack supports the selection of all application-relevant variables at the runtime of the program - from simple scalar parameter values to abstract variables such as elements, matrices and equations. The user can set up complicated experiments, for example a loop over various solution and / or preconditioning strategies. In addition, reports can be generated automatically, including the numerical results, images, and animations of the calculation results.

In Diffpack, you can quickly integrate your own developments, for example a Fortran code, by programming a "thin" communication interface. This functionality allows for easy expansion of Diffpack, tailored to the specific area of the user. In addition, Diffpack includes a variety of software tools that can be used to optimize the quality of user programming.

In order to use the functionality of Diffpack, you do not have to be a mathematician or a programmer. They explain your physical problem and we develop the corresponding FEM environment for you based on Diffpack. No special knowledge is required for the application of the FEM module.

  • Bosch
  • CalCom
  • Cambridge University
  • Canon
  • CEA
  • Daimler
  • Furukawa
  • Harvard University
  • Intel
  • Mitsubishi
  • NASA
  • Nestle
  • Nippon Steel
  • Shell
  • Siemens
  • Stanford University
  • Statoil
  • Thyssen Krupp Steel
  • VAI
  • Veritas University
  • Xerox