This document describes the Windows 32 bit distribution of the Diffpack 4.0.12 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++ 2010 (VC10) compiler.
Contents
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.
Start the installation program DpKernel_4.0.12_Win32-VC10
by double-clicking its icon.
If you are using a CD-Rom, you can find it in the folder Win32-VC10
.
Follow the instructions on screen, and restart your machine if it is required.
After successful installation you will get an entry named "Diffpack Win32 4.0.12" 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.
To install the Microsoft Visual C++ 2010 (VC10) compiler, please follow the instructions of its documentation.
For the rest of this document we will assume that you have installed Diffpack to the default location:
C:\Program Files\inuTech\Diffpack4.0.12-Win32-VC10
You might have chosen another location during installation, in which case you must accordingly modify the description below.
Diffpack relies on a number of environment variables, which are normally set by the installation procedure. These variables and their values are:
Variable | Value |
---|---|
MACHINE_TYPE | Win32-VC10 |
NOR | C:\Program Files\inuTech\Diffpack4.0.12-Win32-VC10\NO |
DP_BINARY_FORMAT | xdr |
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:
%NOR%\bin |
%NOR%\bt\bin\%MACHINE_TYPE% |
%NOR%\dp\bin\%MACHINE_TYPE% |
%NOR%\ext\%MACHINE_TYPE%\bin |
%NOR%\md\bin\%MACHINE_TYPE% |
%NOR%\pdp\bin\%MACHINE_TYPE% |
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 (www.cygwin.com), and/or a perl interpreter (www.perl.org or www.activestate.com), many of these utility scripts would be useful also in a Windows environment.
Diffpack 4.0.12 for Windows 32 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.
dplicense.dat
" into folder %NOR%\ext\LicenseServer\
.
Please do not change the license file name.
%NOR%\ext\LicenseServer\StartInuLicenseServer.bat
.
This will start a service on your machine which is called "InuLicenseServer
".
It will be automatically started at startup of your computer.
(inulicenseserver.log)
can be found in %ALLUSERSPROFILE%
.
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.
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.
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:
$(NOR)\bt\include |
$(NOR)\la\include |
$(NOR)\dp\include |
$(NOR)\ext\$(MACHINE_TYPE)\include |
$(NOR)\ext\$(MACHINE_TYPE)\include\vtk |
$(NOR)\md\include |
For Additional Library Directories:
$(NOR)\bt\lib\$(MACHINE_TYPE) |
$(NOR)\la\lib\$(MACHINE_TYPE) |
$(NOR)\dp\lib\$(MACHINE_TYPE) |
$(NOR)\ext\$(MACHINE_TYPE)\lib |
$(NOR)\ext\$(MACHINE_TYPE)\lib\vtk |
$(NOR)\md\lib\$(MACHINE_TYPE) |
Define the following preprocessor macros:
Debug mode | Release mode |
---|---|
NUMT=double |
|
WIN32 |
|
WIN32_NET |
|
ISO_IEC_14882 |
|
VTK_5 |
|
VTK_USE_ANSI_STDLIB |
|
_DEBUG | NDEBUG |
SAFETY_CHECKS | POINTER_ARITHMETIC |
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.
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:
GUIMENU
Please note that the use of this compilation command requires that you have "tcl", "tk" and "tix" libraries which are added in the delivery.
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:
Macro | Software unit |
---|---|
DP_ADAPTIVITY | Adaptivity toolbox |
DP_DATAFILTER | Datafilter toolbox |
DP_MULTILEVEL | Multilevel toolbox |
DP_PREPOST | Pre-and Postprocessing toolbox |
See the sample projects in %NOR%\doc\Application Templates
for ready-to-go setups.
Start with the setup for a standard console or GUI application. Set
NUMT=Complex |
NUMT_IS_COMPLEX=1 |
See the sample applications in the %NOR%\doc\Book\src\fem\complex
directory.
The executable file for a Diffpack application (app
) can be run without additional arguments as follows:
C:\..path..to..app> 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:\..path..to..app> 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:\..path..to..app> 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:\..path..to..app\Debug> app < ..\Verify\inp.i
C:\..path..to..app\Release> app < ..\Verify\inp.i
In the Verify
directory you will also find some shell-scripts e.g test.sh
,
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 Win32 4.0.12 menu.
See the file %NOR%\RELEASENOTES.TXT
for details on features and changes in Diffpack 4.0.12.
Further, continuously updated information will be available from the web page www.diffpack.de.
Any technical questions can be directed to support@inutech.de
Happy Diffpacking!
inuTech GmbH