= TDMCC = == 1. Working Copy == Ahhoz legyen egy working copy-d, létre kell hoznod awingen egy mappát, belelépned majd kiadni a következő parancsot: \\ ''svn co http : //localhost/svn/T DM CC_SDK/branches/qtv2 .'' \\ Ha egy másik ágat szeretnél fejleszteni, akkor értelemszerűen a TDMCC_SDK utáni részt kell módosítani. == 2. Környezeti változók beállítása == A forrásfájlok között található egy set_env fájl, mellyel be kell állítanunk fordításhoz és futtatáshoz a környezeti változókat, jelen esetben a cuda elérési útja van megadva. Futtatás és fordítás előtt ki kell adni a . ./set_env parancsot. == 3. Fordítás == A környezeti változók beállítása után (mely az adott terminálra vonatkozik csak) indíthatunk egy qtcreator-t és szerkeszthetjük, fordíthatjuk és debu- golhatjuk a programot. 5Parancssorból dolgozva a rebuild fájlt használva és a ./rebuild parancsot kiadva fordíthatjuk újra a kódot. Ez jelenleg négy parancsot tartalmaz: * colormake -f Makefile clean : törli a lefordított állományokat * colormake -f Makefile distclean : törli a generált Makefile-okat * qmake -r -spec linux-g++-64 CONFIG+="create_pc create_prl linkq_pkgconfig" : újra legenerálja a Makefile-okat a változtatások alapján. A CONFIG után az idézőjelbe egy debug-ot beszúrva a CPU és a GPU kód is debug módban fordul. * colormake -f Makefile -j 1 : lefordítja a programot az új Makefile-ok alapján. A -j opció megmondja a fordítónak, hogy hány CPU szálat használhat. A colormake, mint ahogy a neve is mutatja színezve jelöli a fordítás lépé- seit, így az error-ok és a warning-ok könnyebben megtalálhatóak. == 4. Alkalmazás futtatása == Az alkalmazás neve TDMCCApp64, melynek elkészült egy ''-f'' kapcsolója mellyel a program kivezetett beállításait módosíthatjuk újrafordítás nélkül. Az alkalmazás futtatásához a \\ ''TDMCCApp64 -f neutrontransport.cfg'' \\ parancsot kell kiadni, ahol a ''-f'' kapcsoló után beállításokat tartalmazó fájl neve áll. A programnak megadható a -g kapcsoló, melynek hatására grafikus kezelői felülettel indul a program. A forráskódok mellett található egy neutrontransport.cfg fájl, mely tartalmazza a lehetséges beállításokat: * output_file_name = output.txt * number_of_neutrons = 4194304 * particles_per_thread = 8 * simulation_time = 1.0 * length_of_time_step = 5e-4 * length_of_time_step_feedback = 5e-4 * sigma_a = 0.16382 * sigma_t = 1.0 * sigma_f = 0.25 * beta = 0.00685 * lambda = 0.0784 * length_x = 5.0 * length_y = 10.0 * length_z = 12.0 * length_r = 5.0 * splitlimit = 400.0 * roulettelimit = 10.0 * roulette_restore_value = 10.0 * device_index = -1 * volume_size_x = 64 * volume_size_y = 64 * volume_size_z = 64 * create_volume = 0 * velocity_group1 = 2.2e5 * velocity_group2 = 1.95e9 * create_histogram = 0 * histogram_size = 1024 * source_type = 0 * reflector = 1 * reactor = Box * print_history_period = 10 * history_collision_length = 50 * history_time = 1.0e-4 * number_of_energy_groups = 2 * print_history_start = 99 A paraméterek sorrendje nem számít, a "#" jellel hagyhatunk figyelmen kívül egy beállítást, ekkor a program a default beállítást fogja használni erre az adott paraméterre, az egyenlőségjel megadása kötelező. == Grafikus felület == [[Image(gui_page1.png, 75%)]] [[Image(gui_page2.png, 75%)]] == Kimenetek formátuma == **History_*.raw \\ * Header: fájlban lévő ütközések száma (unsigned long long) és egy neutronhoz tartozó tulajdonságok száma (unsigned int) \\ * Egy neutronhoz tartozó adatok: neutron lánc indexe (//unsigned int//), reakció típúsa (//char//), x-koordináta (//float//), y-koordináta (//float//), z-koordináta (//float//), időpont (//float//), súly (//float//) **output.txt == Egyéb == * [wiki:resztvevok A projektben résztvevők] * [wiki:hasznos Hasznos tudnivalók] * [wiki:meeting Meeting minutes] * [wiki:ubuntu Ubuntu]