FUN3D Analysis Interface Module (AIM)
FUN3D Analysis Interface Module (AIM)
Introduction

FUN3D AIM Overview

A module in the Computational Aircraft Prototype Syntheses (CAPS) has been developed to interact (primarily through input files) with NASA LaRC's unstructured flow solver FUN3D. FUN3D is a parallelized flow analysis and design suite capable of addressing a wide variety of complex aerodynamic configurations by utilizing a mixed-element, node-based, finite volume discretization. The suite can simulate perfect gas (both incompressible and compressible), as well as multi-species equilibrium and non-equilibrium flows. Turbulence effects may be represented through a wide variety of models. Currently only a subset of FUN3D's input options have been exposed in the analysis interface module (AIM), but features can easily be included as future needs arise.

Current issues include:

Generating fun3d.nml

FUN3D's primarily input file is a master FORTRAN namelist, fun3d.nml. Currently, the FUN3D AIM relies on a Python script to read and write this file. As such the AIM user needs Python installed so that the AIM may be complied with the Python API library (and header file - Python.h). The logic behind using Python to interact with the namelist file is simple, flexibility. Python allows dynamic creation of input variables, while each option available in C would have to be explicit defined. This would essentially lock the AIM into a particular version of FUN3D, as changes due to the addition and deprecation of variables would become cumbersome. Currently, the FUN3D AIM will first try to read an existing fun3d.nml file in the specified directory. If the file does not exist one will be created. Only modified input variables that have been specified as AIM inputs (currently supported variables are outlined in AIM Inputs are updated in the namelist file.

Alternatively, if the AIM is not built against the Python API a bare-bones fun3d.nml is created using only the variables set in AIM Inputs. For the fun3d.nml file to be created it is essential to set the Overwrite_NML input variable to True. This gives the user ample warning that their fun3d.nml (if it exist) will be over written.

Related pages: