Open Access. Powered by Scholars. Published by Universities.®

Engineering Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 2 of 2

Full-Text Articles in Engineering

The Development And Validation Of Sinatra: A Three-Dimensional Direct Simulation Monte Carlo (Dsmc) Code Written In Object-Oriented C++ And Performed On Cartesian Grids, David Matthew Galvez Aug 2018

The Development And Validation Of Sinatra: A Three-Dimensional Direct Simulation Monte Carlo (Dsmc) Code Written In Object-Oriented C++ And Performed On Cartesian Grids, David Matthew Galvez

Master's Theses

The field of Computational Fluid Dynamics (CFD) primarily involves the approximation of the Navier-Stokes equations. However, these equations are only valid when the flow is considered continuous such that molecular interactions are abundant and predictable. The Knudsen number, $Kn$, which is defined as the ratio of the flow's mean free path, $\lambda$, to some characteristic length, $L$, quantifies the continuity of any flow, and when this parameter is large enough, alternative methods must be employed to simulate gases. The Direct Simulation Monte Carlo (DSMC) method is one which simulates rarefied gas flows by directly simulating the particles that compose the …


Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson Jun 2018

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson

Master's Theses

Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own …