Blog #5: Fractures!

I cannot believe how fast this summer has gone by. I only have two weeks left in my internship, which means I have now been working on this project for over two months. I am also moving back to Berkeley for the fall semester this weekend, which is stressful but exciting. I will finish out my internship there and start fall classes just two weeks after that.

Over the past two weeks, I have been working on further familiarizing myself with toughio and Paraview. I have been having a little bit of a hard time learning all the different commands, applications, and capabilities of all the software I have been using over the course of this internship. It is the first time I have been primarily on my own to figure out how it all works and what the implications are, and because the programs are very specific to earth-energy applications, there is not much information online. Of course, Professor Mengsu and Professor Keurfon have been very helpful and accommodating, but most of my work has been by myself. Despite the difficulties, I have really enjoyed it. Being able to work individually and remotely is a very important skill, especially given the time period, and I have definitely learned a lot from this position. 

My more concrete recent task has been writing a mesh with fractures. As seen in the top photo, the purple represents rock, the yellow is the well, and the blue is the fractures. Nearer to the well, the grain size (volume of the mesh elements) is much finer, this is because this is where most heat and fluid interactions will occur, so it is important to have a sufficiently fine grain so that these relationships and interactions are properly simulated. Writing the mesh, if you know the commands and some basic programming techniques, is really quite simple, but it can be time-consuming. I did not know all of the toughio commands for writing a mesh, so I spent quite a bit of time reading and understanding the documentation. Once I had an idea of what functions I would need to use, I worked on figuring out the geometry of my mesh, this involved equal parts research, calculations, and trial and error. After I had the commands down and knew what I wanted my mesh to look like, writing it was relatively easy. A few simple while loops and method calls, and boom -- a mesh. But of course, I had to reinstall pyvista and a couple of other python packages on my computer to get the visualization to work. Once this was done and I knew what I needed to use from these packages, I produced a simple but satisfying result.

I am going to continue to work on this problem for the rest of my internship. Right now, I am rewriting the mesh so that the grain size near fractures is smaller and assigning initial conditions so that I can run the simulation. Shortly, I will write some variations of the mesh I have already produced, with differently placed fractures, different orientations, and different widths, and I will hold everything else steady. Then by running the same simulation with slightly different fracture geometry I will hopefully be able to see how fractures affect geothermal generation.

It has taken a while, but I am finally confident in the software and ideas behind my work. I am excited to see what results I will produce and I hope to finish my internship strong. No matter what, I am honored to have had the opportunity to work on this project and I have learned a lot about TOUGH, geothermal energy, and working remotely.