Team Software Development for Aerothermodynamic and Aerodynamic Analysis and Design

A collaborative approach to software development is described. The approach employs the agile development techniques: project retrospectives, Scrum status meetings, and elements of Extreme Programming to efficiently develop a cohesive and extensible software suite. The software product under development is a fluid dynamics simulator for performing aerodynamic and aerothermodynamic analysis and design. The functionality of the software product is achieved both through the merging, with substantial rewrite, of separate legacy codes and the authorship of new routines. Examples of rapid implementation of new functionality demonstrate the benefits obtained with this agile software development process. The appendix contains a discussion of coding issues encountered while porting legacy Fortran 77 code to Fortran 95, software design principles, and a Fortran 95 coding standard.

[1]  Mary Perrecone,et al.  The Five Dysfunctions of a Team: A Leadership Fable , 2008 .

[2]  William Jones GridEx - An Integrated Grid Generation Package for CFD , 2003 .

[3]  David Anthony Venditti,et al.  Grid adaptation for functional outputs of compressible flow simulations , 2000 .

[4]  D. Venditti,et al.  Anisotropic grid adaptation for functional outputs: application to two-dimensional viscous flows , 2003 .

[5]  W. K. Anderson,et al.  Implicit/Multigrid Algorithms for Incompressible Turbulent Flows on Unstructured Grids , 1995 .

[6]  David Thomas,et al.  Programming Ruby: the pragmatic programmer's guide , 2000 .

[7]  P. A. Newman,et al.  Approximation and Model Management in Aerodynamic Optimization with Variable-Fidelity Models , 2001 .

[8]  Cheatwood F. McNeil,et al.  User''s Manual for the Langley Aerothermodynamic Upwind Relaxation Algorithm (LAURA) , 1996 .

[9]  Achi Brandt,et al.  Textbook multigrid efficiency for fluid simulations , 2003 .

[10]  Joaquim R. R. A. Martins,et al.  AN AUTOMATED METHOD FOR SENSITIVITY ANALYSIS USING COMPLEX VARIABLES , 2000 .

[11]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[12]  Norman L. Kerth,et al.  Project Retrospectives: A Handbook for Team Reviews , 2001 .

[13]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[14]  W. K. Anderson,et al.  Sensitivity Analysis for Navier-Stokes Equations on Unstructured Meshes Using Complex Variables , 2001 .

[15]  Laurie A. Williams,et al.  Pair Programming Illuminated , 2002 .

[16]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[17]  W. K. Anderson,et al.  First-Order Model Management With Variable-Fidelity Physics Applied to Multi-Element Airfoil Optimization , 2000 .

[18]  David Flanagan,et al.  Ruby in a Nutshell , 2001 .

[19]  Mark C. Paulk,et al.  The Capability Maturity Model: Guidelines for Improving the Software Process , 1994 .

[20]  Laurie Williams,et al.  Extreme Programming and Agile Methods — XP/Agile Universe 2002 , 2002, Lecture Notes in Computer Science.

[21]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[22]  Pete McBreen Software craftsmanship : the new imperactive , 2002 .

[23]  L. Cambier,et al.  elsA - An efficient object-oriented solution to CFD complexity , 2002 .

[24]  Viktoria Schmitt,et al.  Pressure distributions on the ONERA M6 wing at transonic Mach numbers , 1979 .

[25]  David L. Darmofal,et al.  An Exact Dual Adjoint Solution Method for Turbulent Flows on Unstructured Grids , 2003 .

[26]  William L. Kleb,et al.  Extreme Programming in a Research Environment , 2002, XP/Agile Universe.

[27]  Joseph H. Morrison,et al.  CFD Sensitivity Analysis of a Drag Prediction Workshop Wing/Body Transport Configuration , 2003 .

[28]  William L. Kleb,et al.  Exploring XP for Scientific Research , 2003, IEEE Softw..

[29]  Watts S. Humphrey,et al.  Introduction to the Team Software Process , 1999 .

[30]  Sally A. Viken,et al.  AIAA 2003-0086 THE EFFICIENCY OF HIGH ORDER TEMPORAL SCHEMES , 2022 .

[31]  D. Venditti,et al.  Adjoint error estimation and grid adaptation for functional outputs: application to quasi-one-dimensional flow , 2000 .

[32]  Jaime Peraire,et al.  Hypersonic Flow Computations on Unstructured Meshes , 1997 .

[33]  D. Venditti,et al.  Grid adaptation for functional outputs: application to two-dimensional inviscid flows , 2002 .

[34]  W. K. Anderson,et al.  Recent improvements in aerodynamic design optimization on unstructured meshes , 2001 .

[35]  J. A. White,et al.  A Psuedo-Temporal Multi-Grid Relaxation Scheme for Solving the Parabolized Navier-Stokes Equations , 1999 .

[36]  Michael A. Park,et al.  Three-Dimensional Turbulent RANS Adjoint-Based Error Correction , 2003 .

[37]  E. Nielsen,et al.  Aerodynamic design sensitivities on an unstructured mesh using the Navier-Stokes equations and a discrete adjoint formulation , 1998 .

[38]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[39]  Michael Andrew Park,et al.  Adjoint-Based, Three-Dimensional Error Prediction and Grid Adaptation , 2004 .

[40]  Natalia Alexandrov,et al.  Opportunities for Breakthroughs in Large-Scale Computational Simulation and Design , 2002 .

[41]  Robert Lewis,et al.  A trust region framework for managing approximation models in engineering optimization , 1996 .

[42]  Frank Thiele,et al.  MEGAFLOW - A Numerical Flow Simulation System , 1998 .