Titan Sims, Jack's Paper

This post covers work from 08/19-08/23

Simulations

Seeing the stability of different initial charge states

I used a 25 cells/micron, 20 particles per cell and a reduced density of 10 times the critical density (instead of 59 times), initial temperature of 1eV. I wanted to see if the target was stable assuming an initial charge state of Z=20, 40, or 60. This is for Z = 20 at 250fs after the start of the sim (without a laser):

image

To me this looks pretty stable. It takes 100fs for the leading edge of the pulse to arrive at the target (confirmed by ricky’s calculations of las_xmin_time_to_origin_from_boundary and las_delay in const.status). So I’m checking at 250fs at which time some fraction of the pulse has fully passed through the target. Here is Z=40:

image

and Z=60

image

which expandas a bit more even though there’s no laser present. One thing I noticed from the input deck is that there is a thin layer of protons, but no electrons to balance it out to make it charge neutral. From talking to Joe and Gregory, they said that PIC codes expect the simulation to be charge neutral at the start, so I should explicitly add the electrons as well to balance out the charge.

Tracking Ionization Levels

I ran a simulation with 25 cells/micron, 10 particles per cell, but am now using the full density of 59 nc. I started out the simulation 20 times ionized at just 1eV but tracked ionization states from Z = 41 (corresponding to AuZplus1) to Z = 70 (corresponding to AuZplus30). I found that the electrons expanded much quicker:

image

The protons also expanded very quickly and pretty much left the simulation after 1 picosecond:

image

The Gold Ions started out at Z=20 initially, but all ionized to Z=41 or higher almost instantaneously.

image

In fact, the ionizations pretty much skipped directly to Z = 59 and saturated at Z=69. Below is a plot for Z=68

image

And now, Z = 69,

image

for Z = 70, there are so few particles, that I cannot even see the particles on the density plot. After doing all this, I just realized I left the boundary conditions as open, so laser energy didn’t even go into the simulation The electric fields quickly balloon up to a really high number and the total energy in particles balloons up to an incredibly high number (mostly from AuZplus29):

image

Physics Table

I just realized why using the physics_table_location flag didn’t work for me. Apparently this feature wasn’t implemented until EPOCH 4.19. I am using 4.18 and its too much trouble to switch over, I remember I tried back in December 2023 and for some reason the simulations were taking really long to run. So, for now, I’ll just stick to manually defining the ionization energies and limits.

Turning off ionization

I am going to simplify things by turning off ionization. I am just going to start the target ionized to Z=69 and not hit it with a laser. I want to see if the target remains stable and doesn’t blow up in a quick timeframe. I am going to run the simulation for 500fs which is more than enough time for an appreciable fraction of the laser pulse to fully pass through the target. But again, no laser. I think I need to get this under control first, if I have any hope of proceeding with the simulation.

After doing this, I have come to the realization that starting out fully ionized seems to be an issue. I think there may just be too many electrons localized in one place and some numerical instability causes the target to explode. I have decided to upgrade to epoch-4.19 so that I could use the physics table for ionization and run my simulations tracking ionization up to the 69th level with only the multiphoton process. I will see how long this simulation runs for and what ionization level it goes up to. It will be with both lasers on, so I should be able to do a more in depth analyisis of the target, and see if it makes sense. If it takes too long, I’ll half the resolution, lower the number of particles per cell and try again.

Starting with Epoch-4.19.0

I decided to downloaded the newest version of EPOCH 4.19.0 (December 2022). I remember having issues with it when I tried in December 2023 to run Titan Simulations, but now the programs seem to run at a reasonable speed. I turned on field ionization and with it the options multiphoton and bsi for multiphoton ionization and barrier suppression ionization. With just multiphoton, it seems like I can get a simulation to run in just a few hours if I were to use 10 full nodes. The programs start out very fast, but when ionization starts, it slows down a lot, but not so much that the simulations are intractable.

I updated the plot_density function to work on a log scale with negative values so that we can show positive (blue) and negative (red) charge density separately. As an example, from 800 fs

image

We can see that the target is blue because enough electrons have left the target to leave it positively charged with gold ions. And the back edge of the target has a red cloud from the electrons building up on the back side of the target. I can adjust the max value scale to make it clearer. The protons seem to be gaining energy slowly

image

in comparison to the electrons and the total field energy which are orders of magnitude greater

3ps simulation without collisions and without barrier suppression ionization

From the outputted charge density, we can clearly see the target being hit, the hot electron sheath accelerating quickly in the target normal direction, and also some of the electrons slowly expanding just outside the target.

image

The distribution of energies peaks at the highest allowed ionizatin level of 69, so it is clear that i’ll need to up this in the future

image

The energy balloons to a very high amount, orders of magnitude greater than the energy added to the system by the laser. This tells me that this simulation is not physical at all. I am going to try ionization up to 10 and then up to 25 to see if that still has this unphysical blow up in energy.

3ps simulation with collisions and ionization on

For this simulation, most of the Au ions go up to the 69th level of ionization. So, it appears that I should track ionization to an even higher degree. Chris said that the two last electrons might be very hard to rip off (they have ionization energies in the 90k ev as opposed to 20k for the ones just before), so I’ll just track ionization up to the 7

image

I may try to include more particles per cell for just the thin proton layer. I have confirmed that the particles per cell of the ionized electrons have the same weights as the particles per cell of gold so if I leave them the same, then I should have no issues with different weight electron species.

Jack’s Paper

I successfully built Jack’s conda environment from his provided yml file. Then, I cleaned up the Fuchs generation notebook. After that, I moved onto the hyperparameter optimization part. I realized that the hyperparameter optimization part was incomplete, so I talked with Jack and decided to redo the HP optimization for the neural network. Once that is done, I’ll take a look at the training and optimization parts. The Polynomial Regression should be easy and quick to redo the HP search with the jupyter notebook. And the SVGP takes too long to do a proper grid search, but it performs well in the paper, so I don’t think there’s a need to waste computational resources in doing another grid search.

Written on August 19, 2024