Collaborative Software Development in Support of Fast Adaptive AeroSpace Tools (FAAST)

A collaborative software development approach is described. The software product is an adaptation of proven computational capabilities combined with new capabilities to form the Agency's next generation aerothermodynamic and aerodynamic analysis and design tools. To efficiently produce a cohesive, robust, and extensible software suite, the approach uses agile software development techniques; specifically, project retrospectives, the Scrum status meeting format, and a subset of Extreme Programming's coding practices are employed. Examples are provided which demonstrate the substantial benefits derived from employing these practices. Also included is a discussion of issues encountered when porting legacy Fortran 77 code to Fortran 95 and a Fortran 95 coding standard.

[1]  David Thomas,et al.  Programming Ruby - the pragmatic programmer's guide (2. ed.) , 2005 .

[2]  Eric J. Nielsen,et al.  Sensitivity analysis for the Navier-Stokes equations on unstructured meshes using complex variables , 1999 .

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

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

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

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

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

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

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

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

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

[12]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

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

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

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

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

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

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

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

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

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

[22]  Neal T. Frink,et al.  Tetrahedral Unstructured Navier-Stokes Method for Turbulent Flows , 1998 .

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

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

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

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

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

[28]  W. K. Anderson,et al.  An implicit upwind algorithm for computing turbulent flows on unstructured grids , 1994 .

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

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

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

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

[33]  Gerard O’Regan,et al.  The Capability Maturity Model , 2002 .

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

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

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

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

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

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

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

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

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

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

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

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