| |
ID |
Date |
Author |
Subject |
|
|
181
|
Thu Aug 18 13:03:47 2022 |
Dylan Wells | Comparing inputs and outputs between AraSim and IceMC | Comparing Inputs:
Frequency Lists:
Ara - 83.33MHz - 1066.70 MHz, step = 13.33MHz
IceMC - 200MHz - 1500MHz, step = 10MHz
Number of files read in:
Ara - 1
IceMC - 8
Formating of files:
Ara - Theta, Phi, Gain (dB, thetra), Gain (theta), Phase (theta)
IceMc - Frequency, Gain (dB) (Different files cover different thetas and phis)
File Type:
Ara - .txt
IceMC - no suffix (file with 2 columns of text)
Other notes for IceMC inputs:
IceMC reads in 8 different files for gain.
vv_0 hh_0 vh_0 hv_0 vv_el vv_az hh_el hh_az
Found in ../anitaBuiltTool/components/icemc/data
vv_0 = gains for vertical polarization
hh_0 = gains for horizontal polarization
vh_0 = gains for v → h cross polarization
hv_0 = gains for h → v cross polarization
vv_el = v polarization, e angle
vv_az = v polarization, a angle
hh_el = h polarization, e angle
hh_az = h polarization a angle
for e angle and a angle in
0. 0
-
5
-
10
-
20
-
30
-
45
-
90
(iterates 1 to 6)
Comparing Outputs:
IceMC - veff is in second column in veff+runName+.txt file (in the outputDirectory directory)
Ara - veff is at the bottom of the AraOut.txt file |
|
|
Draft
|
Tue Jun 28 13:27:13 2022 |
Dylan Wells | Changes needed for the matching circuit script |
-
Fix the functions for the SLPC, SCPL, and PLSC L networks (change the paramaters to match with the format of our data)
-
Write the PCSL function
-
Create a function to find the number of L networks necessary (N) given a source and load resistance as well as a frequency range.
-
Write a function to broadband match two impedances given a source, load, central frequency, and N. (return a list of capacitances and inductances for the L networks)
|
|
|
243
|
Mon Jun 2 14:10:59 2025 |
Jacob Weiler | Building Status 06/02/2025 | We are almost to where we can start the physical building of the antenna!
I've attached all the information I currently have regarding the building project. Some of it is messy work notes and some is well-structured.
I’ve attached the following files for the GENETIS building project:
- Building Dump.txt
- My working notes that I used while trying to simulate the antenna in XFdtd (very messy)
- Building Dump of Useful Materials.txt
- List of materials that I found regarding the building project like slides, elogs, etc.
- Simulating Building Model.txt
- A writeup I made describing my process for simulating the antenna in XFdtd
- Done with change materials.zip
- Solidworks model of antenna
I also made a slide deck that contains the directory locations + has graphs HERE. |
|
|
194
|
Mon Feb 13 14:56:57 2023 |
Jack Tillman | Building - Physics Plots for 9_50, 13_84, 18_89, 19_96, 29_87 Antennae | Physics plots were created for 300K events from the higher statistic simulation results for the 9_50, 13_84, 18_89, 19_96, and 29_87 antennae.
The simulation was inaccurate because a discrepancy exists between the higher simulation physics plots and the physics plots created for the 300K event results currently in the GENETIS Loop. This can be seen in the attached pdf file.
The simulation may have been inaccurate due to incorrect gain files.
The higher statistic simulations must be rerun for the 9_50, 13_84, 18_89, 19_96, and 29_87 antennae.
|
|
|
230
|
Thu Jul 6 14:52:09 2023 |
Jack Tillman | Building - Matching Circuit Schematic, PCB, and components | Attached are images of the matching circuit schematic and PCB design. A parts list is also attached in .pdf and .csv format. The .csv format can be imported into Digikey if necessary.
Table of component values:
| Inductors |
Capacitors |
SMA Connectors |
| 22 nH |
7.5 pF |
50 Ω |
| 27 nH |
5.7 pF |
50 Ω |
|
|
|
193
|
Fri Feb 10 15:55:53 2023 |
Jack Tillman | Building - Matching Circuit PCB | I've completed laying out the PCB for the 14-rung matching circuit. Attached are png files of two PCB designs. One uses LPS5050 inductors while the other uses LPS6235 inductors. The dimensions shown are in millimeters. |
|
|
189
|
Tue Jan 31 11:30:54 2023 |
Audrey Zinn | Building | Attached are the XF files for the top 5 individuals from the 2022_12_29 crazy sides run. In order from best to 5th best:
1: Gen 29 Indiv 87
2: Gen 19 Indiv 96
3: Gen 13 Indiv 84
4: Gen 9 Indiv 50
5: Gen 18 Indiv 89
These can also be found in /fs/ess/PAS1960/BiconeEvolutionOSC/BiconeEvolution/current_antenna_evo_build/XF_Loop/Evolutionary_Loop/Run_Outputs/2022_12_29/2022_12_29.xf in the corresponding directories. |
|
|
2
|
Wed Feb 6 17:28:29 2019 |
Julie Rolla | Bicone User Manual (w/ links to Dipole work) | Hi all,
The working copy of the user manual can be found here: https://www.overleaf.com/6955763886pjtkckprxsyp
It still need to be tested by someone new to see if edits need to be made. I have uploaded the copy that is finalized as of this day. Note if you click on the overleaf version that may be more up-to-date. This copy is added as a PDF so we can keep track of versions. |
|
|
17
|
Thu Nov 7 16:55:00 2019 |
Cade Sbrocco | Archiving Old Genetis Manual | |
|
|
11
|
Wed Apr 3 16:38:07 2019 |
Julie Rolla | AraSim update | General update
The following were the fixes we made to make AraSim run:
(1) As of March, the loop breaks at AraSim. We have found that our program XFintoARA.py does not properly format the output in the form that AraSim is looking for (as an input). Jorge gave us a sample AraSim input file to help us edit XFintoARA.py so that it formats the file correctly. Note that we found white space is also must match in order for the format to be correct.
Now that we have fixed this, AraSim now runs. Attached is the following sample Jorge gave us of the proper AraSim inputs. If needed, it's available to refer back to.
(2) After correcting the AraSim input file formats (outputs of XFintoARA.py), we ran it. It failed to finish running after hours of run time. We found that we were using default input parameters for AraSim -- which wasn't triggering in a timely fashion. Once we edited the parameters, it ran successfully. Note that this was not run within the loop. Confirmation of the full loop running has not been completed.
The parameters of interest need to be edited in setup.txt. To see which file in AraSim I am referring to, please see the .txt file attached. Note that we will be editing the bash script to allow the user to change these input parameters there. The following red lines are what need to be set:
EXPONENT=21
NNU=100 // number of neutrino events
NNU_PASSED=10 // number of neutrino events that are allowed to pass the trigger
ONLY_PASSED_EVENTS=1 // 0 (default): AraSim throws NNU events whether or not they pass; 1: AraSim throws events until the number of events that pass the trigger is equal to NNU_PASSED (WARNING: may cause long run times if reasonable values are not chosen)
NOISE_WAVEFORM_GENERATE_MODE=0 // generate new noise waveforms for each events
NOISE_EVENTS=16 // number of pure noise waveforms
TRIG_ANALYSIS_MODE=0 // 0 = signal + noise, 1 = signal only, 2 = noise only
DETECTOR=1 // ARA stations 1 to 7
NOFZ=1
core_x=10000
core_y=10000
EXPONENT gives the energy of the neutrinos. Note that higher energies will have more pass, as the energies don't dissipate as rapidly. For now, we are running at this energy. Eventally, we will want to use the full Kotera spectrum. Otherwsie, we would be finding the performance of an antenna at only one energy. Just to check the loop, we are going to use EXPONENT=21 to get events to trigger faster.
ONLY_PASSED_EVENTS decides which of the two options to use to determine when AraSim is finished running: (1) Throws 'NNU' number of events at antennas and stops regardless of how many pass (in this case ONLY_PASSED_EVENTS=0) , or (2) throws as many events at the antenna as needed until 'NNU_PASSED' number triggers (in this case ONLY_PASSED_EVENTS=1). Ie if this number is 10, we throw as many neutrinos at the antenna as necessary until 10 events trigger. Note that this can result in a longer run time. Additionally, a higher EXPONENT will make them trigger faster.
TRIG_ANALYSIS_MODE is a setting that determines what is being thrown. Ie- 0=signal + noise (which is what we want, and is the 'real' case), 1=signal only (would make it run faster), 2=noise only (not of interest for us).
To-Do List
(1) Commit version of XFintoARA.py since recent formatting change.
(2) Figure out how to add in Kotera spectrum (note that we wont want to do this until the WHOLE loop is functional)
(3) Edit the bash script to recreat the setup.txt making the variables in red above an editable option in the top of the bash script. Ie our variables in red above will be at the top of the bash script. Later in the bash script we will need to have it create this .txt file with the user inputs for those variables. We can do this by either (1) creating a skeleton, or (2) creating another .sh script that is run in our XFLoop.sh -- which writes the first handfull of lines based on the user inputs for our variables in red above, and then pastes in the rest of what is unchanged in setup.txt.
(4) Run the whole loop: update- we tried this today and keep getting a Veff-0 for our first antenna along with the error
Warning in <TFile::Init>: no StreamerInfo found in /datapool/software/anita/lib/G__RootFftwWrapper_rdict.pcm therefore preventing schema evolution when reading this file.
Error in <TStreamerInfo::Build>: AraEventCalibrator, discarding: unsigned short* fAtriPeds, no [dimension]
others run as expected
(5) Work on the paper: Amy added a skeleton of sections to add for the GA. Date of completion should be in-line with APS.
(6) APS talk slides.
(7) Edit the manual and add:
- The changes that will occur when task (3) is done.
- A sample of how AraSim inputs -- or XFintoARA.py outputs -- should look.
- This stuff: http://radiorm.physics.ohio-state.edu/elog/GENETIS/8
- Max's AraSim plotting software (when it's done)
- Evelyn and Sophie's plotting software info (when it's done).
(8) Finish Max's AraSim plotting software.
(9) Finish Evenlyn and Sophie's plotting softare. |
|
|
197
|
Mon Feb 20 12:33:20 2023 |
Dennis H. Calderon | AraSim Simulations for Top 5 Antennas (12/2022) with Higher Stats | AraSim Simulations for Top 5 Antennas from 12/2022 Run with 3 million simulated events
Simulated using Arasim version currently used in GENETIS Loop
/fs/ess/PAS1960/BiconeEvolutionOSC/AraSim/
AraSim ROOT files stored in
/fs/ess/PAS1960/ROOT_Files_Higher_Stats/AraSim_Loop_122022/Feb_2023_Crazy_Sides/
Antennas simulated
- Generation: 13, Individual: 84
- Generation: 18, Individual: 89
- Generation: 19, Individual: 96
- Generation: 29, Individual: 87
- Generation: 9, Individual: 50
Results
| Antenna |
Total Events |
Triggered Events |
Weighted Events |
Effective Volume |
Effective Volume Error |
| 13_84 |
2995982 |
40251 |
16058 |
5.71 |
0.035 |
| 18_89 |
3010000 |
40224 |
15963 |
5.65 |
0.035 |
| 19_96 |
3010000 |
39989 |
16034 |
5.68 |
0.031 |
| 29_87 |
3010000 |
40056 |
16049 |
5.68 |
0.034 |
| 9_50 |
3010000 |
40042 |
16057 |
5.69 |
0.034 |
| ARA_Sym_Bicone_6in |
3010000 |
36627 |
14334 |
5.08 |
0.032 |
Conclusion
Antenna from Generation 13 Individual 84 performed the best with these stats |
|
|
240
|
Tue May 21 09:55:57 2024 |
Jacob Weiler | AraSim CSE Spring 2024 Work | # AraSim CSE Spring 2024 Work
## Goals
The main goal was to get a working multithreaded version of the AraSim codebase working. Doing this, the hope was to learn how to multithread the code and get it in a good place to hopefully also integrate GPU's at a later date.
## Where is it at currently?
A bulk of the work done was to functionalize the Connect_Interaction_Detector_V2 to allow for multithreading and to cleanup codebase.
### Going through code added/changed
Helper functions for multiple parts of code. They went through and split it up into multiple parts. Putting line numbers when needed
Part 1: Clearning Antenna Data
Part 2: Determine gain channel
Part 3: solve ray tracing (Not Done)
Part 4: Process Ray Tracing Solution (Not Done)
Part 5: Calculate Signal Factors (Not Done)
Part 6: Calculate Antenna Gain Factors (Not Done)
Part 7: Process Frequency Domain Signal
Part 8A: Process Neutrino Events. Lines 908 - 1208 (Not Done)
Part 8B: Process Arbitrary Events. Lines 1209 - 1475
Part 8C: Process Simple Pulser Simulation. Lines 1478 - 1747 (Not Done)
Part 8D: Process PVA Pulser Simulation. Lines 1751 - 2110 (Not Done)
Part 8E: Process Calpulser Event. Lines 2113 - 2445
Part 9A: Process Noise. Lines 2593 - 2955
Part 9B: Process Trigger and Mimic Waveforms. Lines 2994 - 3624
## What still needs to be done?
- Multithreading still isn't working, multiple threads are writing data to the same place causing the program to crash. This need to be resolved to at least have a working prototype.
- I believe for multithreading we need to mark explicitly where file/data writing is happening to be able to adjust to make thread-safe
- Double checking that new functions are passing variables in the correct way. The CSE students had this has a slight fear.
- Some helper functions are still not completed (3-6, 8A, 8C, 8D)
- Current completed parts of code are all in separate branches and need to be merged after double checking that variable passing is correct |
|
|
148
|
Fri Mar 25 17:14:01 2022 |
Alex M | Antenna Minimum Length Investigation | The reviewer of the paper we are trying to publish (as well as other external colleagues we showed the paper to) asked about our minimum length we implemented in the loop. Currently, we cut off the length at a minimum of 37.5 cm for each cone (minimum of 75 cm for the full cone). There is an ELOG post from Amy that presented the reasoning for this ( http://radiorm.physics.ohio-state.edu/elog/GENETIS/81 ). We initially thought that we needed a minimum because the antennas were evolving to be small (around and lower than the minimum). We thought that XFdtd was being inaccurate at lengths lower than 37.5 cm, so we set that as a minimum. To see if we can replicate any strange behavior from XFdtd, I simulated antennas at and below our minimum length and generated plots of their antennas responses. The genes are listed below, corresponding to the patterns in the plot. The results do not look unusual (that is, not dissimilar to the other bicones we have generated, including the ARA bicone) and seem to show an improved sensitivity in the upward direction for shorter bicones. The equation we used to arrive at this minimum (f = c/(4L)) might be indicative of a maximum length rather than a minimum.
| Inner radius |
Length |
Quadratic |
Linear |
2.4892,37.5,-0.00142604,0.032832
4.64522,37.5,0.00153863,-0.14004
2.4892,34.5,-0.00142604,0.032832
4.64522,34.5,0.00153863,-0.14004
2.4892,31.5,-0.00142604,0.032832
4.64522,31.5,0.00153863,-0.14004
2.4892,27.5,-0.00142604,0.032832
4.64522,27.5,0.00153863,-0.14004
2.4892,23.5,-0.00142604,0.032832
4.64522,23.5,0.00153863,-0.14004
2.4892,19.5,-0.00142604,0.032832
4.64522,19.5,0.00153863,-0.14004
2.4892,15.5,-0.00142604,0.032832
4.64522,15.5,0.00153863,-0.14004
|
|
|
27
|
Thu Dec 5 14:32:54 2019 |
Julie Rolla | Adding Constraints To-Do List | In my last post, I mentioned (1) our to-do list for adding the ARA hole constraints, and (2) that we've made a mistake upon implementing it. I've attached detailed steps of that to-do list that I've written, as well as an explanation for the correction that is currently being worked on. Please see the pdf attached for an explanation of corrections.
|
|
|
Draft
|
Tue Apr 11 00:36:49 2023 |
Bryan Reynolds | AREA physics of results plot first look | After some work, I've gotten the physics of results plotting script provided by Dennis working to compare the ARASim outputs from an AREA run to a set of reference data for the ARA bicone (provided by Alex). Among the outputs is a histogram of of events triggered vs cos(theta_nu) (attached here). This is the plot that was previously presented in GENETIS talks in the physics of results discussion.
Here I compared the best individual from the AREA results (Blue- "source_2") that I have on hand (only the ARASim output files from the most recent generation ran are currently saved) with the ARA bicone reference data (Red- "source_1"). Both datasets included a total of 150,000 NNU. Note that the AREA run used was a single frequency test, meaning that the radiation pattern was held constant for all frequencies in the band.
Also attached for reference are the gain pattern of the associated individual from the AREA output and the violin plot of the run producing the data. |
|
|
218
|
Thu May 11 15:57:08 2023 |
Ryan Debolt, Byran Reynolds | AREA Updates | Here is some backlogged information as well as recent updates to our progress on AREA and its optimizations:
4/13/2023
We concluded our initial test of the AREA optimization loop. While analyzing our results, we noticed that most of our runs never reached our benchmarks for performance (chi-squared scores of .25 and .1) and that those that did contain abnormally high amounts of mutation. From previous runs using the GA for the GENETIS loop, we find that mutation and immigration (Note: AREA does not use immigration) usually play a smaller role in overall growth and are simply there to promote diversity. Crossover on the other hand is what handles the bulk of the growth done by the GA. Given our results ran counter to that, we decided to look further into the matter.
Upon looking at the fitness score files, we could see that mutation-created individuals did not perform well in the best run types, but the crossover ones did contain the bulk of good scores. This lines up with expectations. However, closer inspection revealed that these crossover-derived individuals had extremely similar fitness scores, which could indicate elitism in selection methods leading to a lack of diversity in solutions. We then looked at a run that used only crossover with one selection type (roulette), and found every individual to have identical (and poor) scores that were the same up to around the 4th decimal place. This is a strong case that the selection methods used are too elitist to grow a population properly.
We dove into the AREA GA to take a look at the functions doing the selection methods, and discovered several issues potentially causing excess elitism in the GA. It seems that the roulette selection does not behave the way we have used in our other GAs. There appears to be no weighting of individuals; rather, a threshold fitness score is collected and only individuals with a fitness score above the threshold are selected. This causes elitism, as only the most fit individuals are likely to pass this threshold. Tournament was found to be similarly troubled, with a bracket size of ⅓ of the population. This is again very elitist, as it is very large, making it very likely that only the best individuals will be selected. Before we try to further optimize the AREA GA, these selection methods should be addressed and fixed.
For roulette, we propose implementing a similar weighting scheme for individuals as is used in the PAEA GAs that gives preference to the most fit individuals, but still allows others to be selected to encourage diversity of solutions.
For crossover, we propose decreasing the bracket size. This would allow a more diverse range of individuals to be selected through “winning” smaller brackets that would have a lower probability of including top performing individuals.
4/20/23
We (Bryan and Ryan) met to work on improving the selection method functions in the AREA algorithm.
For roulette selection, we added weighting by fitness score, as is done in the other GENETIS GAs, in an effort to prevent it from disproportionately selecting the most fit individuals only to become parents. As a first test, we ran an abbreviated version of the test-loop code, printing the fitness scores of the parents selected by the roulette method. The fix appears to have passed this initial test, as the fitness scores showed more variety and in the case of roulette crossover two unique parents seemed to be selected.
For tournament selection, the only change necessary appeared to be decreasing the bracket size of the tournament(s), which in turn encourages other individuals besides the most fit to be selected as parents, therefore increasing diversity of solutions. We ran out of time to test this change fully, so we will pick up here in our next meeting.
Looking further ahead, we will plan to work on refactoring the AREA algorithm to use the same functions as the other GENETIS GAs wherever possible. In the meantime, this working version can still be used for feature development so that progress is not halted.
5/11/2023
Upon looking at the results of the recent optimizations, our best runs are still taking over 40 generations to reach an optimized score. Given the speed of AraSim, this is still too slow to be considered optimal. Comparing this test loop run to the ones run on by the broader GENETIS GA, our best runs for the AREA GA are worse than the worst runs from those optimizations. As such, we have decided to pause optimizing the AREA GA in favor of adding it to the broader GENETIS one. As of today, we have finished a rough version of the generating function necessary to create new individuals. We have also started progress on the constraining functions and scaling functions that will be necessary to generate the spherical harmonics used to find the gain and phase. Once these functions are complete, we should be able to transplant this GA back into our test loop for AREA and resume optimizations.
|
|
|
151
|
Fri Apr 8 16:06:31 2022 |
Aidan Snyder | AREA - frequency linear dependence correlation test run - 04/05/2022 |
- Run Type
- Run Date
- Run Name
- Why are we doing this run?
- to see if the linear dependence on frequency was properly implemented
- What is different about this run from the last?
- Under closer examination, the previous run of AREA appeared to not linearly depend on frequency, so we recompiled the GA in order to fix this
- Symmetric, asymmetric, linear, nonlinear?
- Number of individuals (NPOP)
- Number of neutrinos
- Operators / Selection methods used (% of each)
- roulette crossover 50%
- roulette mutation 16%
- tournament crossover 18%
- tournament mutation 16%
- Are we using the database?
- Result
- There is a problem with how the GA has assigned the Veff values, resulting in many individuals being assigned zero Veff, however the linear dependence seems to have been implemented successfully
Note: We also ran a run called 20220405fahimi5run1, which was a short test run with a very low amount of individuals and neutrinos which seemed to work fine; as in the linear dependence seemed to work. |
|
|
Draft
|
Sun Apr 5 15:07:50 2026 |
Aidan Snyder | AREA - frequency linear dependence correlation test run - 04/05/2022 |
- Run Type
- Run Date
- Run Name
- Why are we doing this run?
- to see if the linear dependence on frequency was properly implemented
- What is different about this run from the last?
- Under closer examination, the previous run of AREA appeared to not linearly depend on frequency, so we recompiled the GA in order to fix this
- Symmetric, asymmetric, linear, nonlinear?
- Number of individuals (NPOP)
- Number of neutrinos
- Operators / Selection methods used (% of each)
- roulette crossover 50%
- roulette mutation 16%
- tournament crossover 18%
- tournament mutation 16%
- Are we using the database?
- Result
- There is a problem with how the GA has assigned the Veff values, resulting in many individuals being assigned zero Veff, however the linear dependence seems to have been implemented successfully
Note: We also ran a run called 20220405fahimi5run1, which was a short test run with a very low amount of individuals and neutrinos which seemed to work fine; as in the linear dependence seemed to work. |
|
|
146
|
Fri Feb 11 16:34:54 2022 |
Aidan Snyder | AREA - frequency linear dependence correlation test run - 01/18/2022 |
- Run Type
- Run Date
- Run Name
- Why are we doing this run?
- to see if the linear dependence on frequency was properly implemented
- What is different about this run from the last?
- attempted to evolve gain pattern as a linear function of frequency
- Symmetric, asymmetric, linear, nonlinear?
- Number of individuals (NPOP)
- Operators / Selection methods used (% of each)
- roulette crossover 50%
- roulette mutation 16%
- tournament crossover 18%
- tournament mutation 16%
- Are we using the database?
|
|
|
153
|
Tue Apr 19 17:46:07 2022 |
Aidan Snyder | AREA - Short run testing stringReplacement2.py - 04/19/2022 |
- Run Type
- Run Date
- Run Name
- Why are we doing this run?
- Check to see if stringReplacement2.py changes were successfull
- What is different about this run from the last?
- added below code in order to create a fitness file inside of each generation to display the fitness scores for just that generation, as opposed to just having one big file full of all the generations.
f2 = open(source + "/" + "gen_{}".format(gen) + "/fitnessFile_gen_{}".format(gen) + ".txt", 'a')
f2.write(','.join(mean_Veff_array) + "\n")
f2.close()
- Symmetric, asymmetric, linear, nonlinear?
- Number of individuals (NPOP)
- Operators / Selection methods used (% of each)
- roulette crossover 50%
- roulette mutation 16%
- tournament crossover 18%
- tournament mutation 16%
- Are we using the database?
|
|