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

MPICH for Delft3D

KL
K Liu, modified 3 Years ago.

MPICH for Delft3D

Padawan Posts: 48 Join Date: 10/23/13 Recent Posts
Dear all,

When I look at the build.sh for Deflt3D (version 5275), the parameters MPILIBS_ADDITIONAL and MPIFC are working with MPICH2. Since the recent release of MPICH has evolved to 3.0 version (Details at: https://www.mpich.org/about/overview/), I just wonder whether the MPICH 3.0 (and above) works fine for the compilation or not, and do we need to make any modification in the builder.sh.

Thank you!
Ben Williams, modified 3 Years ago.

RE: MPICH for Delft3D

Jedi Knight Posts: 114 Join Date: 3/23/11 Recent Posts
Hi K,

This is an interesting topic, and has been broached before. It is my understanding that there are good performance gains to be had using MPICH 3.0

In the below thread, you can see that this solution is already being used for Linux, as one can compile it oneself.

I tried the same for Windows intel fortran compiler and found it to be such a pain in the arse that I basically gave up on it. It could be that the MPI libraries included with Intel Cluster Studio are a better way to go for compiling on Windows, but I suspect that would require quite some rewriting.

If you do try, please post your findings to this forum! :-)

Cheers,

Ben

http://oss.deltares.nl/web/delft3d/coast-/-estuary/-/message_boards/view_message/578056/maximized
KL
K Liu, modified 3 Years ago.

RE: MPICH for Delft3D

Padawan Posts: 48 Join Date: 10/23/13 Recent Posts
Hi, Ben,

Thank you very much for your reply!

I installed mpich version 3.2-6build1 on Linux (Ubuntu), and I notice, in the builder script, we have a block of commands for path to MPICH2:

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

if [ "$compiler" = 'gnu' ]; then
addpath PATH /opt/mpich2-1.4.1-gcc-4.6.2/bin
export MPI_INCLUDE=/opt/mpich2-1.4.1-gcc-4.6.2/include
export MPILIBS_ADDITIONAL="-L/opt/mpich2-1.4.1-gcc-4.6.2/lib -lfmpich -lmpich -lmpl"
export MPIFC=/opt/mpich2-1.4.1-gcc-4.6.2/bin/mpif90
==================================

I got the /include folder and the mpif90, but I don't know what MPILIBS_ADDITIONAL. In your discussion here, I guess you also used an executable mpich. Do you have any suggestion how to set this parameter?

Thank you!

Ke
KL
K Liu, modified 3 Years ago.

RE: MPICH for Delft3D

Padawan Posts: 48 Join Date: 10/23/13 Recent Posts
Hi, Ben,

Just some updates:

If I export MPILIBS_ADDITIONAL= " ", I can pass the configuration and make, and get all the /bin/ and /lib/ folders. However, if I try the first example, I get:
/mybuild/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: /mybuild/lnx/flow2d3d/bin/libflow2d3d.so: undefined symbol: MPI_Init

The error is related to MPI, and the only thing I am not quite sure is about this MPILIBS_ADDITIONAL.
If I export MPILIBS_ADDITIONAL="-L/usr/lib -lfmpich -lmpich -lmpl", then the make fails at:

/usr/bin/ld: cannot find -lfmpich
collect2: error: ld returned 1 exit status
Makefile:680: recipe for target 'libflow2d3d.la' failed
make[7]: *** [libflow2d3d.la] Error 1

I appreciate if you can give any comments.

Thank you!

Ke
Adri Mourits, modified 3 Years ago.

RE: MPICH for Delft3D (Answer)

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Ke,

"undefined symbol: MPI_Init" means that during the compilation, your MPI libraries were not included. So you do need to specify some libraries at MPILIBS_ADDITIONAL.

"-L/usr/lib -lfmpich -lmpich -lmpl" means:
Look in directory "/usr/lib" for the libraries "fmpich.so", "mpich.so" and "mpl.so".

If we denote the directory in which you have installed your mpich libraries as "/mympich/lib", then:
- Replace "/usr/lib" by "/mympich/lib"
- Check what libraries are available in "/mympich/lib" and add only the availabel libraries.

Regards,

Adri