Journal ArticleDOI
An Object-Oriented Design for Two-Dimensional Vortex Particle Methods
TLDR
An object-oriented design used to implement a vortex particle based flow solver in two dimensions is described and the various abstractions that arose as a result of this design are provided.Abstract:
Vortex methods offer a grid-free alternative to simulating incompressible, viscous, fluid flows. They require the use of fairly sophisticated algorithms and can be complicated to implement for general flows. This article describes an object-oriented design used to implement a vortex particle based flow solver in two dimensions. We provide an overview of the various abstractions that arose as a result of this design. Several of the algorithms have common components that may be abstracted and reused. We demonstrate how the design allowed us to derive the traditional benefits of OOD. In addition, we show how the design directly suggested elegant generalizations of existing algorithms. Finally, we show the benefits of using software testing techniques and building a powerful scripting layer for the library.read more
Citations
More filters
A unit-aware matrix language and its application in control and auditing
TL;DR: The first part of this thesis describes a unit-aware matrix type based on dimensioned linear algebra that infers principle types for linear algebra expressions that is used to constructunit-aware value cycle models from the field of control and auditing.
Proceedings ArticleDOI
A case study: agile development in the community laser-induced incandescence modeling environment (CLiiME)
TL;DR: Some of the software-engineering practices adopted in a scientific-software application for a laser-induced incandescence community model for a collaborative model that is to be extended, modified, and used by different researchers are discussed.
References
More filters
Journal ArticleDOI
Matplotlib: A 2D Graphics Environment
TL;DR: Matplotlib is a 2D graphics package used for Python for application development, interactive scripting, and publication-quality image generation across user interfaces and operating systems.
Book
The C++ Programming Language
TL;DR: Bjarne Stroustrup makes C even more accessible to those new to the language, while adding advanced information and techniques that even expert C programmers will find invaluable.
Journal ArticleDOI
A fast algorithm for particle simulations
TL;DR: An algorithm is presented for the rapid evaluation of the potential and force fields in systems involving large numbers of particles whose interactions are Coulombic or gravitational in nature, making it considerably more practical for large-scale problems encountered in plasma physics, fluid dynamics, molecular dynamics, and celestial mechanics.
Journal ArticleDOI
IPython: A System for Interactive Scientific Computing
Fernando Perez,Brian E. Granger +1 more
TL;DR: The IPython project as mentioned in this paper provides an enhanced interactive environment that includes, among other features, support for data visualization and facilities for distributed and parallel computation for interactive work and a comprehensive library on top of which more sophisticated systems can be built.
Related Papers (5)
Finite elements and object-oriented implementation techniques in computational fluid dynamics
Adaptive finite element simulation of flow and transport applications on parallel computers
Graham F. Carey,Benjamin S. Kirk +1 more