Opened 17 years ago

Closed 17 years ago

#160 closed enhancement (fixed)

"could not find triangle" crash when exporting a grid from parallel results

Reported by: ole Owned by: duncan
Priority: normal Milestone:
Component: Functionality and features Version:
Severity: normal Keywords:
Cc:

Description (last modified by duncan)

When running \anuga_work\production\onslow_2006/test_export_results.py there is the following error;

USER: dgray
bound /d/xrd/gem/5/nhi/inundation/data/western_australia/onslow_tsunami_scenario_2006/anuga/boundaries/
meshname /d/xrd/gem/5/nhi/inundation/data/western_australia/onslow_tsunTraceback (most recent call last):
  File "test_export_results.py", line 45, in ?
    format = 'asc')
  File "/d/cit/1/dgray/inundation/anuga_core/source/anuga/shallow_water/data_manager.py", line 1945, in sww2dem
    grid_values = interp.interpolate(q, grid_points).flat
  File "/d/cit/1/dgray/inundation/anuga_core/source/anuga/fit_interpolate/interpolate.py", line 176, in interpolate
    verbose=verbose)
  File "/d/cit/1/dgray/inundation/anuga_core/source/anuga/fit_interpolate/interpolate.py", line 202, in interpolate_block
    verbose=verbose)
  File "/d/cit/1/dgray/inundation/anuga_core/source/anuga/fit_interpolate/interpolate.py", line 295, in _build_interpolation_matrix_A
    raise Exception(msg)
Exception: ('Could not find triangle for point', array([ 16375.,      0.]))

Attachments (3)

error.jpg (179.0 KB) - added by ole 17 years ago.
boundary.ps (250.7 KB) - added by duncan 17 years ago.
bad_triangle2.ps (23.5 KB) - added by duncan 17 years ago.

Download all attachments as: .zip

Change History (12)

Changed 17 years ago by ole

comment:1 Changed 17 years ago by anonymous

Duncan - a similar error was detected running the run_building_inundation.py script in the production/onslow directory. What's interesting is that it was happy to do the calculation on onslow_P3_4.sww, but failed at onslow_P1_4.sww. This is the same sww file that export_results.py fails at (in that case, it is happy with onslow_P0_4.sww).

comment:2 Changed 17 years ago by duncan

  • Description modified (diff)
  • Status changed from new to assigned
  • Summary changed from Remove lone vertices in general mesh structure to could not find triangele crash when exporting a grid

Changed 17 years ago by duncan

Changed 17 years ago by duncan

comment:3 Changed 17 years ago by duncan

  • Owner changed from duncan to ole
  • Status changed from assigned to new

The boundary produced by .mesh.get_boundary_polygon()is bad. See boundary.ps. The bad boundary seems to be caused by a bad triangle-see bad_triangle2.ps for a close up of the bad triangle. This triangle is not the last triangle and its vertices are not the last vertices.

comment:4 Changed 17 years ago by duncan

  • Summary changed from could not find triangele crash when exporting a grid to "could not find triangele" crash when exporting a grid

comment:5 Changed 17 years ago by jane.sexton@…

  • Owner changed from ole to duncan

running \production\onslow_2006\export_results.py for sww file stored in output directory 20060704_063005 produces a similar error - could not find triangle for point. What is important in this example, is that the sww file here was created in sequential mode. The example I ran was to export the grid for the entire model area. It was successful when the cell size was 250, but failed when it was 150. The sww file is large 750Mb. Based on this, Ole suggested reassigning the ticket to you to do the same troubleshooting for this sequential case.

comment:6 Changed 17 years ago by ole

  • Summary changed from "could not find triangele" crash when exporting a grid to "could not find triangle" crash when exporting a grid

I modified get_bounding_polygon to deal cleanly with pathological (neighbourless) triangles (see changeset:4515) - however, Jane's observation that a sequentially generated mesh may have pathological triangles still warrants examination.

Please rerun the examples to verify if the modified get_bounding_polygon fixes the problem.

comment:7 Changed 17 years ago by duncan

  • Owner changed from duncan to jane

Jane, 20060704_063005 worked for me. Could you run ;

Sending Content: X:\anuga_work\production\onslow_2006\test_export_results.py

and see if it should replicate the error?

comment:8 Changed 17 years ago by jane.sexton@…

  • Owner changed from jane to duncan

Duncan - ran the test_export_results.py script successfully. However, the recently checked in script experiences the persistent issue. Cheers, Jane.

comment:9 Changed 17 years ago by duncan

  • Resolution set to fixed
  • Status changed from new to closed
  • Summary changed from "could not find triangle" crash when exporting a grid to "could not find triangle" crash when exporting a grid from parallel results

I'm closing this ticket, since Ole has fixed the original problem, and creating a new ticket for;

running \production\onslow_2006\export_results.py for sww file stored in output directory 20060704_063005 produces a similar error - could not find triangle for point. What is important in this example, is that the sww file here was created in sequential mode. The example I ran was to export the grid for the entire model area. It was successful when the cell size was 250, but failed when it was 150. The sww file is large 750Mb. Based on this, Ole suggested reassigning the ticket to you to do the same troubleshooting for this sequential case.

Note: See TracTickets for help on using tickets.