Software Developments: Difference between revisions

From Sccswiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Overview ==
{| class="wikitable"
{| class="wikitable"
|-
|-
| '''name''' || '''problem class''' || '''programming language''' || '''contact'''
| '''name''' || '''problem class''' || '''programming language''' || '''contact'''
|-
| [[#FSI*ce]] || multiphysics simulations || C++ || [[Tobias Neckel]]
|-
|-
| [[#quadfluid]] || numerical fluid dynamics || matlab || [[Tobias Neckel]]  
| [[#quadfluid]] || numerical fluid dynamics || matlab || [[Tobias Neckel]]  
Line 12: Line 16:
|-  
|-  
| [[#NaSt2D/3D]] || numerical fluid dynamics || C || [[Michael Bader]]  
| [[#NaSt2D/3D]] || numerical fluid dynamics || C || [[Michael Bader]]  
|-
| [[#Sparse Grids]] || sparse grid solvers || C || [[Stefan Zimmer]]
|}
|}


Line 17: Line 23:
{| class="wikitable"
{| class="wikitable"
|-
|-
| | '''name''' || '''problem class''' || '''programming language'''  
| | '''name''' || '''problem class''' || '''programming language''' || contact
|-
| [[#Sparse Grids]] || sparse grid solvers || C
|-  
|-  
| [[#Coupled Systems]] || multiphysics simulations ||
|-
| [[#FlowSi]] || ||  
| [[#FlowSi]] || ||  
|-
|-
Line 28: Line 30:
|-
|-
|}
|}
== FSI*ce ==
The aim of ''FSI*ce'' is the development of a modular simulation environment for a class of coupled problems as large as possible. The modular approach means here that the modelling as well as the programming effort shall be highly reduced by the use of already available program codes. This leads to a great flexibility regarding the treated problems as well as the used codes. In addition, a structuring is given, which e. g. simplifies the distributed computation of the system.
For that purpose , ''FSI*ce'' includes:
* a "coupling language" for a specification of the coupling,
* efficient iteration methods,
* well-defined interfaces between the control modul and each of the involved simulation codes,
* conversion moduls between the different data representations,
* a general description of the geometry with adaptation possibilities to the used programms, e. g. for the connection to CAD systems,
* modules for the realization and synchronisation of the data transport.
First investigations were made on the basis of the two- and threedimensional
simulation of the fluid-structure interaction in a valve-driven micro pump.
As CFD-solver, we used [[#F3F]], which was developed at the chair, as structure solver, we used ADINA, NASTRAN and AdHoc, which was developed at the
[http://www.inf.bauwesen.tu-muenchen.de chair for Computing in Engineering].
<!--'''A few simulation examples:'''
Valve-driven micro pump (twodimensional):
[[Image:mikro1.gif]]
Geometric Modelling of a Valve-driven micro pump:
[[Image:pumpenflug.gif]]
[[Media:pumpenflug.mpg]]
Valve-driven micro pump (threedimensional):
[[Image:pumpensim.gif]]
[[Media:pumpensim.mpg]]-->


== quadfluid ==
== quadfluid ==
Line 39: Line 74:


[[Image:quadvis.png]]
[[Image:quadvis.png]]
Screenshot of the matlab-GUI


<center>
Via the use of obstacle node lists, arbitrary geometries can be used in a rectangular domain.
<table width=50%>
Built in scenarios are e.g. driven cavity, free channel flow, [http://www.featflow.de/bench_all/paper.html cylinder channel benchmarks], and the CFD1 benchmark of the [http://fsw.informatik.uni-stuttgart.de/ Forschergruppe 493 zur Fluid-Struktur-Wechselwirkung].
  <tr><br />
    <td><center><img src="./quadvis.png" height="350"> </center> </td>
</tr>
<tr>
    <td>
<small> <center>Screenshot of the matlab-GUI <i>quadvis</i>.</center></small>


    </td>
This is an extension of the version for regular grids: [[#quickfluid]].
</tr>
</table>
</center>
<br />
Via the use of obstacle node lists, arbitrary geometries can be used in a rectangular domain.
Built in scenarios are e.g. driven cavity, free channel flow, <a href="http://www.featflow.de/bench_all/paper.html">cylinder channel benchmarks</a>, and the CFD1 benchmark of the <a href="http://fsw.informatik.uni-stuttgart.de/">Forschergruppe 493 zur Fluid-Struktur-Wechselwirkung</a>.
<br />
<br />
This is an extension of the version for regular grids: <a href="http://www5/software/quickfluid/quickfluid.html"><i>quickfluid</i></a>.
<br />


<br />
The program package comes with an easy to use visualisation
The program package comes with an easy to use visualisation
GUI called quadvis.
GUI called quadvis.
<br />
<br />
A <!--GNU GPL--> version of this matlab package is available by contacting <a href="../../persons/neckel"> T. Neckel </a>


<!--
A version of this matlab package is available by contacting [[Tobias Neckel]]
<A HREF="http://wwwzenger.informatik.tu-muenchen.de/forschung/visualisierung/praktikum.html"> 
 
  Einige Simulationsbeispiele </A>
== quickfluid ==
-->
 
'''Matlab package for the numerical simulation of 2D laminar, incompressible fluid flow'''
 
''quickfluid'' solves the unsteady Navier-Stokes equations in two dimension on (regular) Cartesian grids as a testbed for mathematical and physical methods in the context of flow simulation.
 
Based on the Chorin projection method, the time discretisation of the momentum equations is done by an explicit Euler method. The discretisation of the space is realised by bilinear elements for the velocities using constant pressure per cell as the corresponding Lagrangeian multiplier for the continuity constraint. In each time step, thus, a linear system of equations (the discrete pressure poisson equation) is solved whose solution is used to update the velocities for the next time step. For the calculation of force values (on obstacles, e.g.), the method of consistent forces is used.
 
[[Image:quickvis.png]] Screenshot of the matlab-GUI
 
Via the use of obstacle node lists, arbitrary geometries can be used in a rectangular domain. Built in scenarios are e.g. driven cavity, free channel flow, and [http://www.featflow.de/bench_all/paper.html cylinder channel benchmarks].
 
An extension to adaptive cartesian grids exists and
is named [[#quadfluid.html]].
 
The program package comes with an easy to use visualisation
GUI called quickvis.
 
A GNU GPL version of this matlab package is available by contacting [[Tobias Neckel]]
 
== Nast++ ==
 
The task of ''Nast++'' is the simulation of instationary laminar flows of
incompressible fluids in two and three dimensions. The underlying mathematical model are the Navier-Stokes equations.
 
The Navier-Stokes equations are discretised via finite differences on a staggered grid. Using a projection method, we get a Poisson equation for the
pressure. The resulting pressure field is used to guaranty the mass conservation
property of the method.
 
== NaSt2D/3D ==
 
'''Programm zur numerischen Simulation laminarer Str&ouml;mungen viskoser, inkompressibler Fluide in zwei und drei Raumdimensionen'''.
 
Das Programm Nast sowie die zugrunde liegenden numerischen Verfahren sind
beschrieben in:
 
''Michael Griebel, Thomas Dornseifer, Tilman Neunhoeffer:''
  Numerische Simulation in der Str&ouml;mungsmechanik - eine praxisorientierte
  Einf&uuml;hrung, Vieweg, 1995.
 
''NaSt2D/NaSt3D'' behandelt die instation&auml;ren Navier-Stokes-Gleichungen
in zwei bzw. drei Raumdimensionen. Grundlage ist die Chorinsche Projektionsmethode. Die Zeitdiskretisierung der Impulsgleichungen
erfolgt durch ein explizites Eulerverfahren. Der Ortsdiskretisierung
liegt ein finites Differenzenverfahren auf einem versetzten
&auml;quidistanten Gitter zugrunde. Die konvektiven Terme der
Impulsgleichung werden durch Flux-Blending diskretisiert, d.h. es
ist eine Mittelung aus zentralen Differenzen und Upwind-Differenzen
(Donor-Cell-Schema) m&ouml;glich. Durch Flagfelder k&ouml;nnen beliebige
Gebiete des rechteckigen Grundgebietes ausgeblendet werden, so da&szlig;
auch stark zerkl&uuml;ftete Str&ouml;mungsgebiete behandelt werden
k&ouml;nnen.
 
Es k&ouml;nnen folgende Problemklassen behandelt werden:
<UL>
<LI> Str&ouml;mungen in festen Geometrien </LI>
<LI> Energietransport </LI>
<LI> Temperaturgetriebene Str&ouml;mungen mittels
    Boussinesq-Approximation </LI>
 
<LI> Transport chemischer Stoffe </LI>
<LI> Freie Randwertprobleme mit dem Marker-und-Cell Verfahren </LI>
</UL>
 
Die Eingabe der Parameter erfolgt durch problemspezifische Eingabedateien.
<!--<p>
Das Programmpaket <I>NaSt2D</I> ist erh&auml;ltlich &uuml;ber
<I> ftp ftp.lrz-muenchen.de </I> im Verzeichnis
 
<I> pub/science/fluiddynamics/cfd/NaSt2D </I>.-->
 
[http://www5.in.tum.de/forschung/visualisierung/praktikum.html Einige Simulationsbeispiele]
 
== Sparse Grids ==
 
A powerfull tool for the solution of elliptic partial differential equations
is the concept of hierarchical bases: they allow for a simple construction
of adaptive grids and lead to a much faster convergence of iterative solvers. If, in addition, hierarchical grids with different aspect ratios (so-called Sparse Grids) are used, the complexity that is the dimension of the solution space can be reduced substantially without accuracy losses.
 
Two standard examples for Sparse Grids in 2D and 3D:


<hr align=center width="95%" SIZE=2>
[[Image:duennes_gitter_2d.gif]]
<a href="../../persons/neckel">
[[Image:duennes_gitter_3d.gif]]
<i>T. Neckel</i></a>, 11.04.2007


</BODY>
The software can be applied to 2D and 3D scenarios and allows for adaptive
</HTML>
refinements and higher order discretisation schemes.

Revision as of 10:07, 22 July 2008

Overview

name problem class programming language contact
#FSI*ce multiphysics simulations C++ Tobias Neckel
#quadfluid numerical fluid dynamics matlab Tobias Neckel
#quickfluid numerical fluid dynamics matlab Tobias Neckel
SToRM computational steering C++ Martin Bernreuther
#Nast++ numerical fluid dynamics C++ Miriam Mehl
#NaSt2D/3D numerical fluid dynamics C Michael Bader
#Sparse Grids sparse grid solvers C Stefan Zimmer

Old Software Developments

name problem class programming language contact
#FlowSi
#ARESO

FSI*ce

The aim of FSI*ce is the development of a modular simulation environment for a class of coupled problems as large as possible. The modular approach means here that the modelling as well as the programming effort shall be highly reduced by the use of already available program codes. This leads to a great flexibility regarding the treated problems as well as the used codes. In addition, a structuring is given, which e. g. simplifies the distributed computation of the system.

For that purpose , FSI*ce includes:

  • a "coupling language" for a specification of the coupling,
  • efficient iteration methods,
  • well-defined interfaces between the control modul and each of the involved simulation codes,
  • conversion moduls between the different data representations,
  • a general description of the geometry with adaptation possibilities to the used programms, e. g. for the connection to CAD systems,
  • modules for the realization and synchronisation of the data transport.

First investigations were made on the basis of the two- and threedimensional simulation of the fluid-structure interaction in a valve-driven micro pump. As CFD-solver, we used #F3F, which was developed at the chair, as structure solver, we used ADINA, NASTRAN and AdHoc, which was developed at the chair for Computing in Engineering.


quadfluid

Matlab package for the numerical simulation of 2D laminar, incompressible fluid flow on adaptive grids

quadfluid solves the unsteady Navier-Stokes equations in two dimension on adaptive Cartesian grids (quadtree) as a testbed for mathematical and physical methods in the context of flow simulation.

Based on the Chorin projection method, the time discretisation of the momentum equations is done by an explicit Euler method. The discretisation of the space is realised by bilinear elements for the velocities using constant pressure per cell as the corresponding Lagrangeian multiplier for the continuity constraint. In each time step, thus, a linear system of equations (the discrete pressure poisson equation) is solved whose solution is used to update the velocities for the next time step. For the calculation of force values (on obstacles, e.g.), the method of consistent forces is used. Special care (interpolation etc.) is applied whenever coarser and finer grid cells touch each other.

File:Quadvis.png Screenshot of the matlab-GUI

Via the use of obstacle node lists, arbitrary geometries can be used in a rectangular domain. Built in scenarios are e.g. driven cavity, free channel flow, cylinder channel benchmarks, and the CFD1 benchmark of the Forschergruppe 493 zur Fluid-Struktur-Wechselwirkung.

This is an extension of the version for regular grids: #quickfluid.

The program package comes with an easy to use visualisation GUI called quadvis.

A version of this matlab package is available by contacting Tobias Neckel

quickfluid

Matlab package for the numerical simulation of 2D laminar, incompressible fluid flow

quickfluid solves the unsteady Navier-Stokes equations in two dimension on (regular) Cartesian grids as a testbed for mathematical and physical methods in the context of flow simulation.

Based on the Chorin projection method, the time discretisation of the momentum equations is done by an explicit Euler method. The discretisation of the space is realised by bilinear elements for the velocities using constant pressure per cell as the corresponding Lagrangeian multiplier for the continuity constraint. In each time step, thus, a linear system of equations (the discrete pressure poisson equation) is solved whose solution is used to update the velocities for the next time step. For the calculation of force values (on obstacles, e.g.), the method of consistent forces is used.

File:Quickvis.png Screenshot of the matlab-GUI

Via the use of obstacle node lists, arbitrary geometries can be used in a rectangular domain. Built in scenarios are e.g. driven cavity, free channel flow, and cylinder channel benchmarks.

An extension to adaptive cartesian grids exists and is named #quadfluid.html.

The program package comes with an easy to use visualisation GUI called quickvis.

A GNU GPL version of this matlab package is available by contacting Tobias Neckel

Nast++

The task of Nast++ is the simulation of instationary laminar flows of incompressible fluids in two and three dimensions. The underlying mathematical model are the Navier-Stokes equations.

The Navier-Stokes equations are discretised via finite differences on a staggered grid. Using a projection method, we get a Poisson equation for the pressure. The resulting pressure field is used to guaranty the mass conservation property of the method.

NaSt2D/3D

Programm zur numerischen Simulation laminarer Strömungen viskoser, inkompressibler Fluide in zwei und drei Raumdimensionen.

Das Programm Nast sowie die zugrunde liegenden numerischen Verfahren sind beschrieben in:

Michael Griebel, Thomas Dornseifer, Tilman Neunhoeffer:

 Numerische Simulation in der Strömungsmechanik - eine praxisorientierte 
 Einführung, Vieweg, 1995. 

NaSt2D/NaSt3D behandelt die instationären Navier-Stokes-Gleichungen in zwei bzw. drei Raumdimensionen. Grundlage ist die Chorinsche Projektionsmethode. Die Zeitdiskretisierung der Impulsgleichungen erfolgt durch ein explizites Eulerverfahren. Der Ortsdiskretisierung liegt ein finites Differenzenverfahren auf einem versetzten äquidistanten Gitter zugrunde. Die konvektiven Terme der Impulsgleichung werden durch Flux-Blending diskretisiert, d.h. es ist eine Mittelung aus zentralen Differenzen und Upwind-Differenzen (Donor-Cell-Schema) möglich. Durch Flagfelder können beliebige Gebiete des rechteckigen Grundgebietes ausgeblendet werden, so daß auch stark zerklüftete Strömungsgebiete behandelt werden können.

Es können folgende Problemklassen behandelt werden:

  • Strömungen in festen Geometrien
  • Energietransport
  • Temperaturgetriebene Strömungen mittels Boussinesq-Approximation
  • Transport chemischer Stoffe
  • Freie Randwertprobleme mit dem Marker-und-Cell Verfahren

Die Eingabe der Parameter erfolgt durch problemspezifische Eingabedateien.

Einige Simulationsbeispiele

Sparse Grids

A powerfull tool for the solution of elliptic partial differential equations is the concept of hierarchical bases: they allow for a simple construction of adaptive grids and lead to a much faster convergence of iterative solvers. If, in addition, hierarchical grids with different aspect ratios (so-called Sparse Grids) are used, the complexity that is the dimension of the solution space can be reduced substantially without accuracy losses.

Two standard examples for Sparse Grids in 2D and 3D:

File:Duennes gitter 2d.gif File:Duennes gitter 3d.gif

The software can be applied to 2D and 3D scenarios and allows for adaptive refinements and higher order discretisation schemes.