Updates and Results Talks and Posters Advice Ideas Important Figures Write-Ups Outreach How-To Funding Opportunities GENETIS
  GENETIS, Page 4 of 13  ELOG logo
ID Date Authordown Subject
  40   Tue Mar 17 16:18:29 2020 Julie RollaGENETIS Planning Meeting

Attendance: Julie Rolla, Alex M. 

Today Alex and I met to discuss how to move forward given the COVID-19 restrictions. We have resent out a message polling people's schedules to create online working sessions. Here is what we are planning:

 

Group name Tasks Participants Times per week to meet
Loop Group Running the loop, updating software, getting plots Julie, Alex M., Alex P.  2
Lecture Attend Leo's lectures Full group 1
Training (Python, c++, and Bash projects) Completing the training modules (Alex M. and Julie will be answering questions) Mitchell, Ryan, Evelyn, Eliot, Julie, Alex M.  2

Once we collect times for each group, we will have separate meetings for all of these entities. This way it's easier for us to meet without all having different items to discuss/work on. All of these will be zoom meetings moving forward. Meeting info will be announced shortly!

Tasks for "the Loop Group":

  1. Make wall time a variable for XF sim.
  2. Test current software edits.
    1. Such as item #1 above
    2. Make sure the bottleneck function is working.
      1. Right now it seems to be working; however, we keep hitting a wall time error. If we can make the wall time a variable then we can be sure the bottleneck function is working, and the wall time is truly the error. 
  3. Get Ruby working on XF
    1. when I type:
      /usr/local/xfdtd/7.8.1.4/remcom/bin/xfdtd        I get:
      Info: Using latest available version (7.8.1.4)
      Info: Running /usr/local/xfdtd/7.8.1.4/remcom/XFdtd_7.8.1.4/bin/xfdtd 
      Error: Unable to find executable to run.  This command must exist
  4. Get Alex's account of Ruby working. 
    1. He received an email and is still unable to log in. He is touching base with them again. 

Tasks for "the Training Group":

  1. Julie and Alex need to finish the C++ project! 
  41   Wed Mar 18 15:01:10 2020 Julie RollaONBOARDING: Tutorial Projects, Reading, Setup, etc. for New Students

For each new student joining the group, we ask them to onboard by completing each of the following items in the order given:

(1) Go to osc.edu and request an account

(2) Complete the following tutorials and reading. Note that the order of these does not matter, however, I would suggest "how to use Git" comes last, as it is the lease important for you to start. Finally, I advise you work on a tutorial concurrently with reading the pages assigned below from my Dissertation. 

(3) Finally, review the full manual and complete the bullets below. The full manual is Appendix A of Julie's Dissertation.

  • Appendix A of my dissertation is our manual and acts as the holy grail of our research. Anything you need can be found here (from where our info exists on the web, to how to run the code). 
  • Once you have read this through entirely, we advise you log on to OSC and explore the code for PAEA in PAS1960. Once you have done so, complete this homework by making a copy of this google doc and filling it out on your own. 

Once these are completed, the students are ready to start helping. This is all of the coding information and basic background information on evolutionary algorithms students must know to be proficient in assisting. 





Other useful materials we have may include:

  1. Our old GENETIS manual 
    1. This is somewhat out of date; however, it does have information on the general working on the loop. 
  2. Julie's candidacy paper 
  3. Complete the writing a genetic algorithm in C++ project
    1. This is still a work in progress! I'll complete it shortly!
  4. Read chapter 3 of this book (more if you have time) by Eiben and Smith, "Introduction to Evolutionary Computation" for a quick introduction. The book should be available electronically from a university library.  Let us know if you can't find it there.
  5. Get to know XFdtd
    1. XFdtd manual is also attached; however, the link above (in 5) is more useful for coding a .xmacro.
       

Important notes:

MAC USERS: Using a GUI when connecting to OSC via SSH from your terminal.

