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

run errors: 02_domaindecomposition 03_flow-wave fail to complete

CF
Charles Folden, modified 9 Years ago.

run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 20 Join Date: 12/2/11 Recent Posts
Hi - Problems again, which I don't notice in message board.

EXAMPLES 01_standard and 04_fluidmud both executed and completed normally, but 02_domaindecomposition hangs the computer terminal and 03_flow-wave failS to complete.

Also, probably unrelated, I found two mpiexec files on my system:
[root@minirex ~]# ls -l /opt/intel/composer_xe_2011_sp1.7.256/mpirt/bin/ia32/mpiexec
lrwxrwxrwx. 1 root root 10 Dec 5 10:07 /opt/intel/composer_xe_2011_sp1.7.256/mpirt/bin/ia32/mpiexec -> mpiexec.py
[root@minirex ~]# ls -l /opt/mpich2/bin/mpiexec
lrwxrwxrwx. 1 root root 13 Dec 5 14:48 /opt/mpich2/bin/mpiexec -> mpiexec.hydra
[root@minirex ~]#


PROBLEM WITH EXAMPLE 02
02_domaindecompositionemoticon##################################################

[root@minirex 02_domaindecomposition]# ./run_flow2d3d.sh
--------------------------------------------------------------------------------
Deltares, Delft3D-FLOW Version 4.00.06.1089, Dec 09 2011, 14:02:18
libflow2d3d.so entry RUNME
--------------------------------------------------------------------------------

Part I - Initialisation Time Dep. Data module...
runid : zz1
Part II - Creating intermediate files...
Part III - Initialisation of the Execution module...
*** glibc detected *** ../../bin/intel/flow/bin/deltares_hydro.exe: malloc(): memory corruption: 0xb74395d8 ***
corruption: 0xb74395d8 ***
^Cforrtl: error (69): process interrupted (SIGINT)

Stack trace terminated abnormally.

PROBLEM WITH EXAMPLE 03
03_flow-wave #######################################################
<<Run SWAN...
swan.sh is /opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan.sh
Using swan executable /opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe

SWAN batchfile executed for Delft3D
Performing computation for: r17.swn

*** ERROR: SWAN executable does not exist
/opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe
<<Run SWAN...
swan.sh is /opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan.sh
Using swan executable /opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe

SWAN batchfile executed for Delft3D
Performing computation for: r17.swn

*** ERROR: SWAN executable does not exist
/opt/delft3d/delft3d_repos07.0892/examples/03_flow-wave/../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe
^C*** WARNING: unable to run SWAN using "swan.sh". Trying with "swan.bat" ...
sh: swan.bat: command not found
>>...End of SWAN run
*** ERROR: file 'norm_end' expected to signal a correct SWAN calculation

[root@minirex 03_flow-wave]# ls -l ../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe
ls: cannot access ../../bin/intel/wave/bin/swan_4072ABCDE_del_l32_i11_omp.exe: No such file or directory

Thanks

Chuck
JF
Jose Manuel Fernandez Jaramillo, modified 9 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 5 Join Date: 4/26/11 Recent Posts
Hi, I am facing also problems with example 02_domain.

I am using Fedora 16 for 32bits, compilation is ok in the trunk version (not success to compile it even with the new tag version 5), all the deffault examples run ok, but when I execute the example02 I got this:


[user@nowcastingpc 02_domaindecomposition]# ./run_flow2d3d.sh
Executing "/home/jmfernan/opendelft/delft3d_repository/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe TMP_config_flow2d3d_16502.xml" ...
--------------------------------------------------------------------------------
Deltares, FLOW2D3D Version 5.00.01.1223, Feb 8 2012, 19:30:11
libflow2d3d.so entry Flow2D3D::Run
--------------------------------------------------------------------------------

Part I - Initialisation Time Dep. Data module...
runid : zz1
Part II - Creating intermediate files...
Part III - Initialisation of the Execution module...

ERROR: d_hydro.exe: malloc.c:2453: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
- Starting "d_hydro.exe" may give more information:
- Run "deltares_hydro.exe <INI-inputfile> -keepXML".
- Run "d_hydro.exe TMP_config_flow2d3d_<processId>.xml".



I have searched that code in the src folder to see if any debug was possible, but I can nor find it. Is this source in any precompiled library?

Best regards, José Manuel
Roberto Fontes, modified 9 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 5 Join Date: 5/19/11 Recent Posts
Hi,

