scispace - formally typeset
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

P. Griffioen
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

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)