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

libflow2d3d.so: undefined symbol: mpi_initialized_

SR
sergio rosales, modified 7 Years ago.

libflow2d3d.so: undefined symbol: mpi_initialized_

Youngling Posts: 1 Join Date: 12/2/11 Recent Posts
Hi

When run the example 01 in serial mode don't have problem,, but in paralell mode I obtained the next message

./run_flow2d3d_parallel.sh
Contents of machinefile:
MAPOCHO:12
----------------------------------------------------------------------
Executing "/home/nazca/Delft3d/bin/lnx/flow2d3d/bin/d_hydro.exe TMP_config_flow2d3d_4164.xml" ...

ERROR: /home/nazca/Delft3d/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".

./d_hydro.exe ~/Delft3d/examples/01_standard/TMP_config_flow2d3d_4164.xml
d_hydro ABORT: Cannot load component library "libflow2d3d.so": libflow2d3d.so: cannot open shared object file: No such file or directory

The compiler is Intel Parallel Studio XE 2013.1.117, both Delft and mpi are compile with Intel.

It is the only model wich don't work using mpi, the other works fine, I don't why Delft have this error?

Best Regards
Adri Mourits, modified 7 Years ago.

RE: libflow2d3d.so: undefined symbol: mpi_initialized_

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

Most commonly, Delft3D is compiled/linked without mpi, although you think it does. The best way to check is to have a look in "src/logs/make.log" and search for mpich. When linking (in directory "src/engines_gpl/flow2d3d/packages/flow2d3d/src") some phrase like "-L/opt/mpich2-1.0.8-intel64-PIC/lib -lfmpich -lmpich" should appear.

Please double check that the compiler used for Delft3D is the same as used for mpich. Especially when there are different "tastes" of mpich available on your system, this may cause problems.

The script "run_flow2d3d_parallel.sh" contains the line:
export PATH="/opt/mpich2/bin:${PATH}"
You have to adapt this for your system.

Hope this helps.

Regards,

Adri
LS
LUIS HENRIQUE SILVA, modified 6 Years ago.

libflow2d3d.so: undefined symbol: mpi_initialized_

Youngling Posts: 12 Join Date: 9/30/11 Recent Posts
Dear Adri,

I'm trying to compile and run Delft3D on 64bit RedHat Enterprise Linux 6 in two ways:

1) IFORT V11.1
2) PGI 7.0-7
*** Our MPI is version 2-1.0.7 compiled with pgf90 (Portland).

The compilation and serial runs of examples (01-04) were successful in two ways.

I got the following errors when did the parallel run of example 01.

In both versions on the following error:

---------------------------------------------------------------------

Executing "/home/luis/delft3d/d-install_pgi/5.01.00.2163/d-compilado/bin/d_hydro.exe TMP_config_flow2d3d_656.xml" ...

ERROR: /home/luis/delft3d/d-install_pgi/5.01.00.2163/d-compilado/bin/d_hydro.exe: symbol lookup error: /home/luis/delft3d/d-install_pgi/5.01.00.2163/d-compilado/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".
/home/philipp.edson/Software/mpich2-1.0.7/bin/mpdlib.py:8: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module.
import sys, os, signal, popen2, socket, select, inspect
/home/philipp.edson/Software/mpich2-1.0.7/bin/mpdlib.py:15: DeprecationWarning: the md5 module is deprecated; use hashlib instead
from md5 import new as md5new


---------------------------------------------------------------------

What is the problem?

*** There is a step-by-step instructions to compile Delft3D with PGI (Portland)? Not found in the forum!


Thanks

Luis Marton
Adri Mourits, modified 6 Years ago.

RE: libflow2d3d.so: undefined symbol: mpi_initialized_ (Answer)

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

From the FAQ:
  • mpich2 must be compiled with exactly the same compiler as used for the Delft3D source code. So if you are forced to use an mpich2 version compiled with Portland, you must compile the Delft3D source code with Portland too.
  • Check the link step in the make log on mpich stuff being used. Are the correct libraries used?


Regards,

Adri
LS
LUIS HENRIQUE SILVA, modified 6 Years ago.

RE: libflow2d3d.so: undefined symbol: mpi_initialized_

Youngling Posts: 12 Join Date: 9/30/11 Recent Posts
Adri Mourits:
Hi Luis Marton,

From the FAQ:
  • mpich2 must be compiled with exactly the same compiler as used for the Delft3D source code. So if you are forced to use an mpich2 version compiled with Portland, you must compile the Delft3D source code with Portland too.
  • Check the link step in the make log on mpich stuff being used. Are the correct libraries used?


Regards,

Adri




Dear Adri,

Delft3D successfully compiled with MPICH2, however I'm not managing to run parallel an experiment in Z-model.

What is the procedure?

thank you

Luis Marton
Adri Mourits, modified 6 Years ago.

RE: libflow2d3d.so: undefined symbol: mpi_initialized_ (Answer)

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

The combination Z-model and parallel is currently under construction.

You have two options:
  • Use branch "https://svn.oss.deltares.nl/repos/delft3d/branches/research/Deltares/20130801_16494_z-model_parallel_from_tag_2703", but there is no guarantee that it will work.
  • Use DomainDecomposition to split your model into subdomains being calculated in parallel.


Regards,

Adri