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

Trying to build on RHEL5 64-bit

MS
Mark Suhovecky, modified 8 Years ago.

Trying to build on RHEL5 64-bit

Youngling Posts: 6 Join Date: 3/19/12 Recent Posts
I'm trying to built deltft3D on our cluster. Our machines are 64 bit only.
We run Red Hat Enterprise 5.7.

My gcc version is 4.1.2. My intel version is 12.0. I'm building delft3d version 4.00.02.0423

I had to build libtools 2.4 from source, and it is installed in a non-standard location. My mpich2 installation is also in a non-standard local. Because of this, I'm running the configure and make manually instead of via the build.sh

My configure line looks like this:

./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib

I had to edit this file

/engines_gpl/flow2d3d/packages/data/src/parallel_mpi/Makefile

and change FINCLUDE to point to the right location of the mpich2 include files

after this the build runs for quite a while, until I get the following error


ld: ../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a(meteo_data.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC^M
../../../../../utils_lgpl/meteo/packages/meteo/src/libmeteo.a: could not read symbols: Bad value^M
make[7]: *** [libflow2d3d.la] Error 1^M
make[7]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[6]: *** [all] Error 2^M
make[6]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d/src'^M
make[5]: *** [all-recursive] Error 1^M
make[5]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages/flow2d3d'^M
make[4]: *** [all-recursive] Error 1^M
make[4]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d/packages'^M
make[3]: *** [all-recursive] Error 1^M
make[3]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl/flow2d3d'^M
make[2]: *** [all-recursive] Error 1^M
make[2]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src/engines_gpl'^M
make[1]: *** [all-recursive] Error 1^M
make[1]: Leaving directory `/afs/crc.nd.edu/x86_64_linux/delft3d/4.00.02.0423/src'^M

From other posts, I'm guessing this is a 32/64 bit issue. It looks like all of my C and Fortran code was built with -FPIC. I'm not sure how to proceed- any advice is appreciated.

If it's of any use, mu config and build output is available here:

http://www.crc.nd.edu/~msuhovec/files/config.log
http://www.crc.nd.edu/~msuhovec/files/build.out

As I said, thanks for any help.

Mark Suhovecky
suhovecky@nd.edu
Center for Research Computing
University of Notre Dame
MS
Mark Suhovecky, modified 8 Years ago.

RE: Trying to build on RHEL5 64-bit

Youngling Posts: 6 Join Date: 3/19/12 Recent Posts
I found that to get everything to build with -fPIC, I had to to add it to the configure line:

./configure --prefix=/opt/crc/delft3d/4.00.02.0423/inst --with-x MPIFC=mpif90 LDFLAGS=-L/opt/crc/delft3d/libtool-2.4/lib CFLAGS=-fPIC FCFLAGS=-fPIC

and this got me past that. But I found that some of the included 3rd-Party binaries are 32-bit libraries; for instance in src/third_party_open/DelftOnline/lib


file libDelftOnlineJNI.so l ibDelftOnlineJNI.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

file libJavaLaunch.so libJavaLaunch.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

file libDelftOnline.so libDelftOnline.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped

So I guess this code will not build as 64-bit code.
MS
Mark Suhovecky, modified 8 Years ago.

RE: Trying to build on RHEL5 64-bit

Youngling Posts: 6 Join Date: 3/19/12 Recent Posts
I wanted to follow up and say that I was able to build this as a 32-bit app on my 64-bit system. I had to build 32-bit versions of libtools, flex and mpich2.
I also had to use sed scriptings to fix all the hardcoded mpich2 paths. I can run the examples now.
Bert Jagers, modified 8 Years ago.

RE: Trying to build on RHEL5 64-bit

Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts
Hi Mark,

Thanks for informing people about your progress and solution.

You refer to tagged version 4.00.02.0423.
All tagged version starting with 4 compile only as 32bit versions on Windows and Linux.
There is currently one tagged version starting with 5; this tagged version and the trunk compile on Windows still only as 32bit version but on Linux now only as 64bit version.

Bert