Diffpack ist ein objektorientiertes Softwaresystem mit besonderem Schwerpunkt auf der Finite Elemente Modellierung und Berechnung. Benutzeranwendungen decken einen grossen Bereich von Ingenieur-Disziplinen ab und erstrecken sich von einfachen Anwendungen aus der Lehre bis hin zu grossen Produktentwicklungsprojekten. Kundenreferenzen aus den unterschiedlichsten Industriezweigen sind beispielsweise Bosch, Cambridge, Canon, CEA, Cornell, DaimlerChrysler, Furukawa, Intel, Mitsubishi, Natexis Banque, NASA, Nestlé, Shell, Siemens, Stanford, Statoil, Petrobras, Veritas, and XEROX, um nur einige zu nennen.
Mit den Diffpack C++ - Bibliotheken können Sie Ihren eigenen maßgeschneiderten FEM-Löser entwickeln. Mit Diffpack wird Anwendern von Standard – FEM – Programmen ein komplementärer Problemlösungszugang ermöglicht, der bei der Lösung von komplizierten Spezialproblemen entscheidende Vorteile verspricht.
Diffpack enthält über 600 C++ - Klassen, deren Funktionalität sich von elementaren Datenstrukturen bis hin zu anspruchsvollen Modulen, wie beispielsweise gemischte Finite Elemente Ansätze, adaptive Vernetzung oder parallele Berechnung erstreckt. Diffpack ist für den technisch versierten Ingenieur bestimmt, mit entsprechendem Einblick in die mathematische Modellierung seines FEM – Problems. Beim Programmieren in Diffpack kann er sich voll und ganz auf die Numerik seines Problems konzentrieren.
Diffpack kommt hauptsächlich bei der Entwicklung von Spezial – FEM – Lösern zum Einsatz. Durch die Unterstützung von Schnittstellen (Daten Filter) zu Third-Party-Tools steht leistungsfähiges Pre- und Postprocessing zur Verfügung. Unterstützte Tools sind beispielsweise ANSYS, ABAQUS, NASTRAN, MATLAB, AVS und Vtk.
Diffpack unterstützt die Auswahl aller anwendungsrelevanten Größen – von einfachen skalaren Parameterwerten bis hin zu abstrakten Größen, wie Elemente, Matrizen, Gleichungslöser, etc. ... – zur Laufzeit des Programms. Der Anwender kann komplizierte Experimente aufsetzen, z.B. eine Schleife über verschiedene Lösungs- und / oder Vorkonditionierungsstrategien, und er kann sich einen Bericht automatisch generieren lassen, der z.B. numerische Ergebnisse, Bilder und Movies der Berechnungsergebnisse enthält.
In Diffpack können Sie - via Programmierung eines “dünnen” Kommunikationsinterfaces - Ihre Eigenentwicklungen – beispielsweise einen FORTRAN Code – schnell integrieren. Diese Funktionalität ermöglicht eine einfache Erweiterung von Diffpack zugeschnitten auf das jeweilige Spezialgebiet des Anwenders.
Diffpack enthält eine Vielzahl von Tools, um die Qualität der Anwenderprogrammierung zu optimieren. Dies beinhaltet beispielsweise Tools zur automatischen Speicherverwaltung, zum eleganten Source Code Debuggen und Regression Testing sowie Source Code Übersetzungsprogramme zwischen verschiedenen Diffpack Versionen.
Rechenintensive low-level Operationen werden in Diffpack immer in FORTRAN - ähnlichem Stil gelöst, während objektorientierte Konzepte nur für administrative high-level Aufgaben zum Einsatz kommen. Dies garantiert einerseits flexible APIs andererseits effiziente numerische Algorithmen, deren Performance mit klassischen FORTRAN Codes vergleichbar ist.