Previously, I worked as a Simulation Project Engineer with Emerson in Saint Louis, MO. I worked in the field of process simulation and control. My focus was building low-cost process simulations used for agricultural processing plants, pulp and paper, water/wastewater treatment and power generation. I also worked as an instructor who taught control engineers how to develop and maintain simulations.

In 2013, I earned a B.S in Mechanical Engineering at Missouri University of Science and Technology. From 2014 to 2018, I attended Computer Science courses at University of Missouri-Saint Louis. Currently, I am enrolled with Georgia Institute of Technology to earn a M.S. in Computer Science.

My hobbies include rock climbing, mountain biking, hiking, and skiing.

]]>In this video, I present on the paper *Leave Your Phone at the Door: Side Channels that Reveal Factory Floor Secrets.* This presentation is part is for the Cyber-Physical Systems Security class I am attending at Georgia Tech. The paper can be found at this link.

In this project, we will model a compressible fluid. Natural convection forces will affect the fluid. The simulation will model the transient behavior of a starting temperature or input heat. The simulation will be 2-Dimensional to display the results easier. Lastly, the model will use constant Cartesian cell structure to simplify the problem.

The Navier-Stokes momentum equations for 2D Cartesian flow will be used to determine the fluid velocities

Conservation of mass will be used to determine fluid densities

A conservation of energy equation was developed by including conduction, convection and external heat to the first law of thermodynamics

The ideal gas law will be used to determine pressure

A finite difference approximation will be used to solve the fluid state at future time intervals. A small time step and cell size will be desired to maximize accuracy. Central difference approximations will be used to reduce any directional biases.

When using a finite difference, we can encounter a problem. The grid below uses the same cells to represent both pressure and velocity.

Since we are using a central difference approximation, the velocities of center square is based on the pressure difference between it’s neighbors. We can see how the equation does not compare the squares current pressure between it’s neighbor squares.

If there is not a pressure differential between the 2 opposite neighbor cells then we do not get flow. As a result, a checkerboard pattern will emerge. The image below shows a possible solution.

This solution solves the governing equations but creates a system that is unrealistic. In a real system, we would see flow from the 4-pressure elements into the 2-pressure elements.

A better solution uses different, overlapping areas for the pressures and velocities. In the improved solution, the pressures exist in each area of the grid and the velocities represent the flows between the pressure cells. This solution is represented below.

With our improved grid model, we can finally solve the governing equations using a finite difference approximation. The following equations can calculate the next simulation conditions based on the current conditions.

Navier-Stokes equations for velocity

Conservation of mass for density

Conservation of energy for temperature

Ideal gas law for pressure

These equations can directly be used in our simulation. Beyond these equations, we will have to consider the boundary conditions. The boundaries can be modeled in many different ways so we will review them later. With all that in mind, we can begin the design and development of our simulation.