Install, Compile and Run

Diffpack 4.0.13 - Win64 Information


This document describes the Windows 64 bit distribution of the Diffpack 4.0.13 software kernel. If you are going to install add-on toolboxes extending Diffpack's functionality, please make sure that you install this kernel first.

Diffpack is a library collection facilitating high-level design and implementation of simulation software dealing with numerical solution of partial differential equations (PDEs). You, as developer of Diffpack simulators, will create applications in C++ based on the tools provided in the Diffpack libraries.

You will need the Microsoft Visual C++ 10.0 compiler. If you use the free Express edition compiler, you must also install the Microsoft Platform SDK version 7.1 or further.



Hardware Requirements

For convenient use of Diffpack it is recommended that the target machine has at least a Pentium III processor with a minimum of 512 MB RAM. The installation will occupy about 1 GB of disk space. Better specification will in general provide better working conditions and possibilities for solving larger problems.



Diffpack Installation

Start the installation program DpKernel_4.0.13_Win64-VC10 by double-clicking its icon. If you are using a CD-Rom, you can find it in the folder Win64-VC10. Follow the instructions on screen, and restart your machine if it is required. After successful installation you will get an entry named "Diffpack Win64 4.0.13" on your Start->Programs menu.

IMPORTANT: Please notice that you will need administrator privileges when installing under Windows NT, Windows 2000, Windows XP, Windows Vista or Windows 7.

Compiler Installation

To install the Microsoft Visual C++ 10.0 compiler, please follow the instructions of its documentation.


Customizing Your Environment

For the rest of this document we will assume that you have installed Diffpack to the default location:

	C:\Program Files\inuTech\Diffpack4.0.13-Win64-VC10

You might have chosen another location during installation, in which case you must accordingly modify the description below.

Environment Variables

Diffpack relies on a number of environment variables, which are normally set by the installation procedure. These variables and their values are:

NORC:\Program Files\inuTech\Diffpack4.0.13-Win64-VC10\NO

In addition to the listed variables, the PATH variable has to be set to include directories containing Diffpack utilities. The following directories should be included:


Please note that %NOR%\md is only meaningful with one of the Diffpack toolboxes installed.


