CFDnet: A Tool for Teaching Fluid Dynamics over the Internet



Similar documents
Multiphase Flow - Appendices

FEAWEB ASP Issue: 1.0 Stakeholder Needs Issue Date: 03/29/ /07/ Initial Description Marco Bittencourt

A Real Time, Object Oriented Fieldbus Management System

N1 Grid Service Provisioning System 5.0 User s Guide for the Linux Plug-In

ME6130 An introduction to CFD 1-1

Advanced discretisation techniques (a collection of first and second order schemes); Innovative algorithms and robust solvers for fast convergence.

Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology

Solaris 10 Documentation README

Sun Management Center 3.6 Version 5 Add-On Software Release Notes

. Address the following issues in your solution:

TWO-DIMENSIONAL FINITE ELEMENT ANALYSIS OF FORCED CONVECTION FLOW AND HEAT TRANSFER IN A LAMINAR CHANNEL FLOW

Sun StorEdge A5000 Installation Guide

Interactive simulation of an ash cloud of the volcano Grímsvötn

JAVA-BASED FRAMEWORK FOR REMOTE ACCESS TO LABORATORY EXPERIMENTS. Department of Electrical Engineering University of Hagen D Hagen, Germany

Sun Management Center Change Manager Release Notes

OpenFOAM Opensource and CFD

Sun StorEdge RAID Manager Release Notes

Introduction to CFD Analysis

Upgrading the Solaris PC NetLink Software

INCORPORATING CFD INTO THE UNDERGRADUATE MECHANICAL ENGINEERING PROGRAMME AT THE UNIVERSITY OF MANITOBA

Optimizing Solaris Resources Through Load Balancing

MECH 479: Computational Fluid Dynamics

Module 6 Case Studies

Sun Management Center 3.6 Version 4 Add-On Software Release Notes

Sun Cluster 2.2 7/00 Data Services Update: Apache Web Server

Solaris 9 9/05 Installation Roadmap

There are a number of factors that increase the risk of performance problems in complex computer and software systems, such as e-commerce systems.

LSCFD: Meshing Tools for Open Source CFD A Practical Point of View

Comparing JavaServer Pages Technology and Microsoft Active Server Pages

Finite Element Modules for Enhancing Undergraduate Transport Courses: Application to Fuel Cell Fundamentals

