My name is Bjorn Cristol, and I was lucky enough to get an Internship at the University of Utah with Kevin McCormack. We are doing work in the Civil and Material Engineering building, specifically studying carbon sequestration. This internship is in Salt Lake City, UT and so far I have gotten to work on computer simulations with lattices.
This week I did some python coding to find Representative Elementary Volumes (REVs – least volume where a measurement can be made that will produce a value representative of the whole) and this involved both square (CCP) and hexagonal (HCP) close packed lattices. In order to find the REV for both of these lattices, I needed to graph porosity vs sample volume. (Since we were looking at close packed lattices resembling a crosscut of a heterogeneous rock containing grains, therefore pore-space)The first step was making a domain where the lattice could be sampled. After this, I decided to make the shape of the sample a circle and then had to make a function calculating the area of Intersection between the circle representing the sample and the circles making up the lattice in the background. I began the trial and error part of my journey when I started trying to have my samples yield mostly correct values for the efficiency of the lattice structure (Since you can analytically find the efficiency of both these structures in the 2nd dimension). When this wasn’t working, I decided to just graph my standard deviation in sample output against the sample radius. When I did this, I could see that around a radius of 2 units, the standard deviation began to become more constant. With this information I then could know my upper range where the variance became less variable. Then, with some more testing I learned that I could finally graph porosity (1 – efficiency) vs sample volume for the square packed lattice. Once I accomplished this, I moved onto the hexagonal close packed lattice and had a hard time finding any open forum solutions for the trigonometry to make an HCP lattice. I spent a whole afternoon just working on this code, but once it worked, it looked perfect. Then, I tried to implement the same logic used in the CCP lattice for sample porosity but it started yielding values greater than one (since it has to be a percent this was obviously a bug). When this happened, Kevin brought me a few bags of geophones (measure seismic activity) where I could take some breaks from coding just transferring the data from them to the desktop I was working on.
I enjoyed doing the copy and pasting of serial numbers and data because it allowed me to be distracted from my code. When I got back to debugging the sample porosity, I realized I was probably messing it up because of the way i was iterating through the lattice’s coordinates of each grain. After fixing this, my standard deviations were now smooth (the graph had almost appeared to be oscillating before), but I still got a negative porosity every once and a while.
I have had a super fun experience in Salt Lake so far. I got a membership at a local rock climbing/weight lifting gym and it is very cool. It is also very close to where I am staying which makes it convenient when I have time/energy. On top of this, there is a lot of rock climbing near where I am staying (Little/Big Cottonwood Canyon etc.) and since the Granite in the Wasatch range is so beautiful I thought I should for sure use this internship as an opportunity to go try some of the rock out. I plan to take the weekends off since Kevin told me people rarely go to the University over the weekends. I am super excited to make some more friends and do a lot more climbing!! Thanks so much to the Pinhead institute for making this possible, its so amazing what you guys do.
There are no comments published yet.