Closed tschoonj closed 4 years ago
Hey @PieterTack
Ik heb Github Actions support toegevoegd voor de macOS en Linux builds (Ubuntu Bionic), evenals de leak_calc
opties toegevoegd aan de Python bindings. Als de leak_calc
in Python wordt weggelaten, zal deze verondersteld worden true
te zijn. In de Python unit tests heb ik ze op false
gezet omdat ze anders te lang duren...
Ik zal later vandaag uw examples eens testen. Ik moet ook nog een SPEC file schrijven voor RPMs te genereren voor de RedHat/CentOS/Fedora distros.
Looks good, ook de manier van implementatie van de leak_calc in python.
Zou idd standaard voorlopig af zetten. We kunnen dan nog zien mits linked lists en al dan niet opslaan coordinaten enzo of we veel tijd besparen, en het dus ook vlotter zou draaien in python. Ben momenteel mijn python skills aan het bijschaven, dus ook onrechtstreeks nuttig voor dit project ;)
Looks good, ook de manier van implementatie van de leak_calc in python.
Zou idd standaard voorlopig af zetten.
Ok zal dat veranderen dan.
We kunnen dan nog zien mits linked lists en al dan niet opslaan coordinaten enzo of we veel tijd besparen, en het dus ook vlotter zou draaien in python.
Ik zal eens wat zien te profilen, en zien waar de bottlenecks echt liggen.
Ben momenteel mijn python skills aan het bijschaven, dus ook onrechtstreeks nuttig voor dit project ;)
Altijd een goed idee!
Sounds great :) Laat maar weten als ik bepaalde PRs moet goedkeuren ofzo :)
Heb wat zitten profilen. Met leak_check=True
spendeert de code ongeveer 72 % van de tijd in polycap_capil_trace_wall
, wat waarschijnlijk wel logisch is.
De call stack is wel vreselijk ingewikkeld door de recursie met polycap_capil_reflect
en polycap_capil_trace
die elkaar zitten te callen 😄
Reallocs valt eigenlijk heel goed mee, en heeft geen vertragend effect dat ik kan zien.
Ik heb gisteren dit hier trouwens eens gekregen terwijl ik een test liet lopen:
10% Complete 35 reflections Last reflection at z=8.992009, d_travel=8.993950
20% Complete 26 reflections Last reflection at z=8.986226, d_travel=8.986454
30% Complete 35 reflections Last reflection at z=8.993330, d_travel=8.993725
40% Complete 30 reflections Last reflection at z=8.965253, d_travel=8.965375
50% Complete 41 reflections Last reflection at z=8.973306, d_travel=8.974294
60% Complete 38 reflections Last reflection at z=8.983007, d_travel=8.983887
70% Complete 49 reflections Last reflection at z=8.988837, d_travel=8.989742
80% Complete 43 reflections Last reflection at z=8.992217, d_travel=8.994215
Segment end: photon not in polycap!!; i: 30, i+1: 31, nmax: 999
90% Complete 38 reflections Last reflection at z=8.966630, d_travel=8.967098
Average number of reflections: 38.687400, Simulated photons: 14363
Open area Calculated: 0.574548, Simulated: 0.696233
iexit: 10000, no enter: 4363, no trans: 0
Die segment end
warning: is dat normaal?
@PieterTack Ik heb de SI examples gecorrigeerd waar nodig en ze toegevoegd in een commit hier.
Ik heb gisteren dit hier trouwens eens gekregen terwijl ik een test liet lopen:
10% Complete 35 reflections Last reflection at z=8.992009, d_travel=8.993950 20% Complete 26 reflections Last reflection at z=8.986226, d_travel=8.986454 30% Complete 35 reflections Last reflection at z=8.993330, d_travel=8.993725 40% Complete 30 reflections Last reflection at z=8.965253, d_travel=8.965375 50% Complete 41 reflections Last reflection at z=8.973306, d_travel=8.974294 60% Complete 38 reflections Last reflection at z=8.983007, d_travel=8.983887 70% Complete 49 reflections Last reflection at z=8.988837, d_travel=8.989742 80% Complete 43 reflections Last reflection at z=8.992217, d_travel=8.994215 Segment end: photon not in polycap!!; i: 30, i+1: 31, nmax: 999 90% Complete 38 reflections Last reflection at z=8.966630, d_travel=8.967098 Average number of reflections: 38.687400, Simulated photons: 14363 Open area Calculated: 0.574548, Simulated: 0.696233 iexit: 10000, no enter: 4363, no trans: 0
Die
segment end
warning: is dat normaal?
Hey Pieter, enige commentaar hierover?
oeps, sorry, had je vorige bericht gezien maar vergeten erop te reageren.
Die waarschuwing zou inderdaad niet mogen voorkomen. Die geeft een foton aan dat volgens zijn coordinaten aan het einde van het optiek is geraakt (dus succesvol transmitted zogezegd), maar dat niet in het optiek vervat zit. Houdt dus geen steek. Er zijn nog een paar gevalletjes waar die foutboodschap voorkwam (heb er al veel van gefixed van vroegere versies ;) ) De fout lijkt voornamelijk op te treden wanneer een foton heel veel begint te botsen in 1 segment, maar heb nog geen logische oplossing gevonden. Tot dusver smeet ik die fotonen gewoon weg. Hier heb je bijvoorbeeld 1 foton die toch nog stiekem doet op de 30k die je simuleerde...
In het kort: de waarschuwing is dus niet normaal, maar heb er nog geen oplossing voor gevonden. Zal ooit wel eens komen, maar het is dergelijk probleem dat me vorige keer ook een half jaar had gekost om min of meer uit te pluizen en dan te corrigeren :P
Hoi Tom, alles nog goed? Zijn er nog zaken die hiervoor moeten gedaan worden, en die ik eventueel kan doen?
Nope, alles gedaan hier denk ik.
Ben wel beetje ongerust over die foutmelding...
Ja, die foutmelding is zeker niet ideaal. Maar komt slechts heel sporadisch voor, op 1 vd vele duizenden fotonen -> zal de statistiek niet echt beinvloeden. Kheb ergens ook het bruingeel vermoeden dat dit misschien vanzelf opgelost wordt mochten we het polycap_profile beschrijven met veel meer segmenten (momenteel 999). De fout komt immers enkel voor als er ergens een foute interactie is geregistreerd, typisch met een onmogelijke interactiehoek (alfa groter dan 90 graden). Is iets dat ik nog eens moest testen.
Hoi Tom, wat is de volgende stap in het grote polycap master plan? ;)
Hey Pieter,
Als alles goed is voor u, kunnen we een eerste release maken: 1.0
Wat is de status van het artikel? Hebt ge iedereen zijn commentaren gekregen? Klaar voor submission?
Ik ontbreek nog Laszlo's revisie. Donderdag skype ik eens met hem, ging er dan naar vragen. Wacht je liever daarop voor de release? (is voor mij goed hoor)
Ok cool, wil jij de versie in configure.ac bumpen naar 1.0 of zal ik het doen?
Btw, er zouden ook nog versie macros moeten toegevoegd worden aan polycap.h
.
Voorbeeld:
Er zou dan ook een kleine test moeten toegevoegd worden om zeker te zijn dat de versie in configure.ac
en deze macros in sync zijn zoals bijvoorbeeld in: https://github.com/tschoonj/xmimsim/blob/master/tests/test-version.c (maar gebruik vasprintf ipv glib's g_strdup_printf!)
Travis-CI is down for maintenance.