intro story D-Flow FM

 

D-Flow Flexible Mesh

D-Flow Flexible Mesh (D-Flow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D-2D-3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:

  • Easier 1D-2D-3D model coupling, intuitive setup of boundary conditions and meteorological forcings (amongst others).
  • More flexible 2D gridding in delta regions, river junctions, harbours, intertidal flats and more.
  • High performance by smart use of multicore architectures, and grid computing clusters.
An overview of the current developments can be found here.
 
The D-Flow FM - team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions! 

 

=======================================================
We have launched a new website (still under construction so expect continuous improvements) and a new forum dedicated to Delft3D Flexible Mesh.

Please follow this link to the new forum: 
/web/delft3dfm/forum

Post your questions, issues, suggestions, difficulties related to our Delft3D Flexible Mesh Suite on the new forum.

=======================================================

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ
Cohesive sediments & muddy systems

 


Message Boards

Compiling on 64 bit Linux

BW
Brian White, modified 9 Years ago.

Compiling on 64 bit Linux

Youngling Posts: 2 Join Date: 4/27/11 Recent Posts
Hello all,

We would like to compile the source code on 64 bit Linux, but so far have been unsuccessful. Based on searches through the forums, it seems many others are trying this as well. Has anyone been successful yet and if so, would it be possible for them to share their steps with the rest of the community?

Some questions I have, for example:

Is the latest version of the trunk compatible with 64 bit compilers?
Which specific makefiles need to be modified?
Do manual library links need to be added and if so, in which files should we begin?
Which Linux distributions have been most successful?
Does mpi work, and are modifications to mpi links/libraries necessary?

These are a lot of questions, but perhaps this thread could become an active guide for compiling in 64 bit Linux.

Many thanks for your input!

Brian
Fedor Baart, modified 9 Years ago.

RE: Compiling on 64 bit Linux

Padawan Posts: 44 Join Date: 3/2/11 Recent Posts
Brian White:

Is the latest version of the trunk compatible with 64 bit compilers?

The current trunk is compatible with 64bit compilers. If you use the current trunk you can run into issues with domain decomposition, but those are unrelated to the 64bit compiler. The 64bit version is under active development and not as well tested as the 32bit version.
Adri can give you more details on which tests have been done so far.

Brian White:

Which specific makefiles need to be modified?

In the current trunk you should not need to modify makefiles. What you sometimes need to do is to tell the configure script which compiler you need and perhaps a few compiler flags. There used to be some specific flags in the makefile but most of these have been removed or will be removed.
You can specify custom flags at "configure time". For example under OSX 64 bit I compile using:

# Specify the fortran compiler explicitly because the default version of gfortran compiler is 4.2
FC=gfortran-mp-4.5 ./configure


Brian White:

Do manual library links need to be added and if so, in which files should we begin?

The configure script should find all the libraries. On some systems you have to guide it to the correct versions if both 64 bit and 32 bit versions exist. For example if you would have 32bit libraries in /usr/lib and 64bit libraries in /usr/lib64 then you might have to do something like:

# Explicitly refer to 64bit library directories.
FCFLAGS=-L/usr/lib64 LDFLAGS=-L/usr/lib64 ./configure

This would be required if while linking you get errors like "incorrect platform" or "incompatible .so file" .

Brian White:

Which Linux distributions have been most successful?

At Deltares the CentOS system is the default system. Others use the debian and ubuntu systems. The source is not very dependent on external libraries. Because the configure script is not distributed in the repository it does require a recent version of autotools (automake, autoconf, aclocal, libtool). Libtool should be version 2.4 or up. This is because older versions don't have fortran90 support.

Brian White:

Does mpi work, and are modifications to mpi links/libraries necessary?

I made some changes to the OSX2 branch, where mpi will be found at configure time. It will use the mpif90 compiler to build the parts that are dependent on mpi. This way you don't have to specify any mpi libraries. It does require that mpif90 is available and build with the same compiler as the fortran compiler used to build Delft3D. I think they are checked into the trunk, or will probably be in the next week or so.

HTH,

Fedor