Opened 18 years ago

Closed 16 years ago

#168 closed defect (fixed)

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

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

Description

from ticket#160; 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.

running \production\onslow_2006\test_export_results.py revision 4521 should exibit this ticket

Attachments (3)

ticket168_point_on_grid.ps (11.9 KB) - added by duncan 18 years ago.
ticket168_point_in_grid.ps (11.4 KB) - added by duncan 18 years ago.
ticket168_point_on_gridb.ps (27.1 KB) - added by duncan 18 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 18 years ago by duncan

  • Status changed from new to assigned

Results from running \production\onslow_2006\test_export_results.py

FitInterpolate: Building mesh
FitInterpolate: Building quad tree
Interpolating
/d/cit/1/dgray/inundation/anuga_core/source/anuga/geospatial_data/geospatial_data.py:602: DeprecationWarning: .xya format is deprecated.  Please use .txt.
  warn(msg, DeprecationWarning)
Traceback (most recent call last):
  File "test_export_results.py", line 47, 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 156, 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([ 22050.,  59700.]))

Changed 18 years ago by duncan

Changed 18 years ago by duncan

Changed 18 years ago by duncan

comment:2 Changed 18 years ago by duncan

the point is very close to the mesh edge. see attachments. Error could be due to slight differences in different algorithms working out if a point is in.

comment:3 Changed 18 years ago by duncan

x [ 22050. 59700.] data point

triangle vertices; xi0 [ 22500. 60000.] xi1 [ 22031.25 59687.5 ] xi2 [ 22350.31640625 59716.71484375]

sigma's have to be greater than -epsilon for a point to be in the triangle. sigma0 0.04 sigma1 0.96 sigma2 -3.72309217755e-16 epsilon 2.22044604925e-16

I'll doulble epsilon so this points like this are in.

comment:4 Changed 18 years ago by duncan

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:5 Changed 16 years ago by ole

Merely changing epsilon is not a very good fix. See test in changeset:6538 which has a point that is still causing the algorithm to fail.

I am working on a better and more robust solution, separating the decision whether a point is in from the computation of the sigmas. See ticket:314

comment:6 Changed 16 years ago by ole

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:7 Changed 16 years ago by ole

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

comment:8 Changed 16 years ago by ole

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.