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

Parallel run error of Delft3D on 64bit Ubuntu 12.04

KH
Kelin Hu, modified 8 Years ago.

Parallel run error of Delft3D on 64bit Ubuntu 12.04

Youngling Posts: 13 Join Date: 4/6/11 Recent Posts
Hello,

I'm trying to compile and run Delft3D on 64bit Ubuntu 12.04. The compilation and serial runs of examples (01-04) were successful. I got the following errors when did the parallel run of example 01 (NPART=2).

Executing "/home/klhu/models/delft3d/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe TMP_config_flow2d3d_14862.xml" ...
Executing "/home/klhu/models/delft3d/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe TMP_config_flow2d3d_14861.xml" ...

ERROR: /home/klhu/models/delft3d/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: ../../bin/lnx/flow2d3d/bin/libflow2d3d.so: undefined symbol: mpi_initialized_
- Starting "d_hydro.exe" may give more information:
- Run "deltares_hydro.exe <INI-inputfile> -keepXML".
- Run "d_hydro.exe TMP_config_flow2d3d_<processId>.xml".

ERROR: /home/klhu/models/delft3d/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: ../../bin/lnx/flow2d3d/bin/libflow2d3d.so: undefined symbol: mpi_initialized_
- Starting "d_hydro.exe" may give more information:
- Run "deltares_hydro.exe <INI-inputfile> -keepXML".
- Run "d_hydro.exe TMP_config_flow2d3d_<processId>.xml".

The mpich2 part should be OK because the standalone version of MPI SWAN was running good.

Attached are my sh file, compilation log files. Any help is greatly appreciated.

Kelin
Adri Mourits, modified 8 Years ago.

RE: Parallel run error of Delft3D on 64bit Ubuntu 12.04 (Answer)

Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts
Hi Kelin,

There are two possible problems:
  • During the compilation, something went wrong with the references to mpich2.
    You are using the Intel compiler. Did you compile mpich2 (/have mpich2 compiled) with the same compiler as you are building Delft3D?
    Your make.log file contains references to directory "/home/klhu/ub_files/mpich2-install/bin" (for the binaries) and "/opt/mpich2/include" (for the include files). That's what you intended?
  • Compiling succeeded; it just cannot find the mpich2 libraries.
    The mpich libraries needed are automatically copied to directory "<yoursourcecode>bin\lnx\flow2d3d\lib". Are they there?


Adding the following Linux command to the run script (just before the mpirun line) can give more information:
ldd $exedir/libflow2d3d.so


The output of this command should look like:
linux-vdso.so.1 => (0x00007fff7b5fc000)
libDelftOnline.so.0 => not found
libfmpich.so.3 => /opt/mpich2-1.4.1-gcc-4.6.2/lib/libfmpich.so.3 (0x00002affe3c2e000)
libmpich.so.3 => /opt/mpich2-1.4.1-gcc-4.6.2/lib/libmpich.so.3 (0x00002affe3e4e000)
libmpl.so.1 => /opt/mpich2-1.4.1-gcc-4.6.2/lib/libmpl.so.1 (0x00002affe41c6000)
libgfortran.so.3 => /opt/gcc-4.6.2/lib/../lib64/libgfortran.so.3 (0x00002affe43cb000)
libquadmath.so.0 => /opt/gcc-4.6.2/lib/../lib64/libquadmath.so.0 (0x00002affe46e0000)
libexpat.so.0 => /lib64/libexpat.so.0 (0x00002affe4915000)
libstdc++.so.6 => /opt/gcc-4.6.2/lib/../lib64/libstdc++.so.6 (0x00002affe4b38000)
libm.so.6 => /lib64/libm.so.6 (0x00002affe4e3d000)
libc.so.6 => /lib64/libc.so.6 (0x00002affe50c0000)
libgcc_s.so.1 => /opt/gcc-4.6.2/lib/../lib64/libgcc_s.so.1 (0x00002affe5419000)
librt.so.1 => /lib64/librt.so.1 (0x00002affe562e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002affe5837000)
/lib64/ld-linux-x86-64.so.2 (0x0000003972000000)

Note the references to mpich. If they are not in this ldd-output, something went wrong during compilation. If they are there but there is a "not found" behind the corresponding =>-sign, compilation went fine but it can not find the needed libraries.

Hope this helps.

Regards,

Adri
KH
Kelin Hu, modified 8 Years ago.

RE: Parallel run error of Delft3D on 64bit Ubuntu 12.04

Youngling Posts: 13 Join Date: 4/6/11 Recent Posts
Hello Adri,

Thanks so much for your information. Benefiting from the hints you provided, I finally solved this problem. I did the followings.

1. Re-compile and install mpich2 with '--enable-shared –enable-sharedlibs=gcc' and with 'CC=gcc CXX=g++ F77=ifort FC=ifort'.
2. Correct the mpi path information in 'build.sh', in my case,
# Intel compilers
addpath PATH /home/klhu/local/bin
export MPI_INCLUDE=/home/klhu/local/include
export MPILIBS_ADDITIONAL="-L/home/klhu/local/lib -lfmpich -lmpich -lmpl"
if [ "$platform" = 'intel64' ]; then
export MPIFC=/home/klhu/local/bin/mpif90
fi

Best regards,

Kelin
Adri Mourits, modified 8 Years ago.

RE: Parallel run error of Delft3D on 64bit Ubuntu 12.04

Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts
Hi Kelin,

Accidentally, I'm currently also struggling with using the Intel compiler and get everything working. Two remarks:
  • I need to compile mpich2 with the flag -fPIC.
  • I need to add the flag -threads to FFLAGS/FCFLAGS when executing configure. This will hopefully be committed in the trunk this week (after testing).


Regards,

Adri