DL_MESO

There is a centrally installed version of the DL_MESO package which may be used to run the relevant executables if required. However, as the model for DL_MESO includes a GUI that allows one to make alterations to the source code, compile and organise simulations interactively, it is probably worthwhile obtaining and compiling your own copy.

Licensing and Access

DL_MESO is licensed, but freely available for academic use from the DL_MESO web page.

Centrally Installed Module

To access the centrally installed version (currently v2.5) load the "dlmeso" module:

module add dlmeso

This provides access to the executables for the simulation code and the utilities, which are located in

> ls /home/y07/y07/dlmeso/dl-meso-v2.5/bin
dpd.exe        dpdlocal.exe     dpdtrajects.exe    lbeplot3dgather.exe
dpdconfig.exe  dpdmolecule.exe  lbe.exe            lbevtkgather.exe
dpdexport.exe  dpdtraject.exe   lbeinitcreate.exe

The java GUI is also available, for which you need

> java -jar /home/y07/y07/dlmeso/dl-meso-v2.5/JAVA/GUI.jar

This can be useful for preparing and post-processing simulation, but does not allow you to edit the code. We therefore go on to discuss compiling your own local version.

Compilation

We assume you have obtained the tar bundle from the DL_MESO web site detailed above, and discuss this using paths relative to the top level directory from where you should see:

> ls
DEMO  DPD  JAVA  LBE  LICENCE  MAN  README  WORK  bin

Compilation of the simulation code should be possible with any of the programming environments "PrgEnv-cray", "PrgEnv-gnu", or "PrgEnv-intel".

The Java GUI

The recommended way to interact with DL_MESO for the purposes of simulation configuration is via the GUI, for which you need Java. (Note that the _JAVA_OPTIONS environment variable currently needs to be set to allow the Java virtual machine to start.)

> module add java
> export _JAVA_OPTIONS=-Xmx512m
> cd ./JAVA
> javac *java
> jar -cfm GUI.jar manifest.mf *class

At the compilation stage, you may see the following error, in which case you need to edit the dlwelcome.java file and remove the offending copyright character.

dlwelcome.java:18: error: unmappable character for encoding ASCII
    JLabel lb3 =new JLabel("Copyright ?? STFC 2012", JLabel.CENTER);

The standard mode of working is from the ./WORK directory. The GUI would be run via

> java -jar ../JAVA/GUI.jar

LBE code

The LBE (lattice Boltzmann equation) code is C++. You can compile it via the GUI, or on the command line. In the GUI, select Compiler="other..." and specify, e.g., "CC -O3". Compilation may take a few minutes in which time the GUI will not respond.

From the command line in the ./WORK directory try, e.g.,

> CC -O3 -o lbe.exe ../LBE/plbe.cpp

for the parallel version.

DPD code

The DPD (dissipative particle dynamics) code in Fortran. Compile from the GUI by choosing, e.g., "ftn -O3" as the compiler. Or, to compile from the command line you need:

> cd ./DPD
> cp makefiles/Makefile-HeCToR Makefile

and edit this new Makefile to ensure the "MF" variable matches the actual Makefile name. Finally:

> make

Utilities

There are two sets of utilities, one for the LBE code, and one for the DPD code. For the LBE utilities:

> cd ./LBE/utility
> CC -O2 -o lbeinitcreate.exe lbeinitcreate.cpp
> CC -O2 -o lbeplot3dgather.exe lbeplot3dgather.cpp
> CC -O2 -o lbevtkgather.exe lbevtkgather.cpp

For the DPD utilities in ./DPD/utility edit the Makefile to set

FC = ftn
CC = CC

and "make" to compile.

Running

All execution of simulation code ("lbe.exe" or "dpd.exe") should take place in the batch system. This is done in the normal way as described elsewhere in the ARCHER documentation. Please consult the DL_MESO documentation for further details of simulation configuration.