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

Segmentation violation when testing compiled executable

Richard Measures, modified 4 Years ago.

Segmentation violation when testing compiled executable

Jedi Knight Posts: 178 Join Date: 3/23/11 Recent Posts
Hi,

I've recently compiled tagged release 6906 on windows using Visual Studio Community 2013 (Version 12.0.40629.00 Update 5) and Intel Parallel Studio XE 2016 Update 3 Composer Edition (Version 16.0.0062.12). The model built ok (no errors but several warnings). When testing the model I discovered that a particular test model, which runs fine on the official Deltares compiled executable, crashes during initialization with the new executable I had compiled. Other models seem to run fine but this one crashes on both 32bit and 64bit release and debug versions giving a 'segmentation violation'. Running in debug I can see that the crash occurs while allocating variables in rdsed.f90 (Stack Overflow error).

I assume my problem is related to my compilation rather than the code itself as the official build (VS2012 and Intel 2013?) runs the model fine. I also tried compiling with VS2015 but get the same issue.

I attach the test model. Questions:
  • Please could someone try and run the attached model using an executable they've compiled with Intel 2016 to see if you have the same problem? For me Test_Hyd runs fine but Test_Mor crashes during initialization.
  • Any suggestions for what I can do to rectify this problem are much appreciated (I can't just use the official release even though I have access to it because I'm doing some modification/development of the code)...


Thanks,
Richard

Attachments:

Adri Mourits, modified 3 Years ago.

RE: Segmentation violation when testing compiled executable

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

Your zip-file contains two models: hyd and mor. I tried them both with revision 6925, in debug mode, in VisualStudio 2010, using Intel 13.0 (just to be sure). They both run without problems during at least 200 timesteps.

I expect your problem to appear during initialization, so before or in the first timestep. Is that correct?

I expect to be able to use Intel 16 within a month. Please contact me if it then still is a problem.

What happens if you increase the stacksize: In VisualStudio, right-click project "flow2d3d" -> properties -> Linker -> System -> Stack reserve size.
It has already been increased to 20000000.

Regards,

Adri
Richard Measures, modified 3 Years ago.

RE: Segmentation violation when testing compiled executable

Jedi Knight Posts: 178 Join Date: 3/23/11 Recent Posts
Hi Adri,

Thanks for your reply. I've just had another effort to get this working...

As you guessed the problem does occur during initialization, before the first timestep.

I tried increasing the stacksize of flow2d3d as you suggested but this made no difference. However, after reading online that setting stacksize in a *.dll doesn't always work I then tried increasing the stacksize of d_hydro (to 20000000) and this resolved the issue so I now have a working model (64bit and 32bit) compiled using VS2015 and Intel v16.0. I presume the same fix would work for VS2013 and Intel 16.0 but I haven't tried this.

Thanks again for your suggestion it was very useful.

Cheers,
Richard
RJ
Ruchira JAYATHILAKA, modified 3 Years ago.

RE: Segmentation violation when testing compiled executable

Youngling Posts: 11 Join Date: 12/14/14 Recent Posts
Hello Adri and Richard,

Thanks a lot for your valuable conversations.
I had the similar problem as Mr Richard has faced.
Im using VS2013 and intel v.16 on windows 10. I've compiled tagged release 6906 and 6075 recently without any errors but ran into a problem during initialization when testing my coupled wave_flow model. Anyway the domains having relatively small grid sizes work without any problem. But the problem occurred when running the nested grids relatively having larger grid sizes ('segmentation violation').
To overcome this problem, i have increased the stacksize of d_hydro (to 20000000) as you both explained and resolved the issue.

Cheers

Ruchira
Adri Mourits, modified 3 Years ago.

RE: Segmentation violation when testing compiled executable

Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts
Hi Ruchira and Richard,

I added "StackReserveSize = 20000000" to d_hydro in revision 7148.

Regards,

Adri