There are a number of utilities available in the directories added to your PATH variable. These are discussed in the Diffpack book and other documentation. In %NOR%\bin you will also find several shell scripts that are commonly used in Unix environments. By installing a bash shell (, and/or a perl interpreter ( or, many of these utility scripts would be useful also in a Windows environment.


Licensing with inuTech License Server

Notice that applications linked against the Diffpack Distribution need a license key to run. There is a free demo key available which will be mailed to you after you have submitted this form.

Diffpack 4.0.13 for Windows 64 bit uses the inuTech License management. This is a node-locked license type that allows computations to run on the machine Diffpack is installed on and the user is locally logged in to.


Compiling with Visual C++ 10.0

When you have installed the Diffpack Distribution correctly you can compile any Diffpack application example simply by opening its Visual C++ Project Workspace, and choosing Build from the menu.

Be aware that a few of the applications also require the adaptivity module which is not part of Diffpack Kernel. These applications can therefore not be compiled, but you can run the accompanying executable and look at the source as documentation.

Note: When running with a demo license the application will be subject to limitations on array lengths.
Using of the express compiler in 64bit mode

The Express version of Visual C++ is basically designed for 32bit use. To enable the 64bit functionality you will need to install the Microsoft Platform SDK version 7.1 or further. For each project the "Plattformtoolset" has to be changed under the menu item "general" as shown in the following screenshot.

TPlattformtoolset=Windows7.1SDK click for full view...

If a suitable "Plattformset" is not set you will get the error:

	1>LINK : fatal error LNK1181: cannot open input file 'kernel32.lib'

Error: TPlattformtoolset=Windows7.1SDK not set click for full view...

Visual C++ Project Setups

The definition of a Diffpack application project in Visual C++ requires a number of settings. These are listed below for different kinds of project setups. In general, it is encouraged to use the sample projects in %NOR%\doc\Application Templates as starters for your own coding. Copy the relevant folder, open the project solution in Visual C++, remove the dummy source files and load your own code files. However, for the more adventurous souls, the details are given below.

Visual C++ Search Paths

For each Diffpack Project, the following additional include paths have to be added. The application template comes with a ready-to-use configuration of the Visual Studio .NET development environment. In particular, you will find the following Diffpack specific settings:

For Additional Include Directories:

For Additional Library Directories:

Console Applications

Define the following preprocessor macros:

Debug modeRelease mode

If you are going to use the Vtk visualization libraries, define VTK_GRAPHICS.

To keep the same notation for include files as in the Unix enviroments, using angle brackets rather than doublequotes, i.e. #include <initDiffpack.h>, add the current directory (. as in "dot") to the "Additional include directories" field in your project settings. You also need to choose "Debug Multithreaded DLL" (Debug mode) or "Multithreaded DLL" (Release mode) in the "Use run-time library" field.

At the top of your main program's file, include the header file LibsDP.h. If you are using only functionality in the BTR or LAR branches, you can use LibsBT.h or LibsLA.h, respectively. These include files will set the library linking instructions using #pragma declarations.

See %NOR%\doc\Application Templates\Diffpack Console Application for a complete project setup.

GUI Applications

Applications using the Diffpack menu system can be run with a graphical user interface for the menu. In order to use the GUI, you must first compile the application with the defined preprocessor macro:


Please note that the use of this compilation command requires that you have "tcl", "tk" and "tix" libraries which are added in the delivery.

Extending Your Application With a Diffpack Toolbox

To extend a console application with functionality from a toolbox, replace the include statement for LibsDP.h with LibsMD.h. For GUI applications, keep the header dpgui/LibsGUI.h. In addition, define one or more of the following preprocessor macros:

MacroSoftware unit
DP_ADAPTIVITYAdaptivity toolbox
DP_DATAFILTERDatafilter toolbox
DP_MULTILEVELMultilevel toolbox
DP_PREPOSTPre-and Postprocessing toolbox

See the sample projects in %NOR%\doc\Application Templates for ready-to-go setups.

Solving Complex Valued PDEs

Start with the setup for a standard console or GUI application. Set


See the sample applications in the %NOR%\doc\Book\src\fem\complex directory.


Running Diffpack Applications

The executable file for a Diffpack application (app) can be run without additional arguments as follows:

	C:\> app

If the program uses the Diffpack menu system, you will see a prompt for input. To run the program with the default menu options, type x at the menu prompt and the program will continue. If you wish to change the default menu values you may type h to see a list of all menu items and their options.

If the program is compiled in GUI mode (see the GUI Applications section), it can also be run with a graphical user interface for the menu system by typing

	C:\> app --GUI

The GUI will appear on screen and the menu options can be viewed and changed if desired.

The menu options may also be presented to the program through an input file e.g inputfile.i:

	C:\> app < inputfile.i

For programs using the menu system, sample input files may be found in the Verify directory of each application directory. To run the program using these input files directly, you must specify the location of the input file:

	C:\\Debug> app < ..\Verify\inp.i
C:\\Release> app < ..\Verify\inp.i

In the Verify directory you will also find some shell-scripts e.g, which may serve as examples on how to run the various Diffpack programs.

Some of the applications do not use the menu system, some use command line options to give input to the program instead. The command line options vary between the different applications, and examples on the use can be seen in the shell-scripts in the respective Verify directories.



For updated reference documentation, load the file %NOR%\html\index.html in your favourite web browser. This file is also accessible from the Start->Programs->inuTech->Diffpack Win64 4.0.13 menu.


Release Notes

See the file %NOR%\RELEASENOTES.TXT for details on features and changes in Diffpack 4.0.13. Further, continuously updated information will be available from the web page

Any technical questions can be directed to

Happy Diffpacking!

inuTech GmbH