scispace - formally typeset
Search or ask a question
Journal ArticleDOI

An Object-Oriented Design for Two-Dimensional Vortex Particle Methods

TL;DR: 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.
Citations
More filters
01 Jan 2019
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.
Abstract: Support for units of measurement is the main topic of the research project described in this thesis. In this interdisciplinary project, knowledge from the fields of computing and auditing is combined to investigate the possibilities of unit-aware organization modeling. Such modeling also requires computations in proper units of measurement and thus a unit-aware programming language. 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. In the second part the matrix type is used to construct unit-aware value cycle models from the field of control and auditing.

34 citations

Proceedings ArticleDOI
18 May 2013
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.
Abstract: The multidisciplinary requirements of current computational modeling problems preclude the development of scientific software that is maintained and used by selected scientists. The multidisciplinary nature of these efforts requires the development of large scale software projects established with a wide developer and user base in mind. This article describes some of the software-engineering practices adopted in a scientific-software application for a laser-induced incandescence community model. The project uses an Agile and Test-Driven Development approach to implement the infrastructure for the development of a collaborative model that is to be extended, modified, and used by different researchers. We discuss some of the software-engineering practices that can be exploited through the life of a project, starting with its inception when only a hand full of developers are contributing to the project and the mechanism we have put in place in order to allow the natural expansion of the model.

13 citations


Cites background from "An Object-Oriented Design for Two-D..."

  • ...Sandia is a multi-program laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the National Nuclear Security Administration under contract DE-AC04-94-AL85000....

    [...]

References
More filters
Journal ArticleDOI
TL;DR: In this paper, a numerical method for solving the time-dependent Navier-Stokes equations in two space dimensions at high Reynolds number is presented, where the crux of the method lies in the numerical simulation of the process of vorticity generation and dispersal, using computer-generated pseudo-random numbers.
Abstract: A numerical method for solving the time-dependent Navier–Stokes equations in two space dimensions at high Reynolds number is presented. The crux of the method lies in the numerical simulation of the process of vorticity generation and dispersal, using computer-generated pseudo-random numbers. An application to flow past a circular cylinder is presented.

1,427 citations

Book
Bjarne Stroustrup1
01 Aug 1991

1,230 citations


"An Object-Oriented Design for Two-D..." refers methods in this paper

  • ...” In the present work, the C++ programming language [Stroustrup 1998] is used for the implementation....

    [...]

  • ...In the present work, the C++ programming language [Stroustrup 1998] is used for the implementation....

    [...]

Journal ArticleDOI
TL;DR: Recent progress in the development of vortex methods and their applications to the numerical simulation of incompressible fluid flows are reviewed in this article, with a focus on recent results concerning the accuracy of these methods, improvements in computational efficiency, and development of three-dimensional vortex methods.

928 citations

Proceedings Article
01 Jan 2007
TL;DR: The design philosophy of python enforces code readability, and Python is aimed at combining remarkable power with a clear syntax.
Abstract: Python is an interpreted, general purpose language. An interpreted language is a language that needs to be interpreted by an interpreter. The program codes written using an interpreted language are supposed to be executed using an interpreter. The interpreter performs various functions. For example, the interpreter executes the source of the programming language directly. So, the interpreter translates the source code into a code that can be understood by the user. In addition, python is a high level programming language .The design philosophy of python enforces code readability. Python is aimed at combining remarkable power with a clear syntax. The standard library of python is large and comprehensive. Python is different from other languages.

924 citations