I got the same problem as Jose Manuel, running with gfortran 32bits machine. It goes smooth in another computer (intel x-composer 64 bits). Any hint?

Roberto Carelli
CF
Charles Folden, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 20 Join Date: 12/2/11 Recent Posts
Hi - I have Delft3d_5.01 working now. I removed mpich2 and tried ubuntu's mpich2 with worse results (change paths in build.sh)
and downloaded from http://packages.ubuntu.com/precise/mpich2
http://archive.ubuntu.com/ubuntu/pool/universe/m/mpich2/mpich2_1.4.1.orig.tar.gz
I used the flags from the README in delft3d/src -fPIC etc. to compile mpich2

paths in build.sh changed to (it is easier to later uninstall if you use the default path)

# mpich2
if [ "$compiler" = 'gnu' ]; then
addpath PATH /usr/bin
export MPI_INCLUDE=/usr/include
export MPILIBS_ADDITIONAL="-L/usr/lib -lfmpich -lmpich -lmpl"
# export MPILIBS_ADDITIONAL="-L/usr/lib/mpich2/lib "
export MPIFC=/usr/bin/mpif90
All 5 examples worked. Errors at the end of the make.log referred to single precision version of flow2d3d which the posts say can be ignored.
earlier I noticed I had forgotten to install ruby too.

also, i made a complete path for gcc
case $compiler in
gnu)
ifortInit=""
iccInit=""
addpath PATH /usr/bin
addpath LD_LIBRARY_PATH /usr/lib \
/usr/lib/gcc/ \
/usr/lib/gcc/i686-linux-gnu \
/usr/lib/gcc/x86_64-linux-gnu
Charles Folden
CF
Charles Folden, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 20 Join Date: 12/2/11 Recent Posts
Hi - I finally took the advice of some of the posts and upgraded to 64-bit instead of pounding on the 32-bit distribution. Went very fast. One caution, I changed build.sh to put MPICH2 in /usr/local rather than /opt. This simply doesn't work. A recursive grep listing files containg "grep -rl /opt/mpich2" showed Makefiles down the installation tree (flow2d3d area) still expected mpich2 in /opt.

Perhaps you installed /home on it's own disk (/dev/sda7 orsomething separate from /), in which case you need to only pick the / disk the OS is installed to format, and mount the second disk as /home (I forgot to during the install and had to edit the /etc/fstab later and delete the new empty /home).


Jose Manuel Fernandez Jaramillo:
Hi, I am facing also problems with example 02_domain.

I am using Fedora 16 for 32bits, compilation is ok in the trunk version (not success to compile it even with the new tag version 5), all the deffault examples run ok, but when I execute the example02 I got this:


[user@nowcastingpc 02_domaindecomposition]# ./run_flow2d3d.sh
Executing "/home/jmfernan/opendelft/delft3d_repository/trunk/bin/lnx/flow2d3d/bin/d_hydro.exe TMP_config_flow2d3d_16502.xml" ...
--------------------------------------------------------------------------------
Deltares, FLOW2D3D Version 5.00.01.1223, Feb 8 2012, 19:30:11
libflow2d3d.so entry Flow2D3D::Run
--------------------------------------------------------------------------------

Part I - Initialisation Time Dep. Data module...
runid : zz1
Part II - Creating intermediate files...
Part III - Initialisation of the Execution module...

ERROR: d_hydro.exe: malloc.c:2453: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
- Starting "d_hydro.exe" may give more information:
- Run "deltares_hydro.exe <INI-inputfile> -keepXML".
- Run "d_hydro.exe TMP_config_flow2d3d_<processId>.xml".



I have searched that code in the src folder to see if any debug was possible, but I can nor find it. Is this source in any precompiled library?

Best regards, José Manuel
CF
Charles Folden, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 20 Join Date: 12/2/11 Recent Posts
Another mistake. mpich2 prefix must be /opt/mpich2, not just /opt this path (/opt/mpich2) shows up in the compiler screen output even if the prefix is set to something else.
Adri Mourits, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

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

There are several different problems mentioned in this thread. I'll try to answer them:

*** glibc detected *** ../../bin/intel/flow/bin/deltares_hydro.exe: malloc(): memory corruption: 0xb74395d8 ***
deltares_hydro.exe is a 32-bit executable. You probably are working on a 64-bit machine without support for 32-bit. You can install the 32-bit support on that machine, or use Delft3D-FLOW version 6.00.00 or higher, where deltares_hydro.exe is removed.

*** ERROR: SWAN executable does not exist
SWAN is started by Delft3D-WAVE by executing "swan.sh". The operating system uses environment parameter "PATH" to search for "swan.sh" and will execute the first one found. This is rather sensitive. But all tagged versions should work "out of the box". The revision used (1089) is rather old. If the problem occurs in the latest tagged version (currently 2399), Deltares will solve that.

ERROR: d_hydro.exe: malloc.c:2453: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - _
This is a known bug: compiling and then running on a 32-bit Linux system does not work. Solving this is on our ToDo list. A work around is switching to a 64-bit Linux system.

Multiple mpiexec on your system:
Be careful to use the same mpi version during running as used during compiling. Check the make log on this and adapt the run script if needed.

MPICH2 installed in another directory than the default one:
There are two ways to compile the Delft3D code (see ../src/README): with or without using script "build.sh". If you don't use "build.sh" (default automake usage), all used tools (including MPICH2) should be installed in the default locations. If you do use "build.sh", be sure that all paths to tools inside the script are correct.

Unchanged makefiles:
Files named "Makefile" are generated during the configure step. If you do a local change that effect this generation (for example editing a "Makefile.am"), automake should detect that and re-generate the "Makefile". You can check the log on that. If you change something with a wider effect (MPICH2 in another directory), it's safer to execute "src/clean.sh" and have all the "Makefile"s being re-generated.

I don't understand Charles' last remark.

Regards,

Adri
CF
Charles Folden, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

Youngling Posts: 20 Join Date: 12/2/11 Recent Posts
Hi Adri, I think the most likely problem was not removing all the previous Makefiles, so I will use the clean.sh, but just to check, the 32-bit libs were installed:
Reading state information... Done
libjpeg62:i386 is already the newest version.
ia32-libs is already the newest version.

And my final comment was that I had the make.log file open in gedit searching for /mpich2, and refreshing the log during compilation showed paths to mpif90 were executed which were not the one I edited into build.sh, but again, maybe I didn't do a clean enough uninstall. I re-installed mpich2 to the directory which seemed to be wanted and no longer see the problem.

Finally, I am confused about the releases. I see no build tagged 6.00 when I browse: https://svn.oss.deltares.nl/repos/delft3d/tags/
and for the trunk, svn update returns 2515, but then it is the trunk which is under tag 5.01

best

Charles Folden

Adri Mourits:
Hi All,

There are several different problems mentioned in this thread. I'll try to answer them:


*** glibc detected *** ../../bin/intel/flow/bin/deltares_hydro.exe: malloc(): memory corruption: 0xb74395d8 ***
deltares_hydro.exe is a 32-bit executable. You probably are working on a 64-bit machine without support for 32-bit. You can install the 32-bit support on that machine, or use Delft3D-FLOW version 6.00.00 or higher, where deltares_hydro.exe is removed.

*** ERROR: SWAN executable does not exist
SWAN is started by Delft3D-WAVE by executing "swan.sh". The operating system uses environment parameter "PATH" to search for "swan.sh" and will execute the first one found. This is rather sensitive. But all tagged versions should work "out of the box". The revision used (1089) is rather old. If the problem occurs in the latest tagged version (currently 2399), Deltares will solve that.

ERROR: d_hydro.exe: malloc.c:2453: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - _
This is a known bug: compiling and then running on a 32-bit Linux system does not work. Solving this is on our ToDo list. A work around is switching to a 64-bit Linux system.

Multiple mpiexec on your system:
Be careful to use the same mpi version during running as used during compiling. Check the make log on this and adapt the run script if needed.

MPICH2 installed in another directory than the default one:
There are two ways to compile the Delft3D code (see ../src/README): with or without using script "build.sh". If you don't use "build.sh" (default automake usage), all used tools (including MPICH2) should be installed in the default locations. If you do use "build.sh", be sure that all paths to tools inside the script are correct.

Unchanged makefiles:
Files named "Makefile" are generated during the configure step. If you do a local change that effect this generation (for example editing a "Makefile.am"), automake should detect that and re-generate the "Makefile". You can check the log on that. If you change something with a wider effect (MPICH2 in another directory), it's safer to execute "src/clean.sh" and have all the "Makefile"s being re-generated.

I don't understand Charles' last remark.

Regards,

Adri
Adri Mourits, modified 7 Years ago.

RE: run errors: 02_domaindecomposition 03_flow-wave fail to complete

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

More info about version numbers is added on this page.

Regards,

Adri