You will need to set up X11 forwarding. Otherwise, when you go to plot via SSH, they will not display (they don't forward from OSC to your machine). If you are unable to run GUI's on OSC through your computer's terminal, follow these instructions:

  1. In your own system's terminal, type: sudo vi /etc/ssh/sshd_config
  2. Search for the following line: X11Forwarding no
  3. Change it to: X11 Forwarding yes. Save the file and exit.
  4. In your own system's terminal, type: sudo systemctl restart sshd
  5. For a Mac, download and install XQuartz.
  6. Connect to OSC using ssh -XY username@hostname.
  7. You can test that this works by typing 'xeye' or 'xclock' in the terminal when logged into OSC. 

Now you should be able to use OSC's GUIs.

 

PC USERS: 

As a PC user, there are a few things you need to do:

(1) Enable the Windows Subsystem for Linux on your device (https://developerinsider.co/stepwise-guide-to-enable-windows-10-subsystem-for-linux/#:~:text=To%20enable%20the%20Windows%20Subsystem,list%20here%20and%20click%20OK.)

(2) Get Bash on Ubuntu installed on your machine. You are going to need to have Bash on Ubuntu installed prior to starting these trainings; otherwise Bash commands will not be recognized.

(3) Get X11 forwarding working. Otherwise, when you go to plot via SSH, they will not display (they don't forward from OSC to your machine).

  • Follow these steps here.  
  • Change your config file. To do so, in terminal (with Bash on Ubuntu open) 
  • Make sure Putty and Xming are running every time before you ssh in. Use Xlaunch application to run Xming and press yes to everyrthing.
    • Xming should now be running as a background task.
    • Open PuTTY and open the pre-saved like you saved in PuTTY. (This will open a Bash terminal that asks for your OSC login password.)

 

 

Attachment 1: 237799239-XFdtd-Reference-Manual-pdf.pdf
  Draft   Tue Mar 24 15:38:50 2020 Julie RollaX11 Forwarding Issue for Windows

Most of our students 

(1)Ubuntu doesn't come with X11 forwarding on its own. So you can install Xlaunch

xeyes -display :0

 

 

  43   Thu Apr 2 16:14:29 2020 Julie RollaGENETIS Meeting update

This is a general update. Most of our recent meetings have been to teach the students to use Git properly, or to answer questions on the training modules. 

 

Update

1. Git Update: I recently cleaned up our Git and GitHub so that we have a better way to develop this code. Once I cleaned it up the goal is to educate all of the students to properly use Git so we develop code correctly moving forward. The repository had become quite a mess. The students were constantly developing on a branch, and never merging it back to the main branch. This means that we never had a working copy that we could run on while edits were being made in parallel. I attempted to merge the edits to the main branch with the hopes of getting this functioning so we could evolve while working on the bottleneck function; however, it looks like someone with poor knowledge of Git edited the main branch and we had an abundance of merge conflicts. 

What I've done now is reset the repository so that all merge conflicts are resolved and a working copy exists on the main branch. I've also added a .gitignore that will ignore all data files. Git doesn't like these because (1) it hates when tracked files disappear -- ie when we delete trial run data, if someone accidentally pushed it then Git complains-- and (2) it means it we constantly are adding more untracked files (every single new file we make is untracked and then gets tracked, like the flag files). So, I've had it only track useful code. 

The goal once I train the other on Git is to move the place of the data files and make it it's own git repository (once we start doing fewer trial runs so we won't lose important data). If the others learn to check the status of files before pushing them, they can make sure they don't push useless trial data sets, and either (1) delete them, or (2) add them to the .gitignore.

As for now, we successfully have the working, run-able copy on the main branch now. When any more revisions are made (e.g. the talk of adding the wall time variable), we can branch and edit on that so we still run. 

 

2. Evolution/bottleneck update: We got the loop working to the point that it can run all the way through a generation without fatal problems. The only potential problem we can see right now is if we need to go backward in the savestate. We're working on making that not a problem--the solution is to better organize the output files and data, which we were interested in anyway. Right now we are running with 10 individuals in each generation. Alex got through 2 generations without a problem, so he'll keep running but now we're trying to make some of these more minor fixes so we may have to stop the run. Alex does have plots (they don't look great, but at least they're being made correctly without error). At the moment we are swimming in GPUs. We haven't had much trouble at all this week with getting them, so that's why we were able to get 2 generations done between around midnight last night and 2ish today; not sure how long that will persist, but Pitzer has had relatively little usage whenever we've looked lately.

 

Comments on the plots: We're discussing this now, we don't think the individuals should really be color coded/separate on the legend because it is not like they follow one individual across multiple generations; however, we do need to label the dotted line. Another thing we were considering is decreasing the penalty factor for when the cones are too big for the hole. If we get something with a much much better Veff but it's only slightly larger than the hole, it might be worth it to help that one stick around a little bit more.

 

3. Wall time Variable Update: Also, last week Carl and Alex talked about the variable wall time again. We decided the best idea is to start by implementing a variable wall time based on the cylindrical volume that he mentioned before, but in the future, we might also be able to check the time of each GPU job and then plot it against the dimensions of the cone/cylindrical volume to get a better estimate of the wall time for each job

 

 

 

 

Attachment 1: Fitness_Score.png
Fitness_Score.png
  44   Tue Apr 7 15:48:54 2020 Julie RollaGENETIS Meeting Update

Meeting Attendance: Julie, Alex M., Alex P, Eliot, Leo, Evelyn, Mitchell, Ryan. 

Today is the deadline for confirming our attendance at the virtual APS meeting. Alex M. will be confirming and we will be orienting ourselves so that we can have some results. Here is our to-do list for today:
 

  1. Create a method for automatically adding our plots to dropbox each day. 
    • The way we are going to do it is by adding the command: mail -s "Test Subject" someemailaddress@gmail.com < testScript
      • We will create a random email to use for this that will only be receiving emails from this command. 
      • We are trying to find and set up a client that as soon as this random email address receives an email, it uploads it to the Dropbox here
    • This is still being worked on. 
  2. Start developing a database of old antenna runs and parameters, and pull data from that for any repeat dimensions. 
    • This should speed up some of our run time. 
    • We want to create a database of old antenna dimensions and their associated UAN files. That way, if we repeat an antenna geometry very closely, instead of re-submitting a job to produce the gain patterns, we can pull from one that has already been created.
    • This should limit:
      • The number of jobs we have to submit.
      • The number of GPU hours/minutes we have to request and wait for.
    • These should probably still be run through AraSim, however, since the energy could change from run to run.
  3. Keep running and collecting data. 
    • Do we want to run and have data for 20ish generations with 10 individuals for APS?
      • We have already made some progress on this so we could likely make more generations for APS if we keep going. 
    • Do we want to instead switch to doing something like 20 individuals even if we get fewer generations completed?

 

Notes apropos developing our database for antenna info. This is how we are going to do it, and what we need to develop in our code:

  1. Add all info to csv files.
    • The csv files will have columns: length, radius, theta, uan file directory and name (ie /file/location/database#/).
    •  # will be the row that this matches the L, R, Theta within the csv file
    • Inside /file/location/database#/ will be all the uan files for each frequency for these dimensions. 
      • We need an "if/else" statement in the bash script that tells the code to look in this csv file (read it in). 
        • IF the produced L, R, Theta match any of those that currently exist, save the 4th column (file location) to a variable (say we call it ExistingUan=/file/location/database#/). 
          • Then cd ExistingUan
          • Make a loop that:
            • does CP /file/location/database#/gen_individual_freq.uan BiconeEvolutionOSC/BiconeEvolution/current_antenna_evolution/XF_Loop/Evolutionary_Loop/Run_Outputs/$RunName/ (ie to the file name and location that XFintoAra.py reads. This will make sure that it has the data as if we actually completed the XF simulations for the antennas that had repeat sizes from our past runs (I mean past by runs we may have EVER done -- not past generations). 
              • We need to copy ALL of the frequency uan files for that individual into Run_Outputs/$RunName 
        • Else fill another line in that csv file with the L, R, Theta of this individual so we can keep it for later. 
          • mkdir the new directory /file/location/database#/
          • Add the name of this new directory (ie database#) to the 4th column on the csv file next to the correlating L, R, Theta.  
          • Then submit the XF job for this individual. 
          • Once it finished the XFSolver job and produces the .uan files (for each frequency), do a loop that:
            • cp individual_freq.uan /file/location/database#/gen_individual_freq.uan
              • Note that I wrote to cp individual_freq.uan instead of gen_individual_freq.uan. Note that XF produces it as individual_freq.uan, and it is changed to gen_individual_freq.uan when we move it into the Run_Outputs/$RunName directory.
              • So you can do it either (1) after it moves it to Run_Outputs/$RunName with the name gen_individual_freq.uan, or (2) before it moves the file with the name individual_freq.uan. 
  2. We need to make a new directory that holds all of these database# directories and their uan files, and the csv file the "if/else" statement checks. 
    • We need to add this new directory to the .gitignore!
  45   Mon Apr 13 14:43:54 2020 Julie RollaGENETIS Meeting Update

Note that Pitzer usage over the weekend was much better! Maybe weekends are our best time to run? Today (Monday) has been a little bit worse. 

Over the past few days the following items have been accomplished:

  • We got the jobs to stop canceling on OSC.
    • Issue was the destination command for the error and output files for the GPU jobs inside the GPU job script; we fixed it by taking it out.
      • This issue was causing jobs to fail. They are no longer failing, and the loop is working again.
  • Set up a way to be able to automatically upload both the L, R, Theta plots and the Fitness Score plot to dropbox as we work.
    • Set up an email that automatically uploads to dropbox under the folder GP_Antennas/Updates/DailyFitnessScoreImages when you send an attachment with that email.
    • We added this command into the loop:
      mail -s "Subject" dropbox.2dwp1o@zapiermail.com < FScorePlot2D.png
      • It automatically has it upload an image when the loop finishes a generation. It's currently so that the file will be named whatever the subject of the email is so we can control that by whatever is after the -s command. It's currently set to not overwrite.
    • Still need to add the Veff plot to dropbox. 
  • Made gitpush.sh and gitpushforce.sh
    • Each time one of us pushes changes to GitHub, it makes a permssion lock on the directories. From now on, after looking at what files are changed (using git status. Remember to make sure to add any data files missed to the .gitignore)users should do:
      • git add .
      • git commit -m "add message" or git commit --amend --no-edit
      • Then run: ./gitpush.sh if you made a full new commit, or use ./gitpushforce.sh if you amended this edit to the previous commit. They both exist in: /fs/project/PAS0654/BiconeEvolutionOSC
        • These files run the git push or git push -f commands and then immediately run a chmod to change permissions after. 
  • Alex is starting the APS slides!
    • He should be sharing them shortly. I told him to look at Suren's from last year for guidance. 
  • We have started working on adding the feature that pulls non-unique (ie repeat parameter) individuals from an antenna database. 
    • It's currently being developed on the Antenna_Database branch in git. 
    • Alex has started writing c++ code that reads in the csv file and appends unique items to it. 
    • Comments from Amy we need to remember: 
      • Doing "==" on doubles is bad!
      • We want this "likeliness" to be between 1 and 10% (start with 10%). 
        • Remember: is this difference between L stored and new L a fraction of the wavelength?
  47   Thu May 7 14:35:00 2020 Julie RollaGENETIS Meeting Update

The students have been meeting to work out the summer schedule. We are dividing into to groups:

(1) Paper writing: Julie, Alex M., Alex. P

  • We need Amy to start an overleaf draft (she has the premium version that allows you to share with more than 1 person)
  • In tomorrow's collaboration meeting (Now Fridays at 3pm) we are going to request discussion on an outline

(2) Adding wall time variable structure: Eliot, Evelyn, Leo (Alex P. will help oversee)

  • In order to prepare group (2) Alex M. has been going over the edits he started and is discussing his code. We also are taking some time to catch them up on the current code -- ie how it runs, what all of the pieces involved do -- so that they can know how to test the code after edits are made, and where each essential piece may lie. We will be going over this for the next few days in good detail. 
  • Group (2) will then be coming up with a scheduled time each day that they will be coworking on zoom. This will work the same as if they were sitting in an office together. They'll announce this time to everyone once it is set.

Alex P, Alex M, and I are going to push to rapidly finish this antenna database so that the others can create a new branch to work on the wall time variable with. This will leave us very busy for the next few days. 

  48   Mon May 11 17:56:36 2020 Julie RollaGENETIS Meeting Update

We met today for a long time and pushed to catch up. The following is what we have done:

(1) Worked for a bit on our current tasks. They will work on these current tasks before they start on their summer projects. 

  • Antenna database (Julie, Alex P., Alex M.)
  • Worked on a paper outline (Julie, Alex M.)
  • Worked on wall time variable (Eliot, Evelyn, Leo)

       Note I also have to: (1) Fix merge conflict and make sure students are good about only editing the dev branch moving forward. (2) Get branches and GitHub set up for both the asymmetric bicone and the non-linear bicone. 

(2) Went over the details of how the loop works as a group.

  • Went over how each piece works.
  • Went over how to run it. 
  • Went over best ways to test new edits. 

(3) Went over summer tasks.

  • Eliot: Add parameters to bicone (ie make bicone asymmetric)
  • Julie & Alex M.: Paper, and helping others
  • Alex P.: Frequency database for AraSim (to speed up AraSim)
  • Evelyn & Leo: Make non-linear bicone (wiggly sides) 

 

 

 

  49   Mon May 18 15:13:13 2020 Julie RollaGENETIS Daily Update

Today's Summer 2020 daily update:

 

Name Update for Today Plans for Tomorrow
Alex M.

(See Alex P. for details on working on fixing loop issues)
Went over running the loop with Ryan. Worked with Ryan on trying to get the X11 forwarding for XF to work, but we couldn't get the license. Steven suggested that we try running from a Pitzer desktop, which I think is a good idea if the problem is with the X11 forwarding; if it's a license issue, then we need to figure out where the license is located. I thought this would have been written somewhere in our code, but I couldn't find it, so I may need to email OSC.

Worked more on the symmetric bicone part of the paper. I think I could afford to add detail to the results portion. I included the plots from the APS presentation, but we still need to finish a rerun with the same number of generations and individuals to see if the data makes sense (particularly, I want to see if there was a mistake made when continuing the run after it had finished the 10th generation because I'm skeptical about the fact that we got such large angles in generation 12). 

I'll meet with Evelyn and Ryan tomorrow to discuss running the loop in more detail. I'll help Ryan use the Pitzer desktop, which will hopefully work. If all goes well, we can get them started on running the loop to check against the data from the run I mentioned in the paper. 

I'm going to try writing in the section for Genetic Algorithms in the paper, since Kai said he wanted me to take the first attempt at it. I think for now I'd like to get comments on what I've written on the symmetric bicone portion before I clean it up, especially on whether or not I've given enough detail (and clearly enough).

Alex P.  Continued to test the database functionality. In the process of testing and debugging we also tested random seed functionality of the genetic algorithm as we used a fixed seed and successfully got repeat results across multiple runs, which allowed better testing as we could be certain to encounter the same scenario when testing and figuring out how to overcome an error.Altered some of the xmacros and xf calls to work with database and created the new macro skeleton for output.xmacro to use just with the database, in the process of looking through the xmacros we found some segments of the code to investigate further. Currently, we just use values 1 to NPOP of the XF simulation and rewrite the contents of 1 to NPOP each generation, but more simulation values continue to be generated even if unpopulated. Also looked more into this and started implementing a way to take out the excess directories while also planning out a way to have each generation use new values rather than overwriting so that we can have a full record of all the simulations across generations rather than just the most recent generations.  Going to continue to test database, have a run starting gen 1 now and going to continue that tonight, hopefully will find useful results and if not then things to debug. Eliot and Leo asked for help tomorrow with C++ code as they have had some problems with pointers and I agreed to help them tomorrow.
Leo I, along with Eliot, worked on implementing the new parameter. We have been working on 2 methods, one being adding a 4th gene and the second being adding another chromosome. We are focusing our attention on the chromosome method because we feel it will lead its way nicely into our future work later this summer with adding more complicated parameters. We are running into some issues with pointers and vectors within the GA that we worked on fixing. Tomorrow we hope to fix the issues with the pointers and vectors, and hope to test it with multiple generations.
Eliot

Currently working on developing GA further to properly accept 2 chromosomes. The first chromosome has some radius, length, theta and the second chromosome has the same radius and theta, but its own unique length. I currently have the code properly populating an initial pool. However, it can not quite evolve. The GA is free of syntax errors, but I am getting some type of pointer error. I am working to resolve this. I believe it is the only obstacle left on the GA side of things, but it may not be.

I will continue working on fixing the errors in the GA, and hopefully finish that tomorrow. If so, I will begin learning about the XF implementation.

Evelyn

Had class, so I couldn't meet with the group

Get caught up with the stuff from today
Ryan    

Julie: Since I  won't be doing GENETIS work every day necessarily, I'll add myself down here with a blurb when I am working with the others. I will also be continuing my daily updates on Dropbox for non-GENETIS specifics. 

  62   Wed Jun 3 15:20:04 2020 Julie RollaExisting Info for Current Projects

Paperclip Antenna (Ryan and Evelyn working on it):

Asymmetric Bicone (Leo and Eliot working on it):

AREA (Ben working on it):

  • Github? We need to ask Steph where their past work exists.
  • See AREA thesis attached

Symmetric Bicone(Alex M. and Alex P. working on it):

Attachment 1: AREAthesis.pdf
  132   Tue Apr 6 18:00:23 2021 Julie RollaGENETIS Google Drive with Talks/Posters, Grant writings, Papers

https://drive.google.com/drive/folders/1iDamk46R2_oOLHtvsOg4jNy05mCiB7Sn?usp=sharing

  141   Fri Feb 4 16:10:32 2022 Julie RollaRun Log Template

For PAEA Algorithm:

Part I: Complete as soon as the run starts

Run details: Please answer all of the questions below!

  • Run Type
    • Answer here whether or not it's AREA (Gain pattern evolution) or PAEA (Bicone evolution)
  • Run Date
    • Add answer here
  • Run Name
    • Add answer here
  • Parameters evolved
    • Add answer here
  • Why are we doing this run?
    • Add answer here about what we are testing
  • What is different about this run from the last?
    • Add answer here with info on what we are doing differently from the last run
    • Example: We are testing a new operator, we are changing the percentages of each selection method used, etc.
  • Symmetric, asymmetric, linear, nonlinear (what order):
    • Add answer here (say N/A if this is an AREA run)
  • Number of individuals (NPOP):
    • Add answer here
  • Number of neutrinos thrown in AraSim (NNT):
    • Add answer here
  • Operatiors used (% of each):
    • Add answer here
  • Selection methods used (% of each):
    • Add answer here
  • Are we using the database?
    • Add answer here. This can be found in the main bash script within the variables section. (Answer N/A for AREA run)

Please upload the text file with all run details before closing this!


Part II: Complete as soon as the run ends

Results: Once this run completes, please upload the plot(s) to this post as an attachment, as well as a general explanation of the results. 

  • Summary and comments on results
    • Add thoughts on what we should do next here!
    • Example: "It seems like we are seeing minimal evolution. We should take a step back and try to see why we don't see improvement. Once we trouble shoot, we can start a new run to investigate."
    • Example 2: "Run looks good! Our best individual is in generation #12. Attached are the CAD drawings of that individual."

**Upload all plots, run parameter text files (file that has run settings saved), CAD models of best indivduals, etc**








For AREA Algorithm:

Part I: Complete as soon as the run starts

Run details: Please answer all of the questions below!

  • Run Type
    • Answer here whether or not it's AREA (Gain pattern evolution) or PAEA (Bicone evolution)
  • Run Date
    • Add answer here
  • Run Name
    • Add answer here
  • Parameters evolved
    • Add answer here
  • Why are we doing this run?
    • Add answer here about what we are testing
  • What is different about this run from the last?
    • Add answer here with info on what we are doing differently from the last run
    • Example: We are testing a new operator, we are changing the percentages of each selection method used, etc.
  • Single frequency run or run with broadband frequency dependence:
    • Add answer here
  • Number of individuals (NPOP):
    • Add answer here
  • Number of neutrinos thrown in AraSim (NNT):
    • Add answer here
  • Operatiors used (% of each):
    • Add answer here
  • Selection methods used (% of each):
    • Add answer here
  • Any other things to note?
    • Add answer here

Please upload the text file with all run details before closing this!


Part II: Complete as soon as the run ends

Results: Once this run completes, please upload the plot(s) to this post as an attachment, as well as a general explanation of the results. 

  • Summary and comments on results
    • Add thoughts on what we should do next here!
    • Example: "It seems like we are seeing minimal evolution. We should take a step back and try to see why we don't see improvement. Once we trouble shoot, we can start a new run to investigate."
    • Example 2: "Run looks good! Our best individual is in generation #12. Attached are the CAD drawings of that individual."

**Upload all plots, run parameter text files (file that has run settings saved), gain patterns of the two best and two worst individuals, etc**

         

 

  195   Wed Feb 15 16:33:17 2023 Jacob WeilerpueoSim Input Files

Input File Format for pueoSim (Also ICEMC)

Frequency Range: From 200 MHz to 1500 MHz incrementing by 10 MHz steps

 

There are 8 different files that are required for pueoSim. They are:

vv_0: Max Gain at each Frequency, Vertical Polarization

hh_0: Max Gain at each Frequency, Horizontal Polarization

vh_0: Max Gain at each Frequency, Vertical to Horizontal Polarization

hv_0: Max Gain at each Frequency, Horizontal to Vertical Polarization

vv_el: Gain at Theta Angles [5, 10, 20, 30, 45, 90] for each Frequency, Vertical Polarization

vv_az: Gain at Phi Angles [5, 10, 20, 30, 45, 90] for each Frequency, Vertical Polarization

hh_el: Gain at Theta Angles [5, 10, 20, 30, 45, 90] for each Frequency, Horizontal Polarization

hh_az: Gain at Phi Angles [5, 10, 20, 30, 45, 90] for each Frequency, Horizontal Polarization

Currently XF doesn't output all the information we need to create all these files. The only files able to be made from current XF outputs are vv_0, vv_el, and vv_az. Once we have the correct XF Outputs, it shouldn't be too much of a hassle to fix the current translation code.

 

Format for each of the files are the same. One column is Frequency (Hz) and the other is Gain. Attached are example files vv_0 and vv_el to visually see the format, though the frequency range is the current ARA range and not the final PUEO range as I am using ARA data to make these files. The files are named vv_0 (no .txt or .csv or any extension) and vv_el

 

Link to Google Doc with this information: https://docs.google.com/document/d/1iRUF6hIEyQfMK0LL21caRuHPgXYP30ZdkSkFv_-Y8R0/edit

Attachment 1: vv_0_1
8.33e+07 2.11822 
1.00e+08 0.9436538 
1.17e+08 1.205556 
1.33e+08 2.149637 
1.50e+08 2.729287 
1.67e+08 2.619639 
1.83e+08 2.532374 
2.00e+08 2.289813 
2.17e+08 2.406259 
2.33e+08 2.442176 
2.50e+08 2.628373 
2.67e+08 2.359219 
2.83e+08 1.761219 
3.00e+08 1.502431 
3.17e+08 2.106109 
3.33e+08 2.71283 
3.50e+08 3.247887 
3.67e+08 3.524175 
3.83e+08 3.615199 
4.00e+08 3.448137 
4.17e+08 3.003371 
4.33e+08 2.217343 
4.50e+08 0.9601937 
4.67e+08 -0.757537 
4.83e+08 -3.06678 
5.00e+08 -5.635237 
5.17e+08 -8.2271 
5.33e+08 -9.618924 
5.50e+08 -9.791239 
5.67e+08 -9.201792 
5.83e+08 -9.086395 
6.00e+08 -9.560636 
6.17e+08 -10.94548 
6.33e+08 -13.11583 
6.50e+08 -16.3255 
6.67e+08 -22.45401 
6.83e+08 -34.91041 
7.00e+08 -18.52293 
7.17e+08 -12.31584 
7.33e+08 -8.076791 
7.50e+08 -5.287256 
7.67e+08 -3.399354 
7.83e+08 -2.394224 
8.00e+08 -2.031315 
8.17e+08 -2.07204 
8.33e+08 -2.531995 
8.50e+08 -3.185455 
8.67e+08 -4.223504 
8.83e+08 -5.275337 
9.00e+08 -6.274862 
9.17e+08 -6.532893 
9.33e+08 -6.242696 
9.50e+08 -5.514515 
9.67e+08 -4.831669 
9.83e+08 -4.240883 
1.00e+09 -3.779134 
1.02e+09 -3.558248 
1.03e+09 -3.38254 
1.05e+09 -3.543484 
1.07e+09 -3.611961 
Attachment 2: vv_el_1
8.33e+07 -19.61153 
1.00e+08 -21.05896 
1.17e+08 -21.14054 
1.33e+08 -20.63561 
1.50e+08 -20.56293 
1.67e+08 -21.11712 
1.83e+08 -21.6924 
2.00e+08 -22.23107 
2.17e+08 -22.38623 
2.33e+08 -22.01034 
2.50e+08 -20.95566 
2.67e+08 -19.49215 
2.83e+08 -19.23056 
3.00e+08 -21.02166 
3.17e+08 -24.84512 
3.33e+08 -30.42641 
3.50e+08 -30.39998 
3.67e+08 -24.79053 
3.83e+08 -20.92692 
4.00e+08 -18.28975 
4.17e+08 -16.42205 
4.33e+08 -15.10437 
4.50e+08 -14.27861 
4.67e+08 -13.84517 
4.83e+08 -13.72481 
5.00e+08 -13.71555 
5.17e+08 -13.67698 
5.33e+08 -13.47088 
5.50e+08 -13.12691 
5.67e+08 -12.80078 
5.83e+08 -12.76288 
6.00e+08 -13.29937 
6.17e+08 -14.53883 
6.33e+08 -16.51551 
6.50e+08 -19.31712 
6.67e+08 -23.38054 
6.83e+08 -28.77149 
7.00e+08 -26.26056 
7.17e+08 -20.68733 
7.33e+08 -16.92428 
7.50e+08 -14.40974 
7.67e+08 -12.83548 
7.83e+08 -11.95044 
8.00e+08 -11.46287 
8.17e+08 -11.11874 
8.33e+08 -10.75576 
8.50e+08 -10.35075 
8.67e+08 -9.963577 
8.83e+08 -9.712427 
9.00e+08 -9.691508 
9.17e+08 -9.958833 
9.33e+08 -10.48243 
9.50e+08 -11.25391 
9.67e+08 -12.16331 
9.83e+08 -13.22009 
1.00e+09 -14.23114 
1.02e+09 -15.10789 
1.03e+09 -15.45052 
1.05e+09 -15.20106 
1.07e+09 -14.44125 
8.33e+07 -13.61057 
1.00e+08 -15.05177 
1.17e+08 -15.12521 
1.33e+08 -14.60951 
1.50e+08 -14.52322 
1.67e+08 -15.06334 
1.83e+08 -15.62302 
2.00e+08 -16.1491 
2.17e+08 -16.29245 
2.33e+08 -15.91477 
2.50e+08 -14.8618 
2.67e+08 -13.39692 
2.83e+08 -13.1095 
3.00e+08 -14.84329 
3.17e+08 -18.54948 
3.33e+08 -24.02788 
3.50e+08 -24.85216 
3.67e+08 -19.17134 
3.83e+08 -15.1775 
4.00e+08 -12.46181 
4.17e+08 -10.53846 
4.33e+08 -9.176889 
4.50e+08 -8.313917 
4.67e+08 -7.849362 
4.83e+08 -7.705056 
5.00e+08 -7.681289 
5.17e+08 -7.638247 
5.33e+08 -7.434054 
5.50e+08 -7.090922 
5.67e+08 -6.756147 
5.83e+08 -6.694556 
6.00e+08 -7.188318 
6.17e+08 -8.361327 
6.33e+08 -10.23697 
6.50e+08 -12.87492 
6.67e+08 -16.64803 
6.83e+08 -21.92072 
7.00e+08 -21.02616 
7.17e+08 -15.29548 
7.33e+08 -11.32251 
7.50e+08 -8.680712 
7.67e+08 -7.026238 
7.83e+08 -6.092156 
8.00e+08 -5.577537 
8.17e+08 -5.222755 
8.33e+08 -4.855792 
8.50e+08 -4.445815 
8.67e+08 -4.04485 
8.83e+08 -3.769133 
9.00e+08 -3.712655 
9.17e+08 -3.934655 
9.33e+08 -4.405427 
9.50e+08 -5.116381 
9.67e+08 -5.962245 
9.83e+08 -6.955142 
1.00e+09 -7.921253 
1.02e+09 -8.79726 
1.03e+09 -9.21963 
1.05e+09 -9.101768 
1.07e+09 -8.46457 
8.33e+07 -7.672357 
1.00e+08 -9.089356 
1.17e+08 -9.131313 
1.33e+08 -8.574198 
1.50e+08 -8.436004 
1.67e+08 -8.923278 
1.83e+08 -9.424584 
2.00e+08 -9.903976 
2.17e+08 -10.00275 
2.33e+08 -9.618365 
2.50e+08 -8.573076 
2.67e+08 -7.108304 
2.83e+08 -6.730207 
3.00e+08 -8.258189 
3.17e+08 -11.54483 
3.33e+08 -16.48101 
3.50e+08 -20.44362 
3.67e+08 -14.99668 
3.83e+08 -10.39325 
4.00e+08 -7.322492 
4.17e+08 -5.15867 
4.33e+08 -3.614434 
4.50e+08 -2.600771 
4.67e+08 -2.012469 
4.83e+08 -1.773685 
5.00e+08 -1.692136 
5.17e+08 -1.631185 
5.33e+08 -1.436829 
5.50e+08 -1.104481 
5.67e+08 -0.7477778 
5.83e+08 -0.6082266 
6.00e+08 -0.9526983 
6.17e+08 -1.891183 
6.33e+08 -3.416407 
6.50e+08 -5.508213 
6.67e+08 -8.350483 
6.83e+08 -12.36274 
7.00e+08 -15.94441 
7.17e+08 -11.94184 
7.33e+08 -7.215725 
7.50e+08 -4.031596 
7.67e+08 -2.033106 
7.83e+08 -0.8896422 
8.00e+08 -0.2599349 
8.17e+08 0.1364451 
8.33e+08 0.508579 
8.50e+08 0.9189453 
8.67e+08 1.351561 
8.83e+08 1.703014 
9.00e+08 1.881713 
9.17e+08 1.823472 
9.33e+08 1.546895 
9.50e+08 1.061567 
9.67e+08 0.4561304 
9.83e+08 -0.2820854 
1.00e+09 -1.030102 
1.02e+09 -1.782719 
1.03e+09 -2.307445 
1.05e+09 -2.516682 
1.07e+09 -2.306051 
8.33e+07 -4.297208 
1.00e+08 -5.677257 
1.17e+08 -5.671377 
1.33e+08 -5.051709 
1.50e+08 -4.836023 
1.67e+08 -5.245572 
1.83e+08 -5.661229 
2.00e+08 -6.072461 
2.17e+08 -6.104968 
2.33e+08 -5.710936 
2.50e+08 -4.682109 
2.67e+08 -3.235083 
2.83e+08 -2.745363 
3.00e+08 -3.999428 
3.17e+08 -6.728222 
3.33e+08 -10.71871 
3.50e+08 -16.85379 
3.67e+08 -15.67102 
3.83e+08 -9.610837 
4.00e+08 -5.713407 
4.17e+08 -3.051436 
4.33e+08 -1.161082 
4.50e+08 0.1202912 
4.67e+08 0.9189369 
4.83e+08 1.315152 
5.00e+08 1.493735 
5.17e+08 1.58528 
5.33e+08 1.756137 
5.50e+08 2.045786 
5.67e+08 2.395989 
5.83e+08 2.609925 
6.00e+08 2.448707 
6.17e+08 1.814713 
6.33e+08 0.7368893 
6.50e+08 -0.702895 
6.67e+08 -2.543868 
6.83e+08 -4.926394 
7.00e+08 -7.929486 
7.17e+08 -9.722289 
7.33e+08 -6.876765 
7.50e+08 -3.230588 
7.67e+08 -0.6956752 
7.83e+08 0.8078526 
8.00e+08 1.641694 
8.17e+08 2.100993 
8.33e+08 2.439688 
8.50e+08 2.768471 
8.67e+08 3.145787 
8.83e+08 3.516955 
9.00e+08 3.809434 
9.17e+08 3.95456 
9.33e+08 3.942741 
9.50e+08 3.779913 
9.67e+08 3.52297 
9.83e+08 3.16981 
1.00e+09 2.79626 
1.02e+09 2.387999 
1.03e+09 2.060452 
1.05e+09 1.836171 
1.07e+09 1.800864 
8.33e+07 -1.144795 
1.00e+08 -2.455938 
1.17e+08 -2.361629 
1.33e+08 -1.627502 
1.50e+08 -1.273074 
1.67e+08 -1.547562 
1.83e+08 -1.814825 
2.00e+08 -2.110694 
2.17e+08 -2.028768 
2.33e+08 -1.626653 
2.50e+08 -0.6542816 
2.67e+08 0.689521 
2.83e+08 1.297091 
3.00e+08 0.4526482 
3.17e+08 -1.408842 
3.33e+08 -3.855139 
3.50e+08 -7.45269 
3.67e+08 -13.8242 
3.83e+08 -21.86369 
4.00e+08 -10.18875 
4.17e+08 -4.926253 
4.33e+08 -1.717269 
4.50e+08 0.408406 
4.67e+08 1.793992 
4.83e+08 2.602153 
5.00e+08 3.033494 
5.17e+08 3.210672 
5.33e+08 3.304456 
5.50e+08 3.387133 
5.67e+08 3.514676 
5.83e+08 3.634609 
6.00e+08 3.636984 
6.17e+08 3.453297 
6.33e+08 3.09098 
6.50e+08 2.620621 
6.67e+08 2.051623 
6.83e+08 1.398647 
7.00e+08 0.6288801 
7.17e+08 -0.2089145 
7.33e+08 -0.8729058 
7.50e+08 -0.8983268 
7.67e+08 -0.1494044 
7.83e+08 0.8073187 
8.00e+08 1.548733 
8.17e+08 1.943862 
8.33e+08 2.050232 
8.50e+08 1.890077 
8.67e+08 1.512847 
8.83e+08 0.9992631 
9.00e+08 0.4794029 
9.17e+08 0.180576 
9.33e+08 0.1580454 
9.50e+08 0.4193046 
9.67e+08 0.7895336 
9.83e+08 1.223261 
1.00e+09 1.625476 
1.02e+09 2.006417 
1.03e+09 2.338812 
1.05e+09 2.613677 
1.07e+09 2.839776 
... 61 more lines ...
  235   Wed Aug 2 00:17:32 2023 Jacob WeilerXF Antenna Drawing Progress 08/02/2023

I've been building in XF and have ran into some issues but currently have the following completed:

- Struts are placed, though they are not evenly spaced and the same. I have contacted XF to try and figure out how to get rotation/patterns to do what we need

- Circuit components and circuit board are in the xf file, though the components are not on the circuit board (I'm not totally sure how to put them on, that's the next step). The circuit components should be of spec, I looked up the part numbers from the previous ELOG post and grabbed the values from the manufacturer.

 

Here are the things that have not been completed/need answered:

- How to evenly space the struts connecting the shape (as stated previously, I've contacted XF to figure out how to do this easily. Im just bad at modeling in XF)

- Add circuit components to circuit board

- Add voltage and ground connections to the circuit board

- On the circuit diagram, figure out J1 and J2 connections. Meaning, which one connects to the signal from the cable and which connects to the other cone that is used as ground?

 

To see current antenna build go to: " /users/PAS1977/jacobweiler/GENETIS/XFzone/straightened_antenna_for_Jack.xf "

Attached are pictures in case there are issues pulling up model in XF. :)

 

 

Attachment 1: sidepic.PNG
sidepic.PNG
Attachment 2: circuitboardplacement.PNG
circuitboardplacement.PNG
Attachment 3: fullpic.PNG
fullpic.PNG
Attachment 4: struts.PNG
struts.PNG
  240   Tue May 21 09:55:57 2024 Jacob WeilerAraSim 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

  243   Mon Jun 2 14:10:59 2025 Jacob WeilerBuilding 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.

Attachment 1: Building_Dump_of_Useful_Materials.txt
Building Dump: 

For Initial Building Run: 
Generation 13, individual 84 seems to be result being used (this assumption is based on the fact that when trying to straighten the sides for building they used this individual)
	/fs/ess/PAS1960/BiconeEvolutionOSC/BiconeEvolution/current_antenna_evo_build/XF_Loop/Evolutionary_Loop/Run_Outputs/2022_12_29

Elog Links for first building runs:
	- Run Details: https://radiorm.physics.ohio-state.edu/elog/GENETIS/188
	- Run Results + Gain Patterns: https://radiorm.physics.ohio-state.edu/elog/GENETIS/189
	- Matching Circuit PCB: https://radiorm.physics.ohio-state.edu/elog/GENETIS/193
	- Matching Circuit Parts: https://radiorm.physics.ohio-state.edu/elog/GENETIS/191
	- Matching Circuit Schematic: https://radiorm.physics.ohio-state.edu/elog/GENETIS/230
	- Matching Circuit Initial Design: https://radiorm.physics.ohio-state.edu/elog/GENETIS/183
	- PoR Plots 1: https://radiorm.physics.ohio-state.edu/elog/GENETIS/194
	- PoR Plots 2: https://radiorm.physics.ohio-state.edu/elog/GENETIS/196
	- Straightened Sides 1: https://radiorm.physics.ohio-state.edu/elog/GENETIS/229
	- Straightened Sides 2: https://radiorm.physics.ohio-state.edu/elog/GENETIS/236
	- Engineering Call: https://docs.google.com/presentation/d/1Lo_6mFTmPbkToTrEeOpvznSdbxyPZexPag1qijTeYyM/edit?usp=sharing
	

At some point for some reason, another run seems to have been created for building with the crazy sides run here: 
/fs/ess/PAS1960/BiconeEvolutionOSC/BiconeEvolution/current_antenna_evo_build/XF_Loop/Evolutionary_Loop/Run_Outputs/2023_09_05_realized_curved_run

Top 5 vEffective Scores:
Value: 5.09897, Generation: 41, Individual: 44 (Seems to be this one, modified) 
Value: 5.07746, Generation: 37, Individual: 16
Value: 5.05508, Generation: 37, Individual: 5
Value: 5.04558, Generation: 38, Individual: 12
Value: 5.04026, Generation: 48, Individual: 5


GENETIS Useful Links: 
	- GENETIS Google Drive: https://drive.google.com/drive/folders/1iDamk46R2_oOLHtvsOg4jNy05mCiB7Sn?dmr=1&ec=wgc-drive-hero-goto
	- Onboarding Materials: https://radiorm.physics.ohio-state.edu/elog/GENETIS/41
	- Julie's Dissertation: https://radiorm.physics.ohio-state.edu/elog/Write-Ups/220404_161525/Julie_Rolla_Dissertation.pdf
	- Julie's Candidacy: https://as-phy-radiorm.asc.ohio-state.edu/elog/Write-Ups/44
	- ICRC Proceedings: https://arxiv.org/pdf/2112.00197
	- Phys Rev D Paper: https://journals.aps.org/prd/abstract/10.1103/PhysRevD.108.102002
	- ARA Loop GitHub: https://github.com/osu-particle-astrophysics/GENETIS-ARA
	- PUEO Loop GitHub: https://github.com/osu-particle-astrophysics/GENETIS_PUEO
	- Shared Code GitHub: https://github.com/osu-particle-astrophysics/Shared-Code
	- AraSim GitHub: https://github.com/ara-software/AraSim/tree/master
	- pueoSim GitHub: https://github.com/PUEOCollaboration/pueoSim
Attachment 2: Simulating_Building_Model.txt
Simulating Building Model

Getting the model we want to build from Solidworks into XF ready for simulations took a bit of work. Here are the steps and things I did to get it to finally work with materials and everything enabled (minus conductors in the coax cable).

General Instructions to setup the antenna the same as I did. Saving after each of these steps.

Getting out of Solidworks:
To get out of Solidworks, I used .step file under the assumption that it would carry the material data over into XF (this assumption was based on what I had read online, though I was looking at the wrong places for that information as I found out later). With this assumption, we spent time getting the materials correct in Solidworks before exporting out into the .step file. I spent considerable time double checking the materials in Solidworks to make sure that everything was defined correctly with at least good enough approximations of the materials to get a simulation working.

Material definitions:

    Shells: Plastic wrapped in Copper Foil, approximated by just having the whole shell as Copper

    Screws Connecting horizontal halves: ABS (PEEK Plastic)

    Supports Connecting vertical halves: ABS

    Other screws: Non-magnetic stainless steel (Passivated 18-8 Stainless Steel)

    Coax Cable:

        Dielectric: Foam Polyethylene (FPE)

        Inner Conductor: Solid Bare Copper Covered Aluminum

        Outer Conductor: Aluminum Tape

        Outer Braid: Tinned Copper

        Jacket: Polyethylene

    Everything else: Approximated as copper (not entirely sure if they are copper fully or if they are just wrapped with copper foil)

Importing into XFdtd:
After having the step file exported, I put the file onto OSC and opened a new XFdtd project. I then clicked the "Import -> Cad Models" to select my file and have it imported. I did not import in the material data as I found out it did not import in correctly to each part, so I ignored it and manually added the material definitions later.

I now have the model into XFdtd, but it’s rotated 90 degrees to be in the horizontal plane. This isn’t inherently bad, but I want my surrounding scripts to not have to be changed much so I rotate the model to have the wire pointing in the +z direction in XFdtd. Once I’ve done this, I right click on the Braid and Inner + Outer conductors in the coax cable and select something similar to "Do not include in meshing." This now makes sure that these are NOT in the simulation.

Then, I manually added material properties into XFdtd from definitions I looked up online for the electric + magnetic properties of:

    Copper

    Plastic (ABS)

    Foam Polyethylene (dielectric)

    Polyethylene

    Aluminum

    Stainless Steel

After creating these material definitions, I applied them to the appropriate parts.

Feed adjustments:
I want the feed to be in the same location as the coax cable for the best results, problem is that there are holes in the place where the coax cable would be split (which I disabled to prevent shorting!). So, I setup two copper pucks (not much thicker than the copper pieces that cover the tops by the feeds) to fill out the holes and make sure each half is connected to each corresponding side of the feed. After I place these in the correct location, I use the same 50-ohm feed setup script used in the GENETIS Vpol loop.

Now we have everything almost ready to simulate.

Simulation Setup:
There are various things needed to be done to setup the script, and while you can use the GUI, I’m not familiar enough with it so I just used the corresponding scripts in the GENETIS loop that would be needed before an XF simulation takes place. After I run this, we are now ready to simulate.

Running Simulation:
Again, not familiar with the GUI so I just used the GENETIS XFdtd job scripts and modified them for this purpose (which was just adjusting directories of outputs). Then I submitted the job and waited for it to complete (I believe it took around 8 min per simulation for this antenna).

Getting uan files:
I then opened the simulation and ran the same code used to output UANs as used in the GENETIS loop to output all 60 uan files at the frequencies we want.

Now you should have the files for the building model that was made in CAD!

Debugging Steps I took:
This took me a while over spring break, at least a lot longer than I thought it would.

    I found out that the material data from .step file does not translate as I had expected into XFdtd so I had to manually input the material data as shown above

    I found out that hiding a part in XF does NOT exclude it from simulation, you have to remove it from meshing or it still remains there

    I did compare the geometries between the as-evolved antenna and this building model, there are differences but they are slight. Overall they are very similar

    Removing the conductors for the coax cable is necessary as it will just short the two pieces (leading back to 2) which makes sense

Final:
After doing all this, I ended up getting what I deemed reasonable for the outputs for the building model after 28 runs in my 03_13_2025_manual.xf xf file on my user. Run28 is the run that I describe setting up above this text.

The material is not 1-1 with what will be built as I found it difficult to find exact electro-magnetic properties for all of these, so maybe the discrepancies in gain could be resolved through more rigorous definitions. It could actually technically make it worse, but maybe when this is physically built this will need to be done to get more accurate results to compare against.

Simulating both of these with higher statistics in AraSim resulted in the antennas actually performing worse than the base Vpol antenna, which stinks but it is both of the antennas not just one!

After (delayed) emails back and forth with Christian Miki from University of Hawaii, he found these same issues while he was looking at the model from CAD before I went through the XFdtd simulation steps.

Material Definitions in XF:
For critique, here are the material definitions I used in the XF simulation (using XF material definition windows). You should be able to look at them in the actual xf project I mentioned above in my user (full path in slide decks)

All setup with the following:
Type: Physical
Electric: Isotropic
Magnetic: Isotropic

Passivated 18-8 Stainless Steel:
Electric Tab
Type: Nondispersive
Entry Method: Normal
Good Conductor: Automatic
Conductivity: 1.1e+06 S/m
Relative Permittivity: 1
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1.03

PEEK Plastic
Electric Tab
Type: Nondispersive
Entry Method: Loss Tangent
Good Conductor: Automatic
Relative Permittivity: 3.3
Loss Tangent: 0.003
Evaluation Frequency: 1 MHz
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1

Foam Polyethylene
Electric Tab
Type: Nondispersive
Entry Method: Loss Tangent
Good Conductor: Automatic
Relative Permittivity: 1.6
Loss Tangent: 0.0004
Evaluation Frequency: 1 MHz
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1

Polyethylene
Electric Tab
Type: Nondispersive
Entry Method: Loss Tangent
Good Conductor: Automatic
Relative Permittivity: 2.25
Loss Tangent: 0.0004
Evaluation Frequency: 1 MHz
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1

ABS Plastic
Electric Tab
Type: Nondispersive
Entry Method: Loss Tangent
Good Conductor: Automatic
Relative Permittivity: 3.2
Loss Tangent: 0.005
Evaluation Frequency: 1 MHz
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1

Copper Foil
Electric Tab
Type: Nondispersive
Entry Method: Normal
Good Conductor: Automatic
Conductivity: 5.96e+07 S/m
Relative Permittivity: 1
Infinite Dielectric Strength: Yes

Magnetic Tab
Type: Nondispersive
Entry Method: Normal
Conductivity: 0
Relative Permeability: 1
Attachment 3: Building_Dump.txt
Building Dump: 
Debugging Issues with Antenna model simulation:

Graphs to get (compared to Curved_Sides Antenna Run):
- Gain Plots 
	- Look at frequencies where dips. Could be due to: dielectric loss, mismatched impedance or structural changes
- Impedance Over Frequency Plots
	- Want impedance to be around 50 Ohm for resistive components and 0 for reactance at operational frequencies
- S11 Plots (Return Loss VS Frequency)
	- Look for where the S11 dips to determine where the antenna is resonant
- Total Efficiency Vs Frequencies
	- Drops at certain frequencies indicates problems! 
- VSWR vs Frequency
	- Lower VSWR means better matching 


in 03_13_2025_manual.xf:
Run1 = wrong material defs (deleted)
Run2 = glitched it 
Run3 = wrong material def again slightly changed tho
Run4 = wrong material, with conductor gone
Run5 = wrong material, with full wire gone
Run6 = right material, full wire gone
Run7 = right material, conductor gone
Run8 = right material, everything there feed shifted to side
Run9 = right material, feed in middle of conductor
Run10 = right material, wire gone feed offset reduced (putting closer to center). this failed because the top of the feed was disconnected
Run11 = right material, feed with correct max feed offset allowed, coax gone
Run12 = trying the same thing but with the coax gone with building the feed
Run13 = with coax cable back, feed shifted closer to middle (apparently forgot to save and it's just the same thing.. as run12) 
Run14 = adding pads and putting feed in the middle of the antenna, leave dielectric and jacket turned on
Run16 = pads, feed in middle, removing dielectric and jacket (-300 thing again.. not sure why) 
Run17 = same thing but ABS material changed and adjusted pucks a little
Run18 = same ABS material change but with only inner conductor removed (I am testing why I am getting -300..)
Run19 = removed supports, still  with pucks + only inner conductor removed  
Run20 = removing pucks, with conductor removed and new ABS material (no more -300 but very low again...) 
run21 = removed pucks, conductors(PLURAL) with new ABS Material 
run23 = back to just supports, offset feed new ABS Material
run24 = coax gone, og ABS material, with the offset feed closer to the middle
run25 = everything back to normal coax gone (something wrong)  
run26 = trying to fix the issue I'm seeing (FIXED) you have to uncheck that materials are included in meshing :/
run27 = actually removing the outer and inner conductors (yields worse gains!) 
run28 = moving to feed center w/ copper plates and with the jacket + dielectric

Seems like the wire in the middle should be plastic (or non-conducting)? based off document wangjie sent me
"If we 3D print the metal, Chi-Chih thought that we could keep them together through a plasic rod running
through the middle" (It's not!) 

maybe not, named LMR600 in solidworks which have the following material properties:
https://www.awcwire.com/lmr-cable/lmr-75-ohm-cable/lmr-600-75

screws connecting halves needed to be plastic

all other screws needed to be non-magnetic stainless steel

everything else is copper (?) 

Trying to change materials of the wire and supports (03_13_2025_building_sim_2.xf): still bad 
Trying again with same materials and putting feed down center of coax cable(03_13_2025_building_sim_3.xf): everything is -300 dBi :(
removing the copper middle part (03_13_2025_building_sim_4.xf): still bad
manually adding materials into XFdtd (03_13_2025_manual.xf): still bad, but different bad actually numbers-wise worse
	- Passivated 18-8 Stainless Steel
	- PEEK Plastic
	- Dielectric: Foam Polyethylene (FPE)
	- Inner Conductor: Solid Bare Copper Covered Aluminum
	- Outer Conductor: Aluminum Tape
	- Outer Braid: Tinned Copper
	- Jacket: Polyethylene
	- ABS Plastic
	- Copper foil

I believe the feed replaces the coax cable in the middle so I am removing the inner conductor and assuming that it will be the same as the feed. 

Dimensions of Curved Antenna (model based off this): (in cm for relevant parts) 
	- r1 = 3.20675
	- height1 = 39.3683
	- a1 = -0.0123505
	- b1 = 0.418171
	- r2 = 3.6116
	- height2 = 18.605
	- a2 = -0.0233028
	- b2 = 0.369081
	- Total height = 60.9733
Dimensions of Model in XF: (ignoring a's and b's as that's harder to measure..) (again in cm) (rough measurements in XF)
	- r1 = 3.7
	- h1 = 33.7441
	- r2 = 3.4
	- h2 = 18.71
	- total height = 55.45 (no cable) 60.6459 (including cable)

Reference run XF settings: 

- Removed the wire in the middle that was connecting the two sides: no difference (need to redo with it actually deleted + having the top plates copper) (03_11_2025_building_sim_1.xf)
- Removed middle wire AGAIN (03_13_2025_building_sim_0.xf): no difference, same issue
- Removed Supports and simulated(03_12_2025_building_sim_0.xf): This seems to have fixed the issue I'm seeing, so either the supports or the wire are shorting the antenna (or both!)
- Removed Supports ONLY(03_13_2025_building_sim_1.xf): still happening, though less extreme

For Initial Building Run: 
Generation 13, individual 84 seems to be result being used (this assumption is based on the fact that when trying to straighten the sides for building they used this individual)
	/fs/ess/PAS1960/BiconeEvolutionOSC/BiconeEvolution/current_antenna_evo_build/XF_Loop/Evolutionary_Loop/Run_Outputs/2022_12_29
 
Elog Links for first building runs:
	- Run Details: https://radiorm.physics.ohio-state.edu/elog/GENETIS/188
	- Run Results + Gain Patterns: https://radiorm.physics.ohio-state.edu/elog/GENETIS/189
	- Matching Circuit PCB: https://radiorm.physics.ohio-state.edu/elog/GENETIS/193
	- Matching Circuit Parts: https://radiorm.physics.ohio-state.edu/elog/GENETIS/191
	- Matching Circuit Schematic: https://radiorm.physics.ohio-state.edu/elog/GENETIS/230
	- Matching Circuit Initial Design: https://radiorm.physics.ohio-state.edu/elog/GENETIS/183
	- PoR Plots 1: https://radiorm.physics.ohio-state.edu/elog/GENETIS/194
	- PoR Plots 2: https://radiorm.physics.ohio-state.edu/elog/GENETIS/196
	- Straightened Sides 1: https://radiorm.physics.ohio-state.edu/elog/GENETIS/229
	- Straightened Sides 2: https://radiorm.physics.ohio-state.edu/elog/GENETIS/236
	

At some point, another run seems to have been created for building with the crazy sides run here with REALIZED GAIN: 
/fs/ess/PAS1960/BiconeEvolutionOSC/BiconeEvolution/current_antenna_evo_build/XF_Loop/Evolutionary_Loop/Run_Outputs/2023_09_05_realized_curved_run

- Run is using the same freq of interest as what we currently use!!

Top 5 vEffective Scores of Realized Gain run:
Value: 5.09897, Generation: 41, Individual: 44 (Seems to be this one, modified) 
Value: 5.07746, Generation: 37, Individual: 16
Value: 5.05508, Generation: 37, Individual: 5
Value: 5.04558, Generation: 38, Individual: 12
Value: 5.04026, Generation: 48, Individual: 5


GENETIS Useful Links: 
	- GENETIS Google Drive: https://drive.google.com/drive/folders/1iDamk46R2_oOLHtvsOg4jNy05mCiB7Sn?dmr=1&ec=wgc-drive-hero-goto
	- Onboarding Materials: https://radiorm.physics.ohio-state.edu/elog/GENETIS/41
	- Julie's Dissertation: https://radiorm.physics.ohio-state.edu/elog/Write-Ups/220404_161525/Julie_Rolla_Dissertation.pdf
	- Julie's Candidacy: https://as-phy-radiorm.asc.ohio-state.edu/elog/Write-Ups/44
	- ICRC Proceedings: https://arxiv.org/pdf/2112.00197
	- Phys Rev D Paper: https://journals.aps.org/prd/abstract/10.1103/PhysRevD.108.102002
	- ARA Loop GitHub: https://github.com/osu-particle-astrophysics/GENETIS-ARA
	- PUEO Loop GitHub: https://github.com/osu-particle-astrophysics/GENETIS_PUEO
	- Shared Code GitHub: https://github.com/osu-particle-astrophysics/Shared-Code
	- AraSim GitHub: https://github.com/ara-software/AraSim/tree/master
	- pueoSim GitHub: https://github.com/PUEOCollaboration/pueoSim
Attachment 4: done_with_change_materials.zip
  193   Fri Feb 10 15:55:53 2023 Jack TillmanBuilding - 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. 

Attachment 1: LPS5050_Dimensioned_PCB.png
LPS5050_Dimensioned_PCB.png
Attachment 2: LPS6235_Dimensioned_PCB.png
LPS6235_Dimensioned_PCB.png
  194   Mon Feb 13 14:56:57 2023 Jack TillmanBuilding - 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.

 

Attachment 1: Genetis_Physics_Plot_Comparison_Slides.pdf
  196   Sun Feb 19 17:12:34 2023 Jack TillmanPhysics Plots - 9_50, 13_84, 18_89, 19_96, 29_87

Attached is a pdf of physics plots generated for the 9_50, 13_84, 18_89, 19_96, and 29_87 crazy sides individuals along with another containing information on the amount of triggered events and effective volumes for each individual. The crazy sides individuals were simulated for 3 million events using the same Arasim version as is currently in the loop.

Attachment 1: Feb2023_Physics_Plots_Powerpoint.pdf
Attachment 2: Crazy_Sides_Triggered_Event_Data.pdf
  229   Thu Jul 6 13:12:04 2023 Jack TillmanStraightened Sides AraSim Results

After discretizing and straightening the sides of the curved antenna that performed the best (Generation 13, individual 84) and running the antenna through AraSim, the following results and physics plots were generated. 

Attachment 1: Straightened_Sides_AraSim_Results.pdf
Attachment 2: Straightened_Sides_AraSim_Results.pptx
ELOG V3.1.5-fc6679b