ecell / greens_functions

GNU General Public License v2.0
1 stars 0 forks source link

A particle escapes from polygons during a simulation #1

Closed kaizu closed 8 years ago

kaizu commented 8 years ago

A STL file is available at http://www.thingiverse.com/thing:906951/#files.

kaizu@tcs2:~/src/greens_functions/samples$ ./Readertest -bin yoda.stl 100
header: STL File created by netfabb - http://www.netfabb.com UNITS=MM
number of triangles: 658
polygon close: 1
readed faces: 658 edges:  987
t_end: 1e5
output: hoge
!on_edge(temppos)
ratio:              -6.2252e-07
in_face(pos_para):  1
pos_para:          (-8.468900220181492e-08, 0.999999921635313)
dis_para:          (-0.1360421946303763, -0.6322184164519069)
temppos:           (0, 1.000000315203992)
terminate called after throwing an instance of 'std::invalid_argument'
  what():  shortened displacement to put the end of vector is on the edge but it is not on edge
Aborted
ToruNiina commented 8 years ago

on branch vertex

niina@niina-HP-Z400-Workstation:~/greens_functions/samples$ ./Readertest -bin yoda.stl 100
header: STL File created by netfabb - http://www.netfabb.com UNITS=MM
number of triangles: 658
polygon state  : close
readed faces   : 658
       edges   : 987
t_end: 1e5
output: out.dat 

next face id: 109
...(many lines)...
next face id: 213
position: (0, 1)
absolute pos: (61.5367949116, -16.898476914, 18.9669847264)
displacement: (-0.00185882622072769, 0.0007649239135233803)
absolute dis: (-0.000432719047964, 0.00850360055496, -0.00401975966082) length: 0.00941578121579
ratio : 0
now face id: 213
vertex 0: (60.9802284241, -14.5709810257, 9.54600143433)
vertex 1: (61.4422302246, -20.1069812775, 15.5870018005)
vertex 2: (61.5372276306, -16.9069805145, 18.9710044861)

next face id: 217
next position: (0, 1)
absolute pos: (64.2056543791, -14.8078233309, 20.327736652)
next displacement: (-0.00288771288369954, 0.002067763881387313)
absolute dis: (0.00505800706145, 0.00624736436195, -0.00490346194018) length: 0.00941578121579
next face id: 217
vertex 0: (60.9802284241, -14.5709810257, 9.54600143433)
vertex 1: (61.5372276306, -16.9069805145, 18.9710044861)
vertex 2: (64.2042236328, -14.8119812012, 20.3370018005)
 n_a_vec: (1.30196390002, -0.718796205546)
 n_b_vec: (1, -7.44996579625e-17)
 n_ori_vec: (-7.5402005997e-17, 1.10580902177e-16)

position: (0, 1)
absolute pos: (64.2092816399, -14.8057338368, 20.3320983386)
displacement: (-0.00288771288369954, 0.002067763881387313)
absolute dis: (0.00505800706145, 0.00624736436195, -0.00490346194018) length: 0.00941578121579
ratio : 0
now face id: 217
vertex 0: (60.9802284241, -14.5709810257, 9.54600143433)
vertex 1: (61.5372276306, -16.9069805145, 18.9710044861)
vertex 2: (64.2042236328, -14.8119812012, 20.3370018005)

next face id: 449
next position: (0, 1)
absolute pos: (60.450844273, -11.567088258, 17.637604231)
next displacement: (-0.001691934046823616, 0.002075677063510519)
absolute dis: (-0.0065320657468, 0.00662856002309, -0.00143221681436) length: 0.00941578121579
next face id: 449
vertex 0: (60.9802284241, -14.5709810257, 9.54600143433)
vertex 1: (64.2042236328, -14.8119812012, 20.3370018005)
vertex 2: (60.461227417, -11.5739812851, 17.6520042419)
 n_a_vec: (2.57590785975, -2.42663201312)
 n_b_vec: (1, -1.80783254978e-16)
 n_ori_vec: (-1.82775201691e-17, 6.05714791019e-18)

terminate called after throwing an instance of 'std::invalid_argument'
  what():  face ptr renewed over RENEWLOOP_UPPER_LIMIT times
中止 (コアダンプ)
kaizu commented 8 years ago

position = (98.54222807179001, 16.33302030923631, -25.50299914097213) displacement = (-4.374351912179924, -4.987278985553607, -2.891120718001997) face_id = 633

ToruNiina commented 8 years ago

on branch on_vertex (previous comment is a mistake)

niina@niina-HP-Z400-Workstation:~/greens_functions/samples$ ./Readertest -bin stls/yoda.stl 101
header: STL File created by netfabb - http://www.netfabb.com UNITS=MM
number of triangles: 658
polygon state  : close
readed faces   : 658
       edges   : 987
t_end: 1e5 
output: vtest21_yoda_101.dat
!on_edge(temppos)
now renew 0 times.
ratio:              5.54844e-07
in_face(pos_para):  1
pos_para:          (0.9999998333227966, 9.931267948394788e-08)
dis_para:          (0.5119773552374131, -0.1789921819455701)
temppos:           (1.000000117390192, 0)
terminate called after throwing an instance of 'std::invalid_argument'
  what():  shortened displacement to put the end of vector is on the edge but it is not on edge
中止 (コアダンプ)