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

Engineering Commons

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

Computational Engineering

PDF

California Polytechnic State University, San Luis Obispo

Theses/Dissertations

C++

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 …


Jasmint: Language To User-Friendly Ast With Emphasis On Translation, John E. Bradbury Jun 2018

Jasmint: Language To User-Friendly Ast With Emphasis On Translation, John E. Bradbury

Computer Science and Software Engineering

The goal of this project was to create a language (JASMINT) which would be easily transformable into other languages. With this, a library could be built which provides a rich set of functions, including typechecking, interpreting, and serialization, in order to make user modules easy to write. These modules are able to translate this AST into other languages and through the translation blocks can add new functionalities to JASMINT. The final state of the project at submission includes a library which handles all features except dynamic memory, transpilers (JasmintCxxTranspiler and JasmintPythonTranspiler) which handle most features except classes and dynamic memory, …