Channelflow
Details
| Last Update: | 2008-01-13 05:01:11 |
| Version: | 1.2.1 |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | John F. Gibson |
| Price: | $0.00 |
Description:
Channelflow is a direct numerical simulator for incompressible
Navier-Stokes channel flow, written in C++.
Channelflow application simulates fluid flow in a rectangular
box, with no-slip boundary conditions on the upper and lower
surfaces of the box, and periodic boundary conditions in the stream
and spanwise directions.
Channelflow uses a spectral discretization in spatial
directions (Fourier x Chebyshev x Fourier) and finite-differencing
in time, on primitive variables (3D velocity and pressure).
Here are some key features of
"Channelflow":
Flexible object-oriented programming
· Channelflow is written as a C++ class library. The
classes act as building blocks for expressing particular
channel-flow simulations and associated data analysis, and
underneath these, the mathematical structures needed to perform the
calculations. Channelflow provides classes for representing
Chebyshev expansions, Fourier x Chebyshev x Fourier expansions, DNS
algorithms, and a number of differential equations. Each class has
automatic memory management and a set of high-level elemental
operations, so that auxiliary data fields and computations can be
added to a program with a few lines of code.
· In channelflow, even the DNS algorithm is an object.
This greatly increases the flexibility of DNS computations. For
example, a DNS can be reparameterized and restarted multiple times
within a single program, multiple independent DNS computations can
run side-by-side within the same program, and DNS computations can
run as small components within a larger, more complex computations.
As a result, comparative calculations that formerly required
coordination of several programs through shell scripts and saved
data files can be done within single channelflow program.
Organized, readable library code
· Channelflow uses object-oriented programming and data
abstraction to maximize the organization and readability of its
library code. Channelflow defines about a dozen C++ classes that
act as abstract data types for the major components of spectral
channel-flow simulation (diagram of class libraries). Each class
forms a level of abstraction in which a set of mathematical
operations are performed in terms of lower-level abstractions, from
time-stepping equations at the top to linear algebra at the bottom.
The channelflow library code thus naturally reflects mathematical
algorithm, both in overall structure and line-by-line. One can look
at any part of the code and quickly understand what role it plays
in the overall algorithm. One can learn the algorithm in stages,
either top-down or bottom-up, by focusing on one level of
abstraction at a time.
· Moderately general: Channelflow provides elemental
algebraic and differential operators for its mathematical classes,
so that most quantities of interest can be calculated with a few
lines of code. However, Channelflow is not general regarding
geometry: it works only with rectangular geometries with two
periodic and one nonhomogeneous direction.
· Configurable: For example, channelflow's DNS
algorithms implement a variety of time-stepping schemes, external
constraints, and methods of calculating nonlinear terms.
· Extendable: The library code is structured to take
small-scale extensions such as additional time-stepping schemes.
Channelflow's object-oriented, modular structure allows
channelflow simulations to be embedded as small components within
larger, more complex computations.
· Verifiable: The source distribution contains a test
suite that verifies the correct behavior of major classes.
· Documented: The Channelflow User's Manual contains
annotated program examples, discussion of design, an overview of
the main classes from a user's perspective, and a review of the
mathematical algorithm.
· Supported: Channelflow has a support website. with
public CVS access, support-request and bug-tracking systems,
etc.
· Fast: Channelflow is as fast as comparable Fortran
codes
What's New in This Release:
· Numerous major bugfixes and feature enhancements were
made.
0 comments
Add to
Channelflow Version History
Related Software
|
|
From category: Science |
| nmr-relax is designed for the study of the dynamics of proteins or other macromolecules.... |
|
|
From category: Science |
| Analysis of Reinforced Concrete Elements 0.2 is science software developed by H.S.Rai. Analysis of Reinforced Concrete Elements will assist its user to find out capacity of various Reinforced Concr... |
|
|
From category: Science |
| Bulk Meter Flow and Operations 1.2.4 is science software developed by Steffen Macke. Bulk Meter Flow and Operations provides a Web-based application to manage water meter readings. Requireme... |
|
|
From category: Science |
| GPlot provides a convenient front-end for gnuplot.... |
|
|
From category: Science |
| fsc2 2.3.2 is science software developed by Jens Thoms Torring. fsc2 is a program running under Linux for controlling spectrometers. Programs for remote control of spectrometers usually are home-wr... |
|
|
From category: Science |
| WIKINDx is a single or multi-user research environment storing searchable bibliographies, notes, and citations.... |
|
|
From category: Science |
| Fachwerk3D 0.2.1 is science software developed by A. Vontobel. Fachwerk3D calculates three-dimensional strut-and-tie models used by structural engineers for analysing and designing reinforced concr... |
|
|
From category: Science |
| Fachwerk 0.2.1 is science software developed by A. Vontobel. Fachwerk addresses to structural engineers who are involved with analyzing and designing reinforced concrete structures. Fachwerk intend... |
|
|
From category: Science |
| CLC Protein Workbench 2.1 is science software developed by CLC bio A/S. CLC Protein Workbench is a bioinformatics program providing a wide range of advanced protein sequence analyses. CLC Protein W... |
|
|
From category: Science |
| FARnodes 1.0 is science software developed by Josef Spillner. FARnodes is a protocol simulation and execution environment. FARnodes project comes with a command-line frontend, a protocol code distr... |
|
|
From category: Science |
| Decade 0.42 is science software developed by Thomas Paviot. Decade is a tool for simulating rigid body dynamics. Decade can work as a standalone program. Decade can also also work from the analy... |
|
|
From category: Science |
| Bayani is an open source and free scientific environment!... |
|
|
From category: Science |
| KBib is a BibTex management program for KDE (Similar to KBibTex).... |
|
|
From category: Science |
| Eispice 0.9 is science software developed by Charles Eidsness. Eispice is a ground-up re-write of the Berkley Spice 3 Simulator targeted to PCB level simulation. Eispice runs in batch-mode only (i.... |
|
|
From category: Science |
| Contact Conductance Estimator 0.5 Beta is science software developed by Ido Perelmutter. Contact Conductance Estimator (CoCoE) is a program that estimates the conductance (or resistance) between tw... |
Leave a comment