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

Compiling the code under Windows

GB
Gabriel Betancur, modified 9 Years ago.

Compiling the code under Windows

Youngling Posts: 20 Join Date: 8/24/11 Recent Posts
Hello,

I'm new working with Delft3d open source. At this point, I need to generate the delftflow.exe in order to be able to run my application. But I'm running in circles without success. I followed the instructions that appears in the http://oss.deltares.nl/web/opendelft3d/source-code#Compile the source code, but I still lost.

If anyone can explain me how to compile the code, with a little bit of detail, I will appreciate it.

Thanks for your time and answer.

Gabriel
Bert Jagers, modified 9 Years ago.

RE: Compiling the code under Windows

Jedi Knight Posts: 201 Join Date: 12/22/10 Recent Posts
Can you be more specific where you get stuck?

On Windows you will need to have Microsoft Visual Studio 2008 with C/C++ and Intel Fortran compiler 11.0, or later.
Do you have these programs?

If yes, then you can continue.

Don't download the trunk version, but start by downloading the source code from the tagged version:
https://svn.oss.deltares.nl/repos/delft3d/tags/4.00.07.0892
Open deltares_hydro_open_source.sln in Visual Studio 2008, or if you're using the 2010 version open the solution file for that version.

In Visual Studio select Build -> Build Solution (Ctrl+Shift+B ) to build all projects in the solution or go in the Solution Explorer to engines_gpl/deltares_hydro and right click and select " build" to build individual projects. You will need to build deltares_hydro.exe and flow2d3d.dll. You ask about delftflow.exe, but that is the old name when the deltares_hydro.exe and flow2d3d.dll were still integrated in one executable. The build process will generate a bin folder next to the src folder in the source code tree. After building all files, you need to copy them to the directory in which the Delft3D environment was installed.

Best regards,

Bert
GB
Gabriel Betancur, modified 9 Years ago.

RE: Compiling the code under Windows

Youngling Posts: 20 Join Date: 8/24/11 Recent Posts
Hi Bert,

I followed your instructions, compiling the version 4.00.07.0892 with Visual Studio 2010 and Intel Fortran Compiler 11.0, and the program brings me four errors, which I now list:

Error 96: error LNK1181: no se puede abrir el archivo de entrada '..\lint_f\Release\lint_f.lib' D:\delft3d_compiled\src\tools_gpl\lint\packages\lint\LINK lint (tools_gpl\lint\lint).
Error 97: error LNK1181: no se puede abrir el archivo de entrada '..\kubint_f\Release\kubint_f.lib' D:\delft3d_compiled\src\tools_gpl\kubint\packages\kubint\LINK kubint (tools_gpl\kubint\kubint).
Error 98 error LNK1181: no se puede abrir el archivo de entrada '..\datsel_f\Release\datsel_f.lib' D:\delft3d_compiled\src\tools_gpl\datsel\packages\datsel\LINK datsel (tools_gpl\datsel\datsel).
Error 72 error MSB3073: El comando "call ..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
emoticonCEnd" salió con el código 1. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 103 6 semaphore (utils_lgpl\semaphore\semaphore).

And the bin folder has a vs.exe, but the other two files that you have mentioned are not there.

I think this errors are due to library compatibilities. Do you think, that I should try to compile the code with Visual Studio 2008? or maybe in Linux?.

Thanks for your time and answer.

Gabriel
Bert Jagers, modified 9 Years ago.

RE: Compiling the code under Windows

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

The core problem is likely
El comando "call ..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini : VCEnd" salió con el código 1.
So, there seems to be a problem determining the version number of the code you checked out. This version number is determined using the Subversion executables included in the source code tree: src\third_party_open\subversion\bin\win32\.

What is the version of the Subversion client have you used to check out the source code: is that one of the latest versions 1.7.* ? Then that may be part of the explanation: the Subversion executables in the source code tree of the tagged version, are still 1.6 executables and they don't understand the new repository.** Normally it should then return the string "exported" which gets replaced by "00000" because Microsoft doesn't accept a non-numeric version number. However, since you are using a Spanish version, I wonder whether "exported" may read differently on your computer.

Please go to the directory: src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h? If so, what version is indicated for semaphore_build?
If this file does not exist, please go to the directory: src\util_lgpl\semaphore\packages\semaphore and execute in a DOS box the command:
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?

** The trunk contains 1.7 Subversion executables, but before you switch to use the trunk version (which may solve the problem if it is indeed caused by the Subversion client in the source code tree), I would prefer to know what's going with the tagged version because it should still compile normally although with a default revision number 00000.

Success,

Bert
GB
Gabriel Betancur, modified 9 Years ago.

RE: Compiling the code under Windows

Youngling Posts: 20 Join Date: 8/24/11 Recent Posts
Hello Bert,

The subversion number is the 1.7.1.
When I go to the directoy: "src\util_lgpl\semaphore\packages\semaphore\include. Does this directory contain a file semaphore_version.h", there is not such file.
In the directory: "src\util_lgpl\semaphore\packages\semaphore" I found two files: "semaphore_version.h.svn" & "version_number.ini" and when I execute the "version_number.ini" in a DOS box, it opens a txt and gives me this:
[versionnumbers]
major = 1
minor = 00
revision = 00

Thanks for your time and answer.


Gabriel.
Bert Jagers, modified 9 Years ago.

RE: Compiling the code under Windows

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

Thanks. Those two files come from the subversion repository; the "semaphore_version.h" file that you don't have should have been generated by the build process. There seems to be a problem building version number files on your machine. Can you try the following as I indicated in my previous post:

... please go to the directory: src\util_lgpl\semaphore\packages\semaphore and execute in a DOS box the command:
..\..\..\..\scripts_lgpl\win32\update_version.cmd .\include\semaphore_version.h .\ .\include\version_number.ini
What messages does this return?


What messages does this command return and does the semaphore_version.h file exist after executing this command?

Bert
GB
Gabriel Betancur, modified 9 Years ago.

RE: Compiling the code under Windows

Youngling Posts: 20 Join Date: 8/24/11 Recent Posts
Hello Bert,

Thanks for your help. I decided to reinstall all the applications which are: Visual Studio 2008, Intel Visual Fortran Compiler 11.0 and GUI version of Delft3d, and the program compiled succesfully. It looks like the problem was in the Fortran compiler, it wasn't well installed, and the libraries were not working during the compilation, but the reinstalation solved the problem.

Now I'm going to run some examples, following your previous explanation, about the files in the /bin folder.

Thanks a lot for your time and guidance.

Greetings.

--
Gabriel.