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

version 6.00.00.2346? Fortran 2013? x64?

CG
chris gabriel, modified 7 Years ago.

version 6.00.00.2346? Fortran 2013? x64?

Youngling Posts: 9 Join Date: 4/29/13 Recent Posts
I recently requested a copy of the pre/post-processor GUI (Request for delft3d_ohmw_4.01.00.rc.03.zip). When I received the email, it talked about how the GUI would work with version 6.00.00.2346:

"You can use this pre-compiled GUI and the pre & post processing tools for the following modules of Delft3D: FLOW (D-Flow) & MOR (D-Morphology) version 6.00.00.2346 & up, ..."

I logged into the version control system, but couldn't find this version emoticon

There were only a bunch of subversions for 4.00, 5.00 and 5.01, as well as tag 2367 and 2399. 2399 was the most recent (April 04, 13), so decided to use that one.

I'm currently set up with Visual Studio 2010 and Intel Visual Fortran 2013. When I looked for the source code (VS Solution) I noticed "d_hydro_open_source_vs2010_intel13.sln" and I figured this was closest to my setup.

Trying to compile in win32 failed: "Configuration 'Release|Win32' requires compiler support for the 'Win32' platform, but that support is not installed. Please either install the compiler support for 'Win32' or select another configuration" emoticon

So I switched to x64. That compiled, but the output seems different from what the documentation describes and the compiled files ended up in different folders than those referenced in the test scripts. I was not able to proceed with step "5.1 Running Delft3D-FLOW using scripts (Windows and Linux)" because run_flow2d3d.bat tried to call d_hydro.exe which didn't get built. the only executables that got built are delwaq1.exe, delwaq2.exe, waq_run_processes.exe, vs.exe, 01-smalltest.exe. and 02-streamtest.exe
When I try using run_delwaq.bat as an example, it still doesn't run, because it can't find the folders (in particular procfile). emoticon

Did I do something fundamentally wrong or do I just need to proceed differently from here? Please advise?

Thanks Chris.
CG
chris gabriel, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64?

Youngling Posts: 9 Join Date: 4/29/13 Recent Posts
I noticed that d_hydro and flow2d3d were not set to be 'Build" in the Configuration Manager for the x64 Release version. When I include them however, I get error masages, that it can't find the header file 'precision.h'
Adri Mourits, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64? (Answer)

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

6.00.00.2346 is the version number of Delft3D-FLOW. Since the source code of Delwaq (version 5.00.00.2346) is added, this full FLOW version number does not cover the contents. Therefore the tagged versions are only named with the number of the tagged trunk revision. The log of the tag contains the full version numbers.

On Windows, currently only the win32 version is supported. It seems that you only installed the 64 bit version of the Intel Fortran compiler. You have the following options:
  • Install the 32bit compiler too.
  • Switch to Linux (the 64bit version is supported there).
  • We are currently working on the 64bit Windows version. You might try the current trunk version. But even if it does compile, you probably have to check whether all generated binaries are in the right location. And this version is not fully tested yet.


Regards,

Adri
CG
chris gabriel, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64?

Youngling Posts: 9 Join Date: 4/29/13 Recent Posts
Hi Adri.

Thanks for explaining the version numbering. That really helps.

With respect to the compiler version, you were absolutely right. I went back to the Intel website and downloaded the combined compiler, able to compile both into 32bit and 64bit executables.

Now the compile doesn't pop up any error messages any more, however, not all projects get compiled correctly still. These are the error messages:

Line 119: 5>LIB : fatal error C1905: Front end and back end not compatible (must target same processor).
Line 120: 5>LINK : fatal error LNK1257: code generation failed
Line 407: 6>LIB : fatal error C1905: Front end and back end not compatible (must target same processor).
Line 408: 6>LINK : fatal error LNK1257: code generation failed
Line 421: 7>LINK : fatal error C1905: Front end and back end not compatible (must target same processor).
Line 422: 7>LINK : fatal error LNK1257: code generation failed
Line 1095: 31>LINK : fatal error LNK1181: cannot open input file '..\..\..\..\utils_lgpl\d_hydro_lib\lib\Release\static\d_hydro_lib.lib'
Line 3318: 57>ipo: error #11018: Cannot open C:\Projects\Development\Delft3D\2399\src\engines_gpl\waq\packages\delwaq1_version_number\bin\Release\delwaq1_version_number.lib
Line 3319: 57>LINK : fatal error LNK1181: cannot open input file 'C:\Projects\Development\Delft3D\2399\src\engines_gpl\waq\packages\delwaq1_version_number\bin\Release\delwaq1_version_number.lib'
Line 3338: 58>ipo: error #11018: Cannot open C:\Projects\Development\Delft3D\2399\src\engines_gpl\waq\packages\delwaq1_version_number\bin\Release\delwaq1_version_number.lib
Line 3339: 58>ipo: error #11018: Cannot open C:\Projects\Development\Delft3D\2399\src\engines_gpl\waq\bin\Release\delwaq1_lib.lib
Line 3340: 58>LINK : fatal error LNK1181: cannot open input file 'C:\Projects\Development\Delft3D\2399\src\engines_gpl\waq\packages\delwaq1_version_number\bin\Release\delwaq1_version_number.lib'
Line 4213: 71>LINK : fatal error LNK1181: cannot open input file '..\..\..\..\utils_lgpl\d_hydro_lib\lib\Release\static\d_hydro_lib.lib'
Line 4457: 72>LINK : fatal error LNK1181: cannot open input file '..\..\..\..\utils_lgpl\d_hydro_lib\lib\Release\static\d_hydro_lib.lib'

Full log file attached. I think the real problem is in line 119 and 407 "LIB : fatal error C1905: Front end and back end not compatible (must target same processor)." where the libraries don't get build. The rest is just link error because those lib's are now missing.

Any ideas on how to trouble shoot this?

Thanks, Chris
CG
chris gabriel, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64?

Youngling Posts: 9 Join Date: 4/29/13 Recent Posts
I think the front end / back error was caused by some older lib files that had previously been compiled for 64bit, and didn't get recompiled for 32bit when I compiled the entire solutions again.

I used "delete unversioned items" to delete all items in my local copy that had been added since my check-out to reset the folders and recompiled. Now I'm down to just one error message:

78>LINK : fatal error LNK1181: cannot open input file 'Release\flow2d3d_openda_dll.obj'

Not sure why it wouldn't find that dll/obj .... complete log file attached.
CG
chris gabriel, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64?

Youngling Posts: 9 Join Date: 4/29/13 Recent Posts
These are the error messages:

78>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Projects\Development\Delft3D\2399\src\engines_gpl\flow2d3d\packages\flow2d3d_openda\../../bin/Release\flow2d3d_openda_intel13.dll) does not match the Linker's OutputFile property value (C:\Projects\Development\Delft3D\2399\src\engines_gpl\flow2d3d\bin\Release\flow2d3d_openda.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
78>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5): warning MSB8012: TargetName(flow2d3d_openda_intel13) does not match the Linker's OutputFile property value (flow2d3d_openda). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
78>LINK : fatal error LNK1181: cannot open input file 'Release\flow2d3d_openda_dll.obj'

I checked the properties, in particular the Linker - General - Output File. I'm pretty sure it's missing suffix _intel13 with the compiler inherits from the project name. Once I include that as shown in the attached file, those error messages disappear and the only new one now left is:

LINK : fatal error LNK1181: cannot open input file 'Release\flow2d3d_openda_dll.obj'

I can't find where that obj file name gets specified, but I suspect, here again '_intel13' is missing?!?!

It looks like the dependency for this file is defined under Linker - Input - Additional Dependencies where

$(Configuration)\flow2d3d_openda_dll.obj

is hard-corded and I wonder if that file name needs to be updated??
.
Adri Mourits, modified 7 Years ago.

RE: version 6.00.00.2346? Fortran 2013? x64? (Answer)

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

The "Intel13" variants of the solution/project files are generated manually by copying and changing as less as possible. This may indeed lead to the messages you have. But they are warnings. You can neglect them. The resulting dll should NOT be named flow2d3d_openda_intel13.dll.

The "flow2d3d_openda_dll.obj" problem is caused by source code being used by two different projects, one of them producing flow2d3d.dll and the other one producing flow2d3d_openda.dll. This is not a very nice construction. Some things that might help:
  • Remove the file flow2d3d_opend_dll.obj manually and compile again
  • Only compile project flow2d3d_openda

But I expect you won't use flow2d3d_openda.dll, so you can also leave this.

Regards,

Adri