How To Write A Program In Java (Programming) On A Microsoft Macbook Or Ipad (For Pc) Or Ipa (For Mac) (For Microsoft) (Programmer) (Or Mac) Or Macbook (For

Building Applications Using Micro Focus COBOL

OANDA FXTrade Platform: User Interface Reference Manual

Steady Flow: Laminar and Turbulent in an S-Bend

TOPAS: a Web-based Tool for Visualization of Mapping Algorithms

Sun Enterprise Optional Power Sequencer Installation Guide

4D and SQL Server: Powerful Flexibility

Customer Training Material. Lecture 2. Introduction to. Methodology ANSYS FLUENT. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC

Application of CFD Simulation in the Design of a Parabolic Winglet on NACA 2412

MayaVi: A free tool for CFD data visualization

Sun StorEdge Availability Suite Software Point-in-Time Copy Software Maximizing Backup Performance

Sun Management Center 3.5 Update 1b Release Notes

Setting up VPN and Remote Desktop for Home Use

University Turbine Systems Research 2012 Fellowship Program Final Report. Prepared for: General Electric Company

THE CFD SIMULATION OF THE FLOW AROUND THE AIRCRAFT USING OPENFOAM AND ANSA

CFD software overview comparison, limitations and user interfaces

Tutorial: 2D Pipe Junction Using Hexa Meshing

How To Run A Cdef Simulation

Administrer les solutions Citrix XenApp et XenDesktop 7.6 CXD-203

O.F.Wind Wind Site Assessment Simulation in complex terrain based on OpenFOAM. Darmstadt,

SUN SEEBEYOND egate INTEGRATOR RELEASE NOTES. Release 5.1.1

Graphical Environment Tool for Development versus Non Graphical Development Tool

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

SunFDDI 6.0 on the Sun Enterprise Server

Measuring Policing Complexity: A Research Based Agenda

Distance-Learning Remote Laboratories using LabVIEW

AgroMarketDay. Research Application Summary pp: Abstract

Sun Grid Engine Release Notes

Service Level Definitions and Interactions

Lecturer, Department of Engineering, Lecturer, Department of Mathematics,

This tutorial provides a recipe for simulating L

A STUDY OF THE SENSITIVITY, STABILITY AND SPECIFICITY OF PHENOLPHTHALEIN AS AN INDICATOR TEST FOR BLOOD R. S. HIGAKI 1 and W. M. S.

Laminar Flow in a Baffled Stirred Mixer

You can choose to install the plugin through Magento Connect or by directly using the archive files.

Benefits of Test Automation for Agile Testing

Interactive Applications in Teaching with the MATLAB Web Server. 1 Aim and structure of the MATLAB Web Server

automates system administration for homogeneous and heterogeneous networks

Sun SNMP Management Agent Release Notes, Version 1.5.5

How To Create A Cdf Optimisation System

Open Source CFD Solver - OpenFOAM

2013 Code_Saturne User Group Meeting. EDF R&D Chatou, France. 9 th April 2013

Windows Server Performance Monitoring

Adaptation and validation of OpenFOAM CFD-solvers for nuclear safety related flow simulations

Reconstruction d un modèle géométrique à partir d un maillage 3D issu d un scanner surfacique

Application of computational fluid dynamics to spray drying

A. Hyll and V. Horák * Department of Mechanical Engineering, Faculty of Military Technology, University of Defence, Brno, Czech Republic

Sun TM SNMP Management Agent Release Notes, Version 1.6

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Distributed Application Management using Jini Connection Technology

Self Financed One Week Training

Learning Module 4 - Thermal Fluid Analysis Note: LM4 is still in progress. This version contains only 3 tutorials.

SignalDraw: GUI Tool For Generating Pulse Sequences

Solaris Bandwidth Manager

Survey of LabVIEW Technologies for Building Web/Internet-Enabled Experimental Setups

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course

Installing the Virtual Desktop Application (MAC)

DYNAMIC LOAD BALANCING APPLICATIONS ON A HETEROGENEOUS UNIX/NT CLUSTER

Going Interactive: Combining Ad-Hoc and Regression Testing

Java Dynamic Management Architecture for Intelligent Networks

Configuring Your Gateman Proxy Server

User Tutorial on Changing Frame Size, Window Size, and Screen Resolution for The Original Version of The Cancer-Rates.Info/NJ Application

Sun Ultra TM. 5 and Ultra 10 Product Notes. Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA U.S.A.

Transcription:

CFDnet: A Tool for Teaching Fluid Dynamics over the Internet J. Militzer, Theo A. Bell, and F. E. Ham* Department of Mechanical Engineering Dalhousie University - DalTech Halifax, P.O.Box 1000, Nova Scotia, B3J 2X4, Canada *currently PhD candidate at the University of Waterloo http://cfdnet.com, email julio.militzer@dal.ca Abstract CFDnet is computational fluid dynamics (CFD) software that allows students to setup, solve, and visualize their own fluid flow problems. Unlike conventional CFD software, students access CFDnet over the Internet and dynamically control the server s meshing and solving routines from a Java Applet-based user interface running in their web browser. By using the platform-independent Java language to provide the user interface, student access to CFDnet is made independent of the type of client computer used. Additionally, by performing the computationally intensive meshing, solving, and visualization processes on a server-side network of powerful computers, this flow modeling tool is made available to users with relatively low speed, inexpensive computers. Classroom experience shows the usefulness in teaching sometimes very difficult Fluid Dynamics concepts. Furthermore, the availability of CFDnet greatly reduces the need for expensive and cumbersome laboratory experiments and demonstrations. CFDnet was integrated into the fluid dynamics courses at two Canadian Universities. Results of this evaluation by students are reported. Résumé CFDnet est un programme de calculs numériques en mécanique des fluides (CFD). Il est destiné aux étudiants pour préparer les données, résoudre et visualiser les résultats des problèmes liés aux écoulements. Contrairement aux autres programmes de ce type, CFDnet est accessible via l Internet, où l on peut contrôler à distance le maillage et l avancement des calculs sur le serveur. Pour ce faire, CFDnet utilise le langage Java qui permet aux étudiants d intervenir directement au niveau du serveur sans dépendre des performances du poste local. De ce fait, l utilisateur peut effectuer des opérations complexes de maillage, de calculs et de visualisation, même sur un ordinateur peu performant. Des expériences en classe montre l efficacité de ce progiciel. Par ailleurs, on sait que l utilisation de ce type de support en cours permet de réduire sensiblement les coûts d investissement en laboratoire d essai et de démonstration. CFDnet est actuellement utilisé dans l enseignement de la mécanique des fluides de deux universités canadiens. L efficacité du programme a été évaluée par les étudiants de ces deux universités. Keywords: Fluid Dynamics, Teaching, Internet Introduction Computational Fluid Dynamics (CFD) refers to the computer simulation of fluid flow and heat transfer. When the result of a CFD simulation is presented as a visualization of the calculated flow field, CFD can be a very powerful educational tool, giving students an appreciation for how fluid behaves under many different conditions. Although commercial CFD software packages have been available for many years, their penetration into the undergraduate engineering teaching of Fluid Dynamics and Heat Transfer has been quite limited. The following factors have contributed to this limited penetration: Software functionality is orientated towards industrial users, and costs tend to be prohibitively high for educational institutions. Users must either have or have access to relatively powerful, high speed computers. Familiarity with these complex codes requires many hours of learning, with a substantial portion of the effort being software specific and not transferable to other programs. To address some of these problems we undertook to develop a unique CFD program called CFDnet. The main goals of the development program were: Create software accessible to the largest possible number of users. Develop a simple, modular user interface that minimizes both the learning time and the specialized knowledge required. Provide, at least initially, free access to academic users (students and researchers). The Internet - specifically the world wide web - was selected as the development environment. With the advent of Java, engineering applications can now be embedded in web pages as Java Applets (Dietz 1996,1997). The Java programming language offers the additional attraction of platform independence, requiring the development of a single code for many different types of computers. Low Internet bandwidth, however, currently makes it impractical to develop large software packages such as an entire CFD software package as an embedded Java Applet. Even when Internet bandwidth and the resulting transfer speeds become significantly faster, other issues make it

Figure 1. - CFDnet opening web page (http://cfdnet.com) undesirable to download and run the software entirely on the user s client computer. These issues include our desire to make the computationally intensive processes efficient for all users, even those with less powerful computers, and our desire to protect the developed software package from piracy. In consideration of these issues, CFDnet was developed with processing shared between three separate modules: 1) a small Java Applet-based user interface running on the client computer, 2) specialized server software to control the flow of information over the Internet between the server and client computers, and 3) relatively large, computationally intensive server-based programs to setup, solve, and generate visualizations of the resulting flows (see Figure 2). The present version of CFDnet is limited to two-dimensional, laminar, incompressible flows, and is available on the Internet at http://cfdnet.com. The Technical Components Figure 2 summarizes the relationship between the technical components of the CFDnet software package. Although only one client computer is shown in the figure, the software has been designed for the simultaneous connection of potentially hundreds of clients. Figure 2. - CFDnet s Technical Components The Java Applet-Based User Interface When a student accesses the CFDnet web site (http://cfdnet.com) with a Java-enabled web browser (e.g. Netscape, Internet Explorer), the Java Applet-based graphical user interface (GUI) is automatically loaded along with the text and images of the web page. In its present form, the user interface consists of several class files and associated images that total about 80 Kbytes, making the download time about 20 seconds for modem connections, and virtually unnoticeable for the higher speed connections normally available at universities. Once started by the student, the GUI has the look and feel of a native application, and can be used to input the geometry, select the type of problem, and specify the boundary conditions and solution parameters. The GUI is also used to initiate and communicate with server-based processes including mesh generation, solution of the flow field, and the generation of visualizations. Once a problem is solved, the same GUI facilitates inspection of the solution. Requiring the CFDnet user to download the GUI from our server means the user is always accessing the most recent, up to date version - i.e. "upgrades" are effectively instantaneous. In addition, no software downloading or installation by the user is required, apart from an appropriate Java-enabled browser, and user access can be monitored and controlled if desired. Minimizing perceived response time by the user was the overriding factor in determining whether a particular process should be handled locally at the client, or remotely at the server. When a particular action requires a response time of less than several seconds (e.g. selecting a boundary, applying a boundary condition), all associated coding was provided with the GUI. For actions where a longer response time can be tolerated or is expected (e.g. generating the mesh, or solving the flow problem), the GUI was coded with only the method of initiating the process on the server, along with a filter for interpreting and displaying the results. This philosophy tends to minimize the size of the GUI, but can result in a single user making many simultaneous attempts to establish server connections. To overcome this potential bottleneck, a special client class was developed as part of the GUI that established and maintained a single connection to the server to support all interactive requests. To free up server resources, this client class was designed to disconnect after 15 seconds of inactivity. To further reduce GUI size and minimize coding effort, it was decided to use the media playing/viewing technology of the web browser environment whenever possible. For example, when visualizing a transient flow solution, server-based processes can generate either an animated gif image or MPEG movie, which can then be automatically downloaded and viewed by the browser. All Java GUI development, debugging, and compilation was performed using Sun Microsystem s Java Development Kit [freely available at http://developer.javasoft.com]. Our development

experience using Java compared very favourably to similar GUI development projects using Visual BASIC, and C++. However, because of the evolutionary nature of the Java language, and because of some platform-dependent bugs that appear to be present in several of the Java interpreters for different platforms, our efforts to minimize the size and complexity of the GUI proved very prudent. In spite of that we had so many incompatibilities with Microsoft operating systems that we were forced to offer two versions of the Java code, one for Unix operating systems and one for Windows. Fortunately the server automatically identifies the client computer operating system and offers the corresponding java GUI. All indications are that in the future this problem will disappear. Specialized Server Software During the initial development of CFDnet, an effort was made to avoid writing a specialized server daemon, and use a standard http daemon in conjunction with server-side CGI programs to facilitate client-server communication. This arrangement was unable to provide truly interactive, 2-way communication between client and server processes, and it was necessary to develop a specialized server daemon, which we call "artifacto". Written in ANSI C, and running on a UNIX server, artifacto directs the connection requests from the client GUI s on to the appropriate server based programs. Consequently, customized binary streams of data can be exchanged between client and server, permitting interactive client control of potentially very powerful programs. Server-based Processes CFD problems are traditionally slow to converge, and require a significant amount of computer memory. As such, they are normally run on very powerful computers. A network of UNIX-based workstations and PC s at Dalhousie University has been made publicly available for testing CFDnet. In general, these computers are relatively powerful and fast, allowing for the quick and efficient solution of problems, independent of the client s computer speed. To allow the CFDnet server to make use of all computers on the local network as potential solvers, the meshing, solving, and visualization routines incorporate the publicly available parallel virtual machine (PVM) libraries and software [freely available at ftp://netlib2.cs.utk.edu/pvm3]. Initially developed by Los Alamos Laboratories, PVM provides a standard message passing interface, and allows the client s requested process to be initiated and run on any one of the network computers. Through this parallelization strategy, the requirements of a large number of users can be served simultaneously, and the server itself does not need to run any computationally intensive processes, thus improving response time. In its present form, individual CFDnet processes themselves are not parallelized. Although it is not the purpose of this paper to present the details of the flow solution algorithms used by CFDnet, the following information and references are provided for the interested reader. CFDnet uses multi-block structured meshes, generated using elliptic mesh generation with control functions selected to produce mesh orthogonality at the block boundaries (Thompson et al. 1985). The governing equations of fluid flow are discretized on the body-fitted grid using the Finite Analytic Method (FAM) (Sun and Militzer 1992a and 1992b; Ham and Militzer 1997). The primitive flow variables - u, v, and p - are solved using an iterative pressure correction scheme similar to SIMPLER (Patankar 1980; Ham and Militzer 1997). These choices for mesh generation and flow solution algorithms were made because suitable meshing and solving routines already existed within our research group. The Internet-based philosophy of CFDnet could, however, easily be extended to other solution methods (e.g. finite volume or finite element methods, unstructured meshes, etc.). Using CFDnet - A Sample Problem To make CFDnet a powerful educational tool for engineering students, the program described thus far is complemented by an expanding set of web-based help pages and tutorials. These pages are designed to be referenced by the students during their CFDnet session, and teach them how to use CFDnet through the setup and solution of some simple but illustrative Fluid Dynamics problems. Another tool made available for the students is a problem set up wizard. It automatically pops up when a GUI is loaded and guides the user through the necessary steps for the problem set up. Figure 3 presents Step 2 of the wizard used to specify the geometry of the laminar backward facing step flow or sudden enlargement in a channel. This is a well understood simple recirculating flow, and is useful to introduce students to the concepts of flow separation, reattachment, and recirculation, and the variation in all these with Reynolds number. The fluid enters the calculation region with a unifrom velocity distribution through theleft boundary of the channel. As soon as the flow reaches the sudden enlargement it immediately separates from the boundary. At some distance down the channel, the bulk flow reattaches to the bottom boundary. Students are asked to use CFDnet to calculate the reattachment length as a function of Reynolds number (Re) for the range Re=100 to Re=800. At DalTech, students are given a 45 minutes introductory session, and then work in groups of two per computer through the following steps: 1) starting a CFDnet session 2) defining the geometry 3) creating the grid (and refining if necessary) 4) defining boundary conditions and solution parameters 5) solving the problem 6) analyzing results For each of the above steps the wizard presents a new box, and appropriate default values are suggested. This

ensures that the novice user will have a greater chance of obtaining a solution right on the first try. obtained it is automatically displayed as shown in Figure 5. The student can then extract the data by clicking and holding the left mouse button and traversing the region of interest, for example a given cross section. The data is automatically posted in the window bellow the solution and can be copied and pasted into a spread sheet or a graphing program. Students can also store their solutions for future reference on the server computer. Figure 3. - Step 2 of the Wizard The Flow Geometry Figure 5. - The Solution of the Backward Bacing Step Flow obtained with CFDnet. Figure 4. - Step #3 Grid Generation for the Backward Facing Step Flow. In a matter of minutes all 8 steps, namely: problem physics, geometry, meshing, physical properties, boundary conditions, and solution parameters, can be specified. After defining the problem the user triggers the beginning of the solution on the server computer. While performing the calculations the server computer sends back convergence data to indicate whether the calculation is converging towards a solution. If the data is such that the solution diverges the solver program suggests measures to change the parameters to increase the chance for convergence. After the solution is Figure 5 illustrates the GUI as it might appear during the analysis of results phase. In general, students have no difficulties in obtaining the solution and comparing their results with the experimental data provided in the tutorial. The colour coded vizualization shows the u velocity component in the x direction. Other variables such as: the v velocity component, the pressure or the streamlines can also be invoked from the GUI menu. The lower part of the GUI shows the progress of the solution process and after the solution is available the pointer can be used to click on any point of the flow, causing the numerical values of the relevant variables (velocities and pressures) to be displayed. These can be easily transferred to some other software for further analysis. Evaluation by Students As part of the evaluation process CFDnet was tested by over 100 undergraduate and graduate students at Dalhousie University - DalTech (Halifax, Nova Scotia), and the University of Victoria (British Columbia). This evaluation was carried out by incorporating CFDnet into the Fluid Mechanics courses of the fall term of 1997 and 1999. To test the effect of Internet bandwidth on CFDnet s performance, the DalTech servers were used for both test locations. Figure 6 summarizes the average response of the students to four questions. Responses from the two test

locations are separated in an effort to extract the effect of reduced bandwidth on software performance. 100 80 60 40 20 0 Flexibility Simulation Response time Ease of use UVic 97 DalTech 97 DalTech 00 Figure 6. - Student Evaluation Results There is an obvious subjectivness in the responses because they were obtained a different times, different locations by different people. However the trends are remarcably similar. Students in general found that CFDnet is easy to use, that it is flexible and simulates well the flows considered. CFDnet provided students with a sense of empowerment that allowed them to use their Fluid Mechanics knowledge to solve a flow problem and immediately visualize the solution The only concern is the response time, which still is a problem with the Internet. Nevertheless we are encouraged and are sure that with the continuous improvement in bandwidth the response time will become perfectly adequate in the very near future. Finally, students comments also helped to identify many improvements that will be incorporated in future versions of the program. Current and Future Developments We are currently expanding the capabilities of CFDnet to include a more stable algorithm known as Power Law solver (Patankar,1980), a turbulence model, to allow for the solution of a greater range of flows, solution of unsteady problems, multi block to allow for more complex geometrical shapes. In addition we are continually increasing the number of tutorials, which we consider a valuable resource to those who want to use CFDnet for teaching Fluid Mechanics. In the future we plan to use an unstructured mesh with a multi grid solver. This will greatly expand the capabilities and solution speeds. And in a more remote future we plan on extending the capabilities of the solver to include three-dimensional problems. Conclusions CFDnet has demonstrated the possibilities of integrating Java with server-based processing to significantly boost the interactive power of Internet for engineering students. After a short introductory session, undergraduate engineering students were able to solve relevant and interesting Fluid Mechanics problems. Our experience has clearly demonstrated the value of introducing CFD in the undergraduate teaching of Fluid Mechanics. Not only for the purpose of teaching the principles of CFD, but also more importantly as a tool to teach the principles of Fluid Mechanics and even as a tool to reduce the need for actual hands on laboratory experimentation, which can be in may cases be simulated more effectively with CFDnet. CFDnet is continually being improved. Currently there approximately 500 registered users form all corners of the world. As the capabilities of the program increase and it becomes better known we expect this number to increase exponentially. The objective is to make CFDnet into an effective teaching aid for Fluid Mechanics. With this is mind we are continually introducing new tutorial as well as improving the solver. We also plan to encourage colleagues from other fields to make use of the technology we developed, since its interest goes far beond Fluid Mechanics and even Engineering. References Dietz, D. (1996) Java: A New Tool For Engineering. Mechanical Engineering, Vol. 118 No. 4 April 1996, pp 68-72. Deitz, D. (1997) Product Development On The Web. Mechanical Engineering, Vol. 119 No. 1 January 1997, pp 66-69. Ham, F. and Militzer, J. (1997) Development of the Finite Analytic Method for Body Fitted Multi-Zoned Structured Meshes. Proceeding of CFD97, The Fifth Annual Conference of the Computational Fluid Dynamics Society of Canada, May 25-27, 1997, Victoria, Canada. Patankar, S. V. (1980) Numerical Heat Transfer and Fluid Flow. Hemisphere Publishing Corporation. Sun, Y. and Militzer, J. (1992a) The Piece-Wise Parabolic Finite Analytic Method - Part 1: Theory. Applied Mathematical Modeling, Vol 16, pp. 576-588, Oct. 1992. Sun, Y. and Militzer, J. (1992b) The Piece-Wise Parabolic Finite Analytic Method - Part 2: Application. Applied Mathematical Modeling, Vol. 17, pp. 125-132, February 1993. Thompson, J.F., Warsi, Z.U.A., and Mastin, C.W. (1985) Numerical Grid Generation, Foundations and Applications. North Holland, Amsterdam.