Up | Next (C2: Reference Information) 1. Overview and Getting Started 1.1. Background FUN3D was born in the late 1980s as a research code. The code’s original purpose was to study existing algorithms and to develop new algorithms for unstructured-grid fluid dynamic simulations spanning incompressible flow to transonic flow. The project has since grown into a suite of codes that cover not only analysis, but adjoint-based error estimation, mesh adaptation, and design optimization of fluid dynamic problems extending into the hypersonic regime. The solver has been applied to a number of complex large-scale problems by groups at NASA Langley, industry, and academia. (See the Applications section of this manual.) Internally, the software has been used to study airframe noise, space transportation vehicles, flow control devices using synthetic jets, the design of wind tunnel and flight experiments, and so forth. Boeing, Lockheed, Cessna, New Piper, and others have used the tools for applications such as high-lift, cruise performance, and studies of revolutionary concepts. The software has also been used for military applications, large-scale computer science research at national labs, as well as algorithmic studies performed at universities around the country. For example, researchers at Georgia Tech have been using FUN3D as their base for rotorcraft work. In 1999, we began employing Agile Software Development practices, primarily those of Extreme Programming. We use Continuous Integration on a wide range of computer platforms. To catch integration errors, the suite of codes are repeatedly checked-out around the clock from our central repository, compiled, and several hundred regression and unit tests are run. Email and cell phone SMS provide instant notification of any errors. We practice pair-programming on a regular basis to raise our truck number and adhere to a coding standard (see the Appendix) while continuously looking for refactoring opportunities. We use a Wiki, email lists, retrospectives, and Scrum status meetings to facilitate communication, identify impediments, and foster team collaboration. 1.2. Capabilities Analysis, Sensitivity Analysis, and Design Optimization Hand-coded discrete adjoint for reverse mode differentiation Automated complex variables for forward mode differentiation

Adjoint-based adaptation for outputs

Gradient-based adaptation

Domain decomposition with MPI communication for distributed computing

communication for distributed computing Node-based, finite volume discretization

2D and 3D options

Thermodynamic models Perfect gas (compressible and incompressible) Thermochemical equilibrium, non-equilibrium

Multigrid with implicit time stepping where the linear system is solved using either Point-implicit Line-implicit Newton-Krylov

Upwind flux functions Roe flux-difference splitting Van Leer flux-vector splitting AUFS HLLC

Turbulence models (all integrated to the wall) Spalart Allmaras k-omega/SST

Propulsion simulation (10.5) Inlets (10.5) Nozzles (10.5) System performance calculation (10.5-beta)

Grid motion (time-varying translation/rotation)

Time-accurate options to third-order with error controllers

Modified linear elasticity solver for mesh morphing with hand-coded discrete adjoint and automated complex-variable modes for sensitivities

Predominantly F95 implementation with some F2003 features, readily portable to wide range of platforms and compilers Hardware: SGI , Sun, Cray, HP, IBM , DEC, Pentium, Athlon, Opteron, Mac Compilers: SGI , Sun, Compaq, Lahey-Fujitsu, Cray, Absoft, Intel, IBM , HP

implementation with some features, readily portable to wide range of platforms and compilers 1.3. Requirements Our usual computing platform is Linux clusters, so this is the preferred environment for the software. A number of users prefer to work on Suns, SGIs, Mac OS X, Opterons, Crays, HPs, IBMs, or DEC Alphas; these platforms are supported as well. Users have also run on other architectures such as MS Windows based PC’s, however we don’t provide explicit support for these machines. The codes were originally geared towards vector processing, but have since been modified for cache-based platforms. For FUN3D, you will need a Fortran 2003 compiler. This code has gone through an extensive cleanup/overhaul over the past few years to lay a solid foundation for the extension to flows in thermochemical non-equilibrium, and is considerably easier to use and modify than ever before. New features include hooks for generalized boundary conditions, inclusion of incompressible physics formerly available only as a separate code, much more organized routines in a module setting, and extensive use of F95/2003 coding features such as derived types. The user can compile the code to run in either sequential mode or using MPI. The most improved aspect of FUN3D is the grid processing and partitioning stage, where users can now easily go directly from a number of popular grid formats to the solver. For two-dimensional grid generation, we recommend the AFLR2 software written by Dave Marcum at Mississippi State University. Our automated scripts are geared towards this grid generator, but you may choose to use your own if you wish. Three-dimensional grid generation is much more involved, and is left entirely up to the user. Our most common sources of 3D grids are VGRID (NASA Langley) and SolidMesh/AFLR3 (Mississippi State). We also prefer the GridEx package (NASA Langley), which serves as an interface for a variety of CAD packages and grid generators. We also offer unique design optimization and grid adaptation capabilities built around a discrete adjoint solver for the RANS equations. Before pursuing design optimization, you should be an experienced FUN3D user, and have some serious hardware available to run on. The adaptation capability is very far along, but still being matured. Get in touch with questions. 1.4. Release History The following release notes summarize changes to FUN3D’s functionality associated with each formal release. Changes not visible to the user are omitted to keep the list concise. Version 13.x Enhancements First general release of GPU -accelerated capability for compressible perfect-gas flows. Please see new chapter in the User Manual describing hardware requirements, installation details, and usage. A strong solver based on a hierarchical adaptive nonlinear iterative method (HANIM) has been implemented for primal flow computations aiming to improve the robustness and efficiency of the standard preconditioner-alone solver. Please see the User Manual for usage of the HANIM solver. An extended blade-element based actuator disk model has been made available through specifying the particular load type in rotor.input. This actuator disk model supports radial distributions of blade chord length, twist, and blade element properties, as well as the use of C81 airfoil performance tables to account for flow compressibility. Adjoint-based sensitivity analysis is fully enabled for this model, where the blade chord length and twist at specified radial stations and the collective pitch can be used as additional design parameters in conjunction with other design parameters such as disk orientations, positions, radius, tip speed, and etc. See AIAA 2020 -2632 and more details in the User Manual. Added ability to optionally linearize meanflow QCR2000 terms. (cfb84351) Tecplot volume output may now be restricted to subvolume regions prescribed by simple user-defined geometries. (0ca76eaa) tail_hist_stats utility now able to emit CSV format (063dd1707f) and perform limited Euler rotations before computing statistics (384fc54830). Added ability to compute viscous terms using edge-based method for tetrahedral cells (d459d96d1a). Output Changes This output changed. Input Changes The f3d (mesh adaptation driver) script default iteration_steps was changed to the multiscale metric adaptation. Recover the previous default with `def iteration_steps; flo; adj; rad; end` (cd00524e) The functionality of the aeroelastic modal solver’s gforce0 option was split into two separate inputs. The previous behavior applied a positive gforce0 perturbation on the first step and a negative gforce0 offset for the remainder of the simulation. The new behavior of gforce0 is to only apply the positive perturbation on the first step. A new input gforce_static has been created to add a generalized force offset to all steps. (8a0389a4) The logical control variable ‘mixed’ which forces tetrahedral grids to be processed as general element types is now available through the &code_run_control namelist. (6646dc60) The input ‘use_64bit_partitioning’ used to control the precision of the FUN3D interface with ParMETIS is no longer available as an input in the &partitioning namelist. FUN3D will now detect the appropriate precision based on how ParMETIS was built and installed. A new utility which can be used to compress the patch numbering present in a grid file has been added in utils/. Also see note under Known bugs below. Bug fixes Fixed occasional stalling of the code in the wall distance calculation when recompute_turb_dist = .true. for moving grid cases. (c633e24f) Fixed subtle error in tetrahedral flux jacobians for simulations using QCR turbulence modeling strategy. (e1c4b739) The input patch_center was previously unavailable in the &boundary_conditions namelist as documented in the User Manual (9f678cb9) Include the file multiplydoubles.c, which was omitted from the 2D grid tools suite in previous releases. (5caa63a8) tail_hist_stats utility was erroneously combining two variables into one. (5034caae8a) Known bugs Preprocessing has a known issue if surface patch indices exceeding the total number of surface patches are present in the original mesh file. A utility has been provided in the utils/ directory which can be used to renumber the patch numbers in a grid to eliminate this problem. Version 13.6-717bd48—November 2019 The version 13.6 PDF user’s manual is available as NASA TM-2019-220416. Enhancements Changed the default value of recompute_turb_dist to .true. in namelist &global . This causes the distance function needed for turbulence models to be recomputed for each time step for moving-grid cases. The exception is for single (non-overset) rigid moving grids, as there is no distance change with rigid rotation/translation of a single mesh. This parameter has no effect for static grids. To revert to previous behavior, explicitly set recompute_turb_dist = .false. (b2ec6675) For DES models, the DES length-scale parameter is now recomputed when the mesh deforms (which potentially alter the local mesh spacing). (9aaf50c3) Changed the behavior of freeze_limiter_iterations in namelist &inviscid_flux_method for time-dependent flows (no change in behavior for steady-state simulations). For time-accurate simulations, the value of freeze_limiter_iterations is now associated with the subiteration number rather than the time-step number. (774a9a4a) Improved the robustness of grid mirroring for cases in which the plane to be mirrored about (x=0 or y=0 or z=0) is not quite at an exact value of zero. (b00648f0) Improved the robustness of mesh deformation for some cases by allowing “multistep” mesh deformation. See the manual for details on choosing input parameters deform_from_initial_mesh , deformation_substeps , and use_substeps_each_step for guidance and cautions. (6700f4c7) Added modal decomposition of mesh deformation option for internal aeroelastic cases. Requires additional memory but reduces computational cost. The idea was suggested by Jamie Akkala. (abce3b0e) Correctly set initial wall turbulence values for all turbulence models. Some models (e.g. SA-DES) had initial values set freesteam levels at solid walls. (9c8fcb62) Added the option to use the relative Mach when setting the adiabatic wall temperature ( relative_vel_twall_adiabatic = .true. in &body_definitions ). Required to get exact match in results if comparing a moving-grid case with a comparable staic-grid case (e.g. static mesh in Mach 0.8 flow vs. mesh translating at Mach 0.4 into a Mach 0.4 flow, such that the relative Mach is 0.8). Mostly for verification purposes, as the effect is generally small for modest Mach numbers. (3b6ea248) Added a boundary condition controller for total pressure to attain a requested massflow in to the computational domain. (bed3f162) Added the option to set the precision of volumetric output when using the export_to=”native” option. It can be set to either single or double precision. The default is single. (f63e4594) Added adjoint-based sensitivity analysis capability for steady flows involving actuator disks with constant loading distributions. This includes a new power-based objective function for any actuator disks present. Also includes the ability to group actuator disks such as propellers installed on both sides of a vehicle. See AIAA -2019-3681. (06f0d3b4) Added adjoint objective/constraint functions based on the net sum of forces acting in the x-, y-, and z-directions, including a vehicle weight term. See AIAA -2019-3681. (06f0d3b4) Provided user input to set SNOPT optimality tolerance. (06f0d3b4) Implemented the exact linearization of the LD-Roe flux function. (d4eb6582) Output Changes For overset meshes, changed the default output variable list to include imesh (the component-mesh id for each grid point). (52d54696) Added extraction of Cartesian gradients for all 5 primitive variables to the sampling_output namelist. (bc3ec0d6) Bug fixes Fixed namelist cut-and-paste error in sampling_parameters namelist for specification of a cone sampling geometry. (a6f399a5) Corrected a very minor error in the dissipation associated with the LD-Roe flux function. (d4eb6582) Version 13.5-d36c511—July 2019 The version 13.5 PDF user’s manual is available as NASA TM-2019-220271. Bug fixes Fixed seg fault when adapting grids with turbulence models other than SA. (3eee1873)

Fixed gust velocity at walls in gust simulations based on the field velocity method. (c30551bd)

The complexity of the frozen portion of a grid to be adapted is estimated as half the number of frozen vertex. The frozen complexity is subtracted from the complexity request to scale the metric. (41c91ac5)

Fixed bug in specifying non-zero initial conditions for the 6DOF library. (28b3b664)

Fixed dimensions of several output parameters when using &component_parameters . (480c0c47) Input Changes The &composite_overset_mesh namelist in moving_body.input is deprecated. This namelist contained only one element, input_xml_file . This element is now part of the &overset_data namelist in the fun3d.nml file. (43c1faf1) The body_frame_forces element of the &body_definitions namelist in the moving_body.input file is now deprecated; see information in the Output Changes setion below. The &body_transform and grid_transform namelists for static-grid transforms (transforms applied once at the beginning of the simulation) now allow transforms to be specified via Euler angles. (32fe5d84) A user-defined body axis may now be specified for reporting forces and moments for non-moving grids. Specification of a body axis will cause an additional file, [project]_body_frame.forces , to be output in addition to the standard [project].forces file. Forces and moments in the new file will be with respect to the specified body axis; Forces and moments in standard file are with respect to the Cartesian axes defined by (implicit in) the input grid. This body axis is specified via the &force_moment_integ_properties namelist, and may be specified as a rotation vector (angle and axis), Euler angles, or a transform matrix. (32fe5d84) A user-defined body axis may now be specified for reporting forces and moments for moving grids; a different axes may be specified for each body. Specification of a body axis will result in a change to which body axis the data in the _body.dat files (see Output Changes below) is referenced to. Without a user-specified axis, the default body axis will be defined by (implicit in) the input grid; a user-specified axis will override this default. By way of example, a typical store separation simulation would start with a grid in native FUN3D orientation: +X “aft”, +Y “right spanwise”, and +Z “up”. Body-frame data will be reported in this body axis by default. However, a traditional flight-dynamics reference frame would have a body axis with +X “forward”, +Y “right spanwise”, and +Z “down”. The user-specified axis may be defined so that output is relative to the flight-dynamics reference frame rather than the native FUN3D body axis. A body axis is specified via the &body_definitions namelist in the moving_body.inpt file, and may be be specified as a rotation vector (angle and axis), Euler angles, or a transform matrix. (32fe5d84) Output Changes When performing moving-grid simulations, there are significant changes to output files. Data in now always output in both the inertial frame and the body frame. In addition, aerodynamic forces and moments are also output relative to the wind axis. In the wind frame, the relative angle of attack, yaw angle, and Mach number are reported. Files in the body frame have file names that contain the extension _body (e.g. PositionBody1_body.dat ); files in the wind frame have file names that contain the extension _wind (e.g. AeroForceMomentBody1_wind.dat ); files in the inertial frame have no additional extension (e.g. VelocityBody1.dat ) (e984b3f7) If the temporal-error controller is not used, the estimate of the temporal error is no longer output. (5563be2b) Enhancements Static-grid transforms can now be used with moving bodies. (09e0c1a9) A starting level, inflow_pt_start , was added to the total pressure ramping of boundary conditions 7011 and 7021 ( subsonic inflow-total conditions ). (c7e16250) Massflow matching between engine components was added as an engine cycle choice. Either the inlet massflow can be used to drive the nozzle flow, or the nozzle massflow used to drive the inlet flow. (d7fb137d) The alpha driver was updated to allow thrust effects from an engine to be included in the lift coefficient used to modify the flow angle of attack. (d447c359) The input to the Schlieren capability in &sampling_parameters was updated to avoid being blinded by walls for creating the Schlieren image. (255c4530) Added the ability to define the ARP -1420 rake input using a radius and center location instead of having to define each probe point individually. (abc307de) A second inlet distortion metric (GE) was added to the &component_parameters distortion analysis output. (51bedef5) Version 13.4-0a6bd8b—Nov 2018 The version 13.4 PDF user’s manual is available as NASA TM-2018-220096. FUN3D version 13.4 now requires the build of shared objects for some capabilities. Previous versions used only static libraries. As such, the source is compiled as Position-Independent Code (PIC) for use in both shared and static libraries by default. This will increase the compile time and also may affect the performance slightly (we observed roughly 4% penalty in some cases). Users can configure using --disable-shared to prevent the building of shared libraries and the generation of Position-Independent Code. This will retain performance and cut the build time in half. Input Changes Output Changes The output from the plot_modes option in &aeroelastic_modal_data has changed to reflect the fact that the modal surfaces are now partioned by default. This requires that each processor writes out the portion of the mode shape that it has. Previously, a single file per mode was written. The contents have also changed: the first x,y,z triplet now has the mode shape already added to the undeformed surface; the second triplet is the undeformed surface, and the third triplet is the mode shape. Old output files corresponded to the current second and third triplet – to visualize the mode shape the triplets needed to be added together in Tecplot. That is no longer necessary. (54460b301) Enhancements Added an option for time-dependent, articulated-rotor cases that allows the user to specify the time step in terms of the rotor azimuthal change per time step. For example, to specify a time step corresponding to 1/2 degree per time step, input a value of time_step_dpsi = 0.5 in namelist &nonlinear_solver_parameters . If time_step_dpsi , is specified, the value of time_step_nondim , if specified, is ignored. Rotorcraft only. (c2ffa9161d) Added an option to allow the user to control whether slice-related data is appended to on restart. Set slice_append_on_restart = .false. in namelist &slice_data to not append on restart, instead overwriting the existing data with data from the current run. The default is .true. , append current data to any existing data when restarting. (0a881ed21b) Modified the slicing algorithm to be more robust in situations where the desired slice location sits on a surface point or aligns with an edge of a boundary face. (09d73ccc719) Added QCR -2013 non-linear stress option for turbulence. (caaee3a9) Added the modulus of the symmetric, S, and antisymmetric, W, velocity gradient tensors to the &sampling_output namelist. (a5fa06ec) Added the Python interface for steady and unsteady aeroelastic analysis and adjoint-based sensitivities. (6ebafb6f) Added Strelets Detached Eddy Simulation (DES) and Woodruff Model Invariant Hybrid Reynolds Averaged Navier Stokes Large Eddy Simulation capabilities for turbulent flows. (a9d62124) Added spatial averaging capabilities for turbulent flows. (d9fac3a2) Added turbulent inlet profile and turbulent fluctuations for boundary condition. (ed802277) Added the namelist parameter inflow_pt_start in &component_parameters to allow specification of a starting point for total pressure ramping with the 7011 and 7021 boundary conditions. (6727f634) Bug fixes Corrected the format of a read statement in utils/Rotorcraft/extract_sectional_forces.f90 to reflect an increase in output precision. (dfbcd25) Fixed mpi gather error when multiple ARP -1420 analyses were requested in the &component_parameters namelist. (2fa4eaa3) Corrected the normalizations used in the force and moments tracked in the &component_parameters , where some parameters were divided by the reference area and dynamic pressure twice. (e67b68c2) Re-established the call to the transformation-of-body-forces subroutine when the user requests a different moment center and/or reference area for grouped components in the &component_parameters namelist. (18539b2e) Fixed a bug in the static grid transform option pure scaling was requested. (9c464a7) [project_name].forces is now written once every restart_write_freq and at the end of an execution. The file was writen multiple times, which interacted poorly with file systems. (305bbc5) Fixed the integrator equation for the one-point boundary condition controller. (b0ef781c) Fixed the logic for calculating Reynolds stresses for 1-equation turbulence models. A conditional testing for the QCR stress option left out the choice of using a 1-equation model without any QCR added at all. (e9934efd) Refactored the logic in sampling_parameters so that when spatial averaging is not requested, 4 dummy sampling geometries are not allocated and carried through the sampling infrastructure. (57ad64a1) Fixed the re-dimensionalization of the coefficient form of the viscous and pressure forces being bookkept in &component_parameters . A previous commit that preserved the coefficient form of the force and moments for solid boundaries, was not properly accommodated later in the module where the force and moment data were dimensionalized for multi-unit output in the [project_name}_stream_info.dat file. This change displays the proper units in the output. (0a6bd8bb) Version 13.3-5dad7cc—Apr 2018 The version 13.3 PDF user’s manual is available as NASA TM-2018-219808. Input Changes viscous_solid boundaries can now have flow-through forces calculated via adding porous_bc(ib) = .true. to the &boundary_conditions namelist. Additional information can be found in the &boundary_conditions input description. Wall function inputs have been moved from the &turbulent_diffusion_models namelist to the &boundary_conditions namelist. (f89c9e6001,78ff05657b) The mass flow integration option in the &sampling_parameters namelist has been moved to the &component_parameters namelist. (803fd53f5) The tightly_couple option in the &nonlinear_solver_parameters has been removed. It was only valid for the sa-neg perfect-gas turbulence model. (e54af48dd7) A new namelist, &shuffle_generic , has been added, which allows restarting from flow solutions with a different number of species density, energy, and turbulence variables in the high-energy gas path. Setting mass_fraction to zero in the &flow_initialization namelist will now throw an error in the high-energy path. (22e66e0f) An fatal error is now thrown when the flux_construction = 'stvd' option is used in the perfect-gas path, while trying to run turbulent flow. That option only supports turbulent flow if running the high-energy path, otherwise it only supports laminar or inviscid flow. (74f5f0a4) Output Component performance summary output is improved in [project_name]_stream_info.dat when the allow_flow_through_forces = .true. and list_forces = .true. namelist parameters are used. For time-accurate simulations, the “time step” referred to in screen output now corresponds to the aggregate time step, i.e., the number of time steps from the start of the simulation; the “current step” corresponds to the time step of the current run. The stop.dat file governs code termination by the “current step” value (as it always has). Enhancements The linearizations used in the four-equation turbulence model were modified to improve stability in the test cases. (75fd09d6f4) The turbulence equations solid wall boundary condition routine was refactored and should show performance improvement over the previous release. (7818b0521a) Compatible with HELIOS Version 8 (c158560c046) Bug fixes Fixed several dimensionalization errors in the component performance analysis and output routines. Also updated makefile for dynamically loaded boundary conditions. (8b5f09b67b, 244aae9e) Fixed uninitialized memory read in component performance analysis. (b645c01) Fixed a bug in sampling_gather where lambdap was not initialized. Also, removed the addition of prior_iters from several sampling output statements since time_step now has prior_iters already added to it. (1b1af38c) Fixed a bug in the calculation of static and total temperature in component performance analyses. (171a70e245) Fix average velocity calculation in the component_parameters output file [project_name]_stream_info.dat . (92027a2117) Fixed a bug in the high-energy path, where various pressure forces were not accounted for flow-through boundary conditions (such as 7021 ). (eea5b36f) Fixed a bug in code run control via the stop.dat file. If the stopping iteration set in stop.dat was larger than the number of time steps / iterations set in fun3d.nml, a memory-bounds error would occur. (77d694afd15) Fixed a bug in the modal structural solver run control via the stop.dat file. If the stopping iteration was set < 0 (signaling to the flow solver to stop “immediately” without writng a restart file), the modal solver would nonetheless write its restart file. This caused the restart files from the flow solver and the modal solver to get out of synch. (77d694afd15) Version 13.2-e3f5937—Oct 2017 The version 13.2 PDF user’s manual is available as NASA TM-2017-219661. Input Changes When using “fake bodies” in moving grid cases, the component mesh id for ALL moving bodies must be explicitly specified via the new input variable mesh_id . Fake bodies are typically only employed for time-dependent, moving-body design cases. The flux_construction = ‘stvd’ is incompatible with eqn_type = ‘compressible’ if turbulence is engaged. This has always been true, and the code will now throw an error if that combination of options is selected. The eii_limit and print_eii_limit parameters, while not documented, are now settable in the &update_limits namelist. Output Changes Changed the output from an alpha_sweep to include all three Cartesian force components and all three Cartesian moment coefficients; also cleaned up some output of questionable usefulness. (c8816f2) Enhancements Viscous perfect gas simulations using mixed element meshes should exhibit a 10-20% performance improvement over the previous release. The “aehist” files from the modal structural solver are now entirely reproduced from data in the [project]_modal_structure.restart file. Thus, the user only needs to make sure to retain this restart file (along with the FUN3D restart file), and not the individual aehist files (of which there can be many). (72a2fd4) The adapt_feature_scalar_form = 'none' in &adapt_metric_construction namelist creates a metric formulated to control interpolation error in the Lp norm, where p=2. Previously, the Linfinity norm was used. (4e9e911) The user may now set the tolerance used to find the mapping between fluid points and structure (mode shape) points for cases where the default tolerance is too strict. (c20fa8a) Bug Fixes Fixed several bugs in the alpha_sweep option regarding alpha_switchbacks to make the switchback work as intended. (c8816f2) Fixed two significant bugs in the modal structure library that were introduced in 13.1 (e010818) Fixed a restart design flaw in the modal structure library in that the [project]_modal_structure.restart file was only written at the end of a run. Thus, if a run died unexpectedly for some reason, FUN3D would have periodically written its restart file, but not the modal solver. With a mismatch in restart data, the simulation could not be restarted. The fix entails writing a [project]_modal_structure.restart file whenever FUN3D writes its restart file. (72a2fd4) Fixed a bug in which the boundary family name was lost when mirroring a grid. As a result, the family names were not reflected in the [project].forces file. (de950e7) Fixed a memory leak in chemical source term jacobian, for generic gas path. This bug was introduced in 13.1 (bd837bd) Fixed error in thermal source term jacobian for generic gas path. This bug was introduced in 13.1 (d9f4399) Fixed error in edge-based viscous flux closure, where some nodes were not properly treated if running in parallel (7047ecb4) Version 13.1-105cdae—Mar 2017 The version 13.1 PDF user’s manual is available as NASA TM-2017-219580. The 2017 version of the Intel compiler is known to produce incorrectly executing code. It should be avoided if possible. Our continuous integration tests examine Intel versions 2013.4.183, 2015.2.164, 2016.0.109, and 2016.3.210 (other versions may function). Input Changes The untangling_iters has been added to the &elasticity_gmres namelist. The default value now disables untangling, which is rarely helpful in practice. Setting untangling_iters=3 will recover previous default behavior. (2850b1) The parameters grefl , uinf and qinf in the &aeroelastic_modal_data namelist (in moving_body.input ) have been changed to scalar values; previous versions required these inputs for each aeroelastic body. The names of the available time_integration_scheme have changed. The traditional predictor-corrector scheme remains the default, but is now referred to as PC_2ndorder . The second order backward-difference scheme is now referred to as BDF_2ndorder . See the manual for all options. (2653dbd) The command line option --elasticity has been removed – now input as elasticity in the &elasticity_gmres namelist; see the manual for additional input changes for &elasticity_gmres . (12f1145) The command line option --reduce_shape_change has been removed. (a34067c) The command line option --plt_tecplot_output has been added. This option sets the binary Tecplot output to the old .plt format if FUN3D has been compiled against the new standard TecIO library. It is invalid if compiled against TecIO-MPI. (af2a578) Output Changes The restart data for the modal/linear structural dynamics solver is no longer held in the FUN3D restart file. A separate file, [project]_modal_structure.restart is now written/read, and the user must ensure that this file is visible in the run directory, in addition to the usual [project].flow file. (83691c8) The time output from the modal/linear structural dynamics solver has been changed to dimensional output (e.g. time is now in seconds). The generalized acceleration has been added to the list of output variables. (62de0ea) The convergence history of the linear elasticity solver that is written to standard output has changed slightly and gained additional information. (895f772) The --make_tets command line option has been eliminated. A separate utility code called aflr3_make_tets to convert AFLR3 mixed-element meshes to tetrahedral meshes is now provided. (e96c72a) Enhancements The 'szplt' option was added to export_to option of &volume_output_variables to produce a single image tecplot data file. This requires configuring FUN3D with TecIO-MPI library. (2d9838e) A new objective function for adjoint-based design using inlet fan distortion has been implemented. See manual for details. (61d55f0) For coupled CFD /CA rotorcraft simulations, an algebraic mesh deformation option has been added. This option can be considerably faster than deforming the blade meshes using the linear elasticity solver. The new option is engaged by setting algebraic_mesh_deform = .true. in the &elasticity_gmres namelist. This option is now the default when using FUN3D within HELIOS Again, this new option is limited in scope to only coupled rotorcraft simulations – not general aeroelastic simulations. (bb962112c) Made FUN3D 13.1 compatible with HELIOS Version 7. (30c6cb6) The linear elasticity solver has been revamped. For best performance, the SPARSKIT linear algebra library should be built and linked with FUN3D via the --with-SPARSKIT=... configuration flag. In the absence of the SPARSKIT library, the point-multicolor scheme is utilized as the solver for the elasticity equation; with SPARSKIT , GMRES is used as the solver, with point-multicolor as a preconditioner. The restart_deformation option is now .true. by default. See the manual for all options. (895f772) Some mixed precision arithmetic in the point-implicit solver routines has been modified to improve linear system stability. The modifications have resulted in dramatic improvements in robustness for a wide range of applications. (b6924e5e) Output-based adaptation standard (screen) output was augmented to provide more diagnostic information. Relative (negative) adapt_output_tolerance is now allowed for feature-based adaptation as well as output-based adaptation. (707284f) refine/one learned to store hex elements without modification to adapt tetrahedral elements mixed with frozen pyramid, prism, or hex elements. (7d1d691) Bug Fixes Fixed an error in the check of boundary_list input when doing a static_body_transform. (85c654c) Uninitialized memory in the grid pre-processor is now initialized to zero. (a93d691) Fixed (in the process of a complete recoding of the modal aeroelastic capability) an error that prevented correct execution of modal aeroelastics when run in conjunction with the incompressible flow path. Version 13.0-382ef83—Sep 2016 The version 13.0 PDF user’s manual is available as NASA TM-2016-219330. Enhancements Viscous wall function and weakly imposed solid wall boundary conditions are added. (9b5646e)

The option restart_deformation is added to &elasticity_gmres to reduce the execution time of time accurate simulations with grid deformation. (5280cb2)

is added to to reduce the execution time of time accurate simulations with grid deformation. (5280cb2) The mesh_diagnostics option is added to &raw_grid to provide analysis of grid element properties. (883eb99)

option is added to to provide analysis of grid element properties. (883eb99) The options override_partition_vector and write_partition_vector have been added to &partitioning namelist. (5f984e9)

and have been added to namelist. (5f984e9) New output options have been added to &slice_data , see user manual documentation for details. (bfe136f)

, see user manual documentation for details. (bfe136f) Time average and RMS added to generic gas model &volume_output_variables , &boundary_output_variables , and &sampling_output_variables . (0ef48df)

added to generic gas model , , and . (0ef48df) MPI abort is now used to stop execution if an error is detected after initialization completes. This can reduce parallel execution time by 10 percent for some cases due to eliminating MPI gather-scatter operations. MPI abort can create a deadlock with some MPI implementations, which prevents the code from completing execution. (b9f819a)

abort is now used to stop execution if an error is detected after initialization completes. This can reduce parallel execution time by 10 percent for some cases due to eliminating gather-scatter operations. abort can create a deadlock with some implementations, which prevents the code from completing execution. (b9f819a) CGNS version 3.3.0 or later is now required. Larger files that require 64-bit integers are now supported. Input Changes The timing and time_moving_grid options have been removed from the &global namelist.

and options have been removed from the namelist. The HIARMS actuator disk model is now activated via the hiarms_flag variable in the &hiarms_actuator_disk namelist. The --hiarms_rotor command line option has been removed. (2ba2168)

actuator disk model is now activated via the variable in the namelist. The command line option has been removed. (2ba2168) The &slice_data options slice_initial_coords and output_in_slice_coords are obsolete and are slated for removal. See &slice_data user manual documentation for details. (4a4225d) Bug Fixes The value of the blending function, F1, in the Menter-SST turbulence model, when both the turbulent kinetic energy and the distance are zero, was corrected to be 1 instead of 0. (4c71583)

The minimum allowable value for the omega transport variable in the Menter-SST, Wilcox and several Reynolds stress turbulence models was decoupled from the value in the freestream and set to the value of 1.0e-20. (a99ccd1) At the time of the relase, the 2017 version of the Intel compiler produces an Internal Compiler Error (ICE). A work-around has been implemented for regression in the 2016 version of the Intel compiler. Our continuous integration tests examine Intel versions 2013.4.183, 2015.2.164, 2016.0.109, and 2016.3.210 (other versions may function). (49cfead) Version 12.9-0555546—Apr 2016 The version 12.9 PDF user’s manual is available as NASA TM-2016-219012. There is currently a regression in the 2016 version of the Intel compiler that prevents the Intel 2016 Fortran compiler from compiling FUN3D (and has been reported to Intel). Please use a version of the Intel Fortran compiler prior to 16. Our continuous integration tests have verified Intel versions 2013.4.183 and 2015.2.164, but other versions may work. Enhancements The k-kL-MEAH2015 turbulence model has been added. &noninertial_reference_frame gained noninertial_frame_output which controls the reference frame of visualization data. (1e6772e) &observer_motion gained a new ob_parent_name option specifically targeted to articulated rotor simulations. The new option allows simple specification of an observer frame tied to the rotor hub reference frame. (d420222) &sampling_output_variables gained DES /DDES visualization functions. (3e2361f) &aeroelastic_modal_data gained a backward_difference modal_update_scheme , along with the ability to perform subiterations between the fluid and (modal) structural solvers. &grid_transform and &body_transform , are now compatible with overset meshes. &grid_transform requires an additional specification of which component mesh to move. Input Changes The 4thorderESDIRK4 time integration scheme has been removed. (21b4006) &boundary_conditions gained farfield_point_vortex which controls the use of a vortex correction to 2D far field boundary conditions. The --point_vortex command line option has been removed. (ab5730c) Output Changes The data field contained the value of (simulation) time has been increased in size in the sectional_forces and slice.dat files. The extract_sectional_data.f90 utility code has been modified to work with the new data field size. Bug Fixes The output of total pressure ( ptot ) and total temperature ( ttot ) from the compressible, perfect gas path are now correct when requested via the &volume_output_variables namelist. Total pressure ( ptot ) is available in the incompressible path, however total temperature is not available. (94fc10a) For fully articulated rotor blades (not actuator disk), an error in the order of the application of lead-lag and flap angles was corrected. This can have a significant effect for rigid-blade simulations where the blade motions are set via the rotor.input file (blade orientation is incorrect), and a small impact on elastic-blade simulations where the blade motions are set via a motion file. In the elastic-blade case, the error only impacts the orientation of the outer boundary of the blade grid. (8409ffb) Version 12.8-dc8fb20—November 2015 The version 12.8 PDF user’s manual is available as NASA TM-2015-218807. The FUN3D source code repository has been migrated to the Git version control system. A hexadecimal SHA-1 (Secure Hash Algorithm 1) is now used to refer to individual commits instead of Subversion revision numbers. Enhancements FUN3D may now be used as a “near-body solver” in the HELIOS rotorcraft simulation framework (collaborative effort with Rohit Jain of AFDD ). Static mesh deformation (mesh deformation before solution begins) may now be used in conjunction with dynamic mesh deformation. The distance function for turbulence modeling is automatically recomputed for the statically-deformed mesh. Shear-stress contributions can be optionally added to the generalized aerodynamic force coefficients for mode-based aeroelastic simulations. Shear stress contribution is enabled by setting genforce_include_shear = .true. in the &nml_aeroelastic_modal_data namelist. Only using pressure to compute the generalized forces matches the implementation of CFL3D and CAPTSD . Ffwocs Williams and Hawkings (FWH) acoustic data may now be output for noninertial frame rotor simulations. A new tool ( fwh_noninertial_to_fwh_moving.f90 in the utils/Rotorcraft directory) was created to convert these noninertial frame files to inertial frame files for direct use in acoustic analysis tools such as PSU -WOPWOP. For articulated rotors, all shaft axis rotation angles are now utilized ( phi1, phi2, phi3 ) in the rotor.input file. Previously, only phi2 (shaft tilt in x-z plane) was utilized. The other angles ( phi1 and phi3 ) were silently ignored. Additional partitioning weighting options have been exposed to the user; See the manual documentation for the &partitioning namelist. The Zoltan v3.82 partitioning library available from Sandia National Labs can be linked with FUN3D as an alternative partitioning library; see the manual documentation for the &partitioning namelist. METIS partitioning options have been extended to accommodate the weighted partitioning approaches available with ParMETIS and Zoltan. See the manual documentation for the &partitioning namelist. The utility that merges tetrahedral VGRID meshes into prismatic grids is now capable of reading multisegment VGRID files. Input Changes The &inviscid_flux_method namelist variable smooth_limiter_coeff supersedes the command line option --smooth_limiter_coeff , which will be removed in a future release. See the user manual for a description of smooth_limiter_coeff . Alternate freestream conditions may now be enabled via namelist input. The variable vinf_ratio in the namelist &nml_reference_physical_properties sets these alternate conditions in the same way that the command line option --alternate_freestream did. The &metis namelist has been renamed the &partitioning namelist. The variable metis_numbering_entry has been moved from the &code_run_control namelist to the &partitioning namelist. The serialize_partitioner namelist option has been removed. Instead, specify partitioner='metis' in the &partitioning namelist. The use_imesh_constraint namelist input has been eliminated. Instead, the value of imesh_weighting in the &partitioning namelist should be set appropriately. This weighting only applies to dynamic overset grid systems. inlet_symmetry has been renamed to engine_symmetry and inlet_solution_method removed from the &boundary_conditions namelist. The fixed, supersonic inflow boundary condition, 7100 , fixed_inflow , now uses all 5 primitive variables input in the &boundary_conditions namelist variable q_set(ib,1:5) . Previously, only the density, pressure and the magnitude of the velocity using the three input components, q_set(ib,2:4) , were applied normal to the boundary at each node. Bug fixes Fixed a parallelization bug where large_angle_fix ( ivgrd internal variable) was turned off inconsistently in partitions without any large angles. (r75312) Fixed a parallelization bug where strong turbulent boundary initial conditions are now applied consistently to ghost nodes. This only affects initial transients and not the converged solution. (143e91d) Fixed a bug so that SA-QCR viscous terms are now applied to tetrahedral elements. This affected tetrahedral grids and tetrahedral elements in mixed-element grids. The linear eddy viscosity of the standard SA was being used in place of QCR terms. (4508027) Fixed a bug in the hex numbering for VTK output. (r75159) Fixed several bugs in the Venkatakrishnan limiter and related smooth_limiter_coeff . (r75007, r75139) Fixed bug that prevented correct output of rotor performance files for multiple rotors (r75259) Fixed several bugs for rotors with clockwise rather than the usual counter-clockwise rotation (Thanks to Rohit Jain of AFDD for finding these: r75213, r75200, and r75040) Known Bugs The output of total pressure ( ptot ) and total temperature ( ttot ) are not actually available via the &volume_output_variables namelist, contrary to the manual. Zeros will be output for these variables if requested. Version 12.7-74063—May 2015 The version 12.7 PDF user’s manual is available as NASA TM-2015-218761. Input Changes The &code_run_control metis_numbering_entry variable is required for serial partitioning, serial_partitioner=.true. —see &code_run_control namelist description in the user manual. (r73658) The ammo.input file has been replaced with a new file called design.nml , which contains a single &design namelist containing inputs very similar to the now-obsolete ammo.input file. Variables and their defaults are documented in the user manual. (r73780) Bug fixes Fixed a bug in the residual computation for time-dependent cases that led to small errors in the the imposition of the no-slip condition (r73770); no impact on steady-state flows. The bug was introduced in January 2015 and was in the v12.6 release.

Fixed a bug in visualization when output in a (moving) observer frame. Bug was encountered only when restarting with a handful of timesteps: the observer velocity was not preserved after restart and took several steps to recover to the correct observer velocity. No impact on actual flow solution, only visualization thereof, and only if the user requested observer_motion in moving_body.input . (r73663)

in . (r73663) An out of array bounds write affecting point sampling on the boundaries of mixed element grids is repaired. (r73621) This issue, introduced March 2011, can cause an incorrect residual or segmentation fault. Version 12.6-73467—March 2015 The version 12.6 PDF user’s manual is available as NASA TM-2015-218690. Known Bugs For time accurate simulations, the strong no-slip boundary condition is not enforced correctly.

Point sampling on the boundaries of mixed element grids can cause an out of array bounds write affecting the correctness of the residual or causing a segmentation fault (repaired with r73621, bug introduced March 2011) Enhancements An option has been added to allow serial partitioning with the METIS library if desired ( &code_run_control serial_partitioner=T / ). (The serial partitioner typically provides more efficient partitions.) The master node must have sufficient memory to store the connectivity graph for entire global grid. (r72484)

library if desired ( ). (The serial partitioner typically provides more efficient partitions.) The master node must have sufficient memory to store the connectivity graph for entire global grid. (r72484) Two new radial thrust and torque (swirl) distributions have been added to the actuator disk model. These are a Goldstein distribution LoadType=6 and a distribution read from a file LoadType=5 . (r72090)

and a distribution read from a file . (r72090) Two new boundary condition options have been added to time-accurate simulations of air-breathing propulsion systems. A delta-function impulse, of a specified length and amplitude, can be applied to either an engine inlet outflow boundary or the inflow boundary of a subsonic nozzle plenum. New boundary condition numbers and names are used for these options. Further information can be found in the user manual. (r72542, r72554)

The Quadratic Constitutive Relation (QCR) option for the Spalart-Allmaras (SA) turbulence model is now available. Input Changes The previously depreciated (v12.3) schedule_number variable in the &nonlinear_solver_parameters namelist has been removed. A namelist read error will occur if it is present. (r73337)

variable in the namelist has been removed. A namelist read error will occur if it is present. (r73337) massflow_dimensions and massflow_set_out have been removed from the &boundary_conditions namelist. A namelist read error will occur if it is present. (r71947)

and have been removed from the namelist. A namelist read error will occur if it is present. (r71947) The format of rotor.input has changed to specify TorqueCoff instead of PowerCoff. (r72090)

has changed to specify TorqueCoff instead of PowerCoff. (r72090) The prior_time_avg variable has been deprecated from the time_avg_params namelist in a way that is backwards compatible. Users are encouraged to remove this variable because its use will cause an input error in future releases. (r72572) Defaults were also changed to reduce input for common use cases.

variable has been deprecated from the namelist in a way that is backwards compatible. Users are encouraged to remove this variable because its use will cause an input error in future releases. (r72572) Defaults were also changed to reduce input for common use cases. The unused variable number_of_lines was removed from the &sampling_parameters namelist. (r71643)

was removed from the namelist. (r71643) Unimplemented options were removed from the &boundary_output namelist. (r72567) Bug fix Inconsistency in temporal backplane initialization on boundaries corrected. (r72936)

The code now exits cleanly if an error occurs during grid mirroring. (r72807)

A possible MPI deadlock was eliminated from equ_type='generic' . (r72778)

deadlock was eliminated from . (r72778) A possible MPI deadlock was eliminated from point sampling. (r72780)

deadlock was eliminated from point sampling. (r72780) A memory leak was eliminated from line partitioning (r72648) and multiple equation turbulence models (r71991).

A performance regression for multiple equation turbulence models has been addressed, recovering the speed of v12.2. Build Environment The Fortran dependency generation is now distributed. This should not affect users.

A C ++ compiler is required if the Fortran compiler has ISO C Bindings (F2003). A link error can result if inconsistent compiler/C++ libraries are used.

++ compiler is required if the Fortran compiler has Bindings (F2003). A link error can result if inconsistent compiler/C++ libraries are used. The g95 Fortran compiler is no longer supported. Version 12.5.1-71602M—September 2014 The version 12.5 PDF user’s manual is available as NASA TM-2014-218520. Input Changes The format of rubber.data has changed slightly to include four additional global design variables in addition to the Mach number and angle of attack. A template of this file is located in the Adjoint directory of the source distribution. (r70475)

has changed slightly to include four additional global design variables in addition to the Mach number and angle of attack. A template of this file is located in the directory of the source distribution. (r70475) An additional input field has been added to ammo.input to support user-defined parameterizations. The input specifies the name of the user-defined executable to be run when user-defined surface parameterizations or their sensitivities need to be evaluated during the course of a design optimization. See manual for further details. (r70625)

to support user-defined parameterizations. The input specifies the name of the user-defined executable to be run when user-defined surface parameterizations or their sensitivities need to be evaluated during the course of a design optimization. See manual for further details. (r70625) The --write_mesh command line option now requires a single trailing character string specifying the project name for the mesh to be written. (r70665) Enhancements The power-based cost function for the adjoint solver has been broken up into its components in each of the three Cartesian directions. (r70428)

For simulations in noninertial reference frames, the rotation rate about each Cartesian coordinate axis is now available as a design variable. (r70475)

The sideslip (or yaw) angle is now available as a design variable for adjoint-based sensitivity analysis and design optimization. (r70492)

Extended the dp/dt unsteady objective function to instead use drho/dt if requested for compressible flows. See manual for details. (r70538)

Input verification is improved to ensure that the adjoint solver and any subsequent sensitivity analysis are compatible with the user’s boundary conditions, governing equations (inviscid, laminar, turbulent, compressible, incompressible), grid topology (element and boundary face types), temporal discretization, objective/constraint functions, and design variable choices. The adjoint solver should immediately stop with an error message when an unsupported combination of input options are detected.

The output from component force tracking has been modified to include all the moments and forces, with pressure and viscous forces split out, similar to what is output to the [project_name]_hist.dat file. (r70575)

file. (r70575) The manner in which user-defined geometric parameterizations are specified has been formalized for design optimization. The user can now mark one or more bodies in rubber.data as having user-defined parameterizations. The user must provide the name of an executable parameterization tool so FUN3D can invoke it during design optimization. The names of any necessary auxiliary files must also be provided. See the Using Other Parameterization Packages section of the user manual Design Optimization chapter for further details. (r70625)

as having user-defined parameterizations. The user must provide the name of an executable parameterization tool so can invoke it during design optimization. The names of any necessary auxiliary files must also be provided. See the Using Other Parameterization Packages section of the user manual Design Optimization chapter for further details. (r70625) The design optimization opt_driver has been enhanced to archive files during the course of a design optimization. For example, visualization files can be archived to develop animations of the design history. See the design section of the manual for details. (r70779)

has been enhanced to archive files during the course of a design optimization. For example, visualization files can be archived to develop animations of the design history. See the design section of the manual for details. (r70779) The I/O operations that must occur during flow solutions to support subsequent time-dependent adjoint solutions have been extended to be compatible with the temporal error controller. (r71087)

When using the near-field sonic boom objective function boom_targ , target pressure points which are identified as orphans will no longer contribute to the objective function nor its sensitivity. The contributions from these points were formerly associated with the nearest grid point. (r71244)

, target pressure points which are identified as orphans will no longer contribute to the objective function nor its sensitivity. The contributions from these points were formerly associated with the nearest grid point. (r71244) Boundary condition family name is written to project.mapbc , if available. (r71311) Boundary condition family name is maintained during grid adaptation for the refine grid adaptation library. (r71310)

, if available. (r71311) Boundary condition family name is maintained during grid adaptation for the refine grid adaptation library. (r71310) The vortex generator source term model is extended to include triangular devices in addition to the existing trapezoidal devices. (r71388)

Limited support for objective functions including flow-through boundaries has been added (generally relevant to propulsion-type simulations). Contact support team for details. (r71508)

A new option to alter the mesh before beginning the flow solution has been added. Similar to the existing &grid_transform namelist that acts on the entire mesh, the new &body_transform namelist allows the user to specify a rotation or translation to a body (one or more grid boundaries). The grid is then elastically deformed around the new body position, after which the flow solve begins. (r71292)

namelist that acts on the entire mesh, the new namelist allows the user to specify a rotation or translation to a body (one or more grid boundaries). The grid is then elastically deformed around the new body position, after which the flow solve begins. (r71292) The functionality of the stop.dat file has been extended. Previously, the file was used to terminate a run earlier (fewer number of iterations/times steps) than requested in the fun3d.nml file. The new functionality allows a run to be extended beyond the number of steps requested at the beginning of the run. For example, if 1000 steps were requested at run time but the user deems 2000 would have been better, create a stop.dat file with one line containing 2000, and the code will continue on to do 2000 steps. Bug fix A time rollover bug that halts execution in rare occasions with a cryptic error message was replaced with a warning. This happened when the count argument of the the system_clock exceeded the count_max argument. This would happen with a frequency of count_max / count_rate seconds, which is compiler and system dependent. (r71660 was backported to fix)

argument of the the exceeded the argument. This would happen with a frequency of / seconds, which is compiler and system dependent. (r71660 was backported to fix) The option to move the moment center of the body for moving-grid cases was discovered to be broken. The moment center remained fixed in space even if requested to move or once its location was specified, it could not be changed. Both of these moment center related issues are repaired. (r70473)

Two arrays related to dci_io are now always allocated. This fixes an issue where they were used before being allocated with some MPI implementations. The flow solver no longer prematurely terminates during a restart if steps < dci_period . (r70624)

are now always allocated. This fixes an issue where they were used before being allocated with some implementations. The flow solver no longer prematurely terminates during a restart if . (r70624) Pyramids are read in the correct orientation from ASCII AFLR3 files. (r70661)

files. (r70661) Fixed a subtle bug in the computation of the power associated with flow-through boundaries (generally relevant to propulsion-type simulations). (r71460)

Fixed a bug in total force accounting when flow-through boundaries are present (generally relevant to propulsion-type simulations). (r71499) Version 12.5-71602—September 2014 A time rollover bug that halts execution in rare occasions (once every four months) with a cryptic error message was found with this version. This makes 12.5-71602 obsolete. Use version 12.5.1-71602M, which was backported with a fix. Version 12.4-70371—April 2014 The version 12.4 PDF user’s manual is available as NASA TM-2014-218179. Input Changes The --with-ParMetis=/path/to/parmetis/lib configure option has been renamed to --with-parmetis=/path/to/parmetis where the /path/to/parmetis should contain lib and include subdirectories. Some older versions of ParMETIS have inconsistent header files, it is recommended that you upgrade to the latest version of ParMETIS. (r69411,r69413,r69416,r69463,r69580)

configure option has been renamed to where the should contain and subdirectories. Some older versions of ParMETIS have inconsistent header files, it is recommended that you upgrade to the latest version of ParMETIS. (r69411,r69413,r69416,r69463,r69580) Removed --linear_projection from the command-line options, use &linear_solver_parameters namelist linear_projection variable. (r67756)

from the command-line options, use namelist variable. (r67756) The default of the cr3 term of the SA-RC model has been changed to the recommended value of 1 . Use the &spalart namelist variable sarc_cr3=0.6 to obtain previous behavior. (r67276)

. Use the namelist variable to obtain previous behavior. (r67276) When setting aside separate cores/nodes on which to run auxiliary processes that rely on a split MPI communicator (such as SUGGAR ++, VisIt, and the DCI _IO option), the cores/nodes dedicated for the FUN3D solver itself should now appear first in the list; and cores/nodes intended for auxiliary processes should appear last, after the primary solver cores/nodes. (r67177)

communicator (such as ++, VisIt, and the _IO option), the cores/nodes dedicated for the solver itself should now appear first in the list; and cores/nodes intended for auxiliary processes should appear last, after the primary solver cores/nodes. (r67177) The naming convention for mode-shape files read into FUN3D when doing modal-based aeroelastic simulations has changed. The old naming convention was [project].bodyN_modeM (for body N and mode M ). The new convention is [project]_bodyN_modeM.dat . The modal files have historically been ASCII Tecplot files, and the new file extension fits with the convention used for all other ASCII Tecplot files read and written by FUN3D . (r69636)

when doing modal-based aeroelastic simulations has changed. The old naming convention was (for body and mode ). The new convention is . The modal files have historically been Tecplot files, and the new file extension fits with the convention used for all other Tecplot files read and written by . (r69636) In addition to mode-shape files in ASCII Tecplot format, binary (stream) DDF files are now also supported. To utilize stream DDF files, use mode_file_format='stream' in the &aeroelastic_modal_data namelist in moving_body.input . (r69636)

Tecplot format, binary (stream) files are now also supported. To utilize stream files, use in the namelist in . (r69636) The command line option --six_dof has been removed. 6DOF now triggered by setting motion_driver(:)='6dof' in moving_body.input . (Note: 6DOF currently requires a DOD library with restricted distribution.) (r69752) Output Changes The 2D path in FUN3D has historically taken the input grid, and behind the scenes, doubled the extent in the y-direction. It also took the input reference area and doubled it (but, not the y_moment_length), so most forces and moments accounted for the doubled spanwise extent of the grid except for Cmx and Cmz, which are really meaningless for 2D anyway. However, when the mesh and/or solution was output, the spanwise factor of two was not removed. With this release, all the behind-the-scenes manipulations have been removed; the grid is no longer doubled in y. This results in three areas of output changes: 1) the output grid will be the same size in y as the input grid, 2) residuals will be smaller by a factor of two, and 3) Cmx and Cmz will be smaller by a factor of two. All other forces and moments remain the same. Enhancements A version 12.4 PDF user’s manual is now available as NASA TM -2014-218179.

user’s manual is now available as -2014-218179. New time-averaged sampling variables available for time-accurate solutions: mu_t_tavg , vort_mag_tavg , vort_x_tavg , vort_y_tavg , vort_z_tavg can be extracted after computing them via the &time_avg_params namelist with tavg_header_version=3 . (r66879)

, , , , can be extracted after computing them via the namelist with . (r66879) If the compiler supports it, the flow and adjoint solver will use open(convert=...) in an attempt to read big endian formatted grid and restart without the need to set an environment variable. This capability has not been propagated to all utility or auxiliary files. (r66814,r66822,r66833,67564,r66973,r66974,r66983)

Updated the sBOOM interface to handle reverse equivalent area functions. (r67152)

When running dynamic overset grid simulations with precomputed DCI information stored on disk, these files may now be loaded asynchronously on cores/nodes dedicated specifically for this purpose to hide overhead associated with this I/O. To utilize this option, ASCII DCI files must be generated using SUGGAR ++ and then converted to binary FUN3D DCIF files using the dci_to_dcif utility. Set aside the desired number of additional cores/nodes for DCI I /O at the end of your machine allocation, then use the command line option --dci_io N , where N is the number of cores/nodes set aside for the I/O operation. (r67214)

information stored on disk, these files may now be loaded asynchronously on cores/nodes dedicated specifically for this purpose to hide overhead associated with this I/O. To utilize this option, files must be generated using ++ and then converted to binary files using the utility. Set aside the desired number of additional cores/nodes for /O at the end of your machine allocation, then use the command line option , where is the number of cores/nodes set aside for the I/O operation. (r67214) Added several new turbomachinery-related objective functions and their adjoint implementation for design optimization: mass flow rate, total pressure ratio, and adiabatic efficiency. (r68121)

Added equivalent area-based objective functions for adjoint-based design optimization of sonic boom configurations. See these notes for background information. (r68091)

Corrected uninitialized variable in boundary face preprocessing. (r69359)

Refactor and streamline memory and communication infrastructure for red-black solver. User should see 1-5% performance improvement depending on solver inputs and hardware. (r68769)

Modified upper bound on “r” source term in Spalart-Allmaras turbulence model to match upper limit of 10.0 published on the NASA Turbulence Modeling Resource website. FUN3D has traditionally used an upper bound of 20.0. (r68657)

Turbulence Modeling Resource website. has traditionally used an upper bound of 20.0. (r68657) To facilitate importing iteration histories into spreadsheet programs, added a hist2csv utility to convert from [project_name]_{hist,fm}*.dat files to CSV format. (r69820)

files to format. (r69820) To compute statistics of iteration histories, e.g., time-averaged forces and moments, added tail_hist_stats utility that can process [project_name]_{hist,fm}*.dat files. (r69820)

files. (r69820) Added setup_csv_cases utility to facilitate setting up a series of runs described in a CSV file where the column headers are namelist variable names and each row of parameters for those namelist variables are the corresponding cases to generate. (r69820) Bug fix An error in the computation of the F1 function was discovered and corrected in the SST 2 -eqn model; an additional term intended only for use with the gamma-ret-sst 4-eqn model was being applied by default. (r70357)

-eqn model; an additional term intended only for use with the gamma-ret-sst 4-eqn model was being applied by default. (r70357) The code would hang after reporting a time-averaging &boundary_output_variables namelist error. (r68882)

namelist error. (r68882) The equation for the calculation of ptot in the boundary visualization output has been repaired. (r67240)

in the boundary visualization output has been repaired. (r67240) A bug in which the default slicing direction, y, was never turned off if the user selected another direction was fixed. (r67367)

An API change in the CGNS library after version 2.5.3 is now detected and implemented, which allows parallel volume export from the solver via modern CGNS versions. (r67326,r67507)

change in the library after version 2.5.3 is now detected and implemented, which allows parallel volume export from the solver via modern versions. (r67326,r67507) A bug was repaired for adiabatic boundary conditions with specified wall velocity. (r67540)

An extremely slight bug in the implementation of the SST turbulence model was corrected. The cross term limit from Wilcox2006 was accidentally included in SST . (r67802)

turbulence model was corrected. The cross term limit from Wilcox2006 was accidentally included in . (r67802) A bug was repaired in the Pope correction, used mostly for Wilcox two-equation models; the pope_correction_w98 option incorrectly used Sij_hat in its construction and pope_correction_w06 used Sij, but these should be reversed. (r68448)

Format descriptors controlling output of Massoud/DDF input files have been modified to correctly handle values with three-digit negative exponents. (r68596)

Fixed format descriptor for writing negative 3-digit exponents correctly in Massoud/DDF files (r68596)

Fixed very subtle pathological case when merging tetrahedral VGRID mesh into prismatic grid (r68316) Version 12.3-66687—May 2013 (perfect gas only) Known Bug When running --thin_layer The source term in SA model was computed with ULSQ instead of the more robust edge-based GG (later repaired with r69942) Input Changes Removed—sampling_freq from the command-line options, as the interaction with the &sampling_parameters namelist variable sampling_frequency was problematic. The frequency of sampling output is now governed only via the namelist variable.

The vestigial schedule_number in &nonlinear_solver_parameters has been deprecated. Currently a warning is issued for its use, but it will become an error in future versions. (r66592)

The capability to read a subset of NSU3D grid format types has been removed. (r65262) Enhancements The SA model nondimensional working variable farfield boundary condition has been changed to the recommended value of 3. (r64669)

In-situ visualization with VisIt now operates on a single mesh entity with individual boundaries accessible via the Subset window. Note: overset simulations are still unsupported by in-situ visualization. (r66436)

On mesh input, FUN3D now attempts to correct left-handed elements of all supported types (tetrahedra, pyramid, prism, and hexahedra) by swapping node orderings. (r66392)

now attempts to correct left-handed elements of all supported types (tetrahedra, pyramid, prism, and hexahedra) by swapping node orderings. (r66392) Cp design is now allowed on solid surfaces (inviscid or viscous) instead of just viscous. (r64842)

Power, as defined as the integral of force times velocity over the surface, is now available as an objective/constraint function in the adjoint solver. (r63334)

New I/O option available for efficiently storing very frequent/large amounts of volumetric data for unsteady problems (terabytes or more). Specify export_to='native' in &volume_output_variables namelist. This approach relies on parallel asynchronous stream I/O to minimize overhead. (r63907,r66594)

in namelist. This approach relies on parallel asynchronous stream I/O to minimize overhead. (r63907,r66594) During mesh deformation, the mesh on x/y/z = constant boundaries is allowed to deform “in plane”, independently of the boundary condition type. Previously this was limited to symmetry boundaries; non-symmetry BCs require user input in the &boundary_conditions namelist. (r64471)

namelist. (r64471) A run time limit can be imposed with duration_limit_in_minutes in &code_run_control namelist (r66058)

in namelist (r66058) The file-based communication between FUN3D and the sBOOM sonic boom propagation tool has been eliminated in favor of a new in-core, API -based library call. sBOOM inputs are now specified in the &sboom namelist in fun3d.nml . Linking to the library requires the --with-SBOOM=/path/to/SBOOM option when configuring. (r66122)

and the sBOOM sonic boom propagation tool has been eliminated in favor of a new in-core, -based library call. sBOOM inputs are now specified in the namelist in . Linking to the library requires the option when configuring. (r66122) Loose coupling and tight coupling (though non-maneuvering) capability with the RCAS rotorcraft comprehensive code via in-core data transfer (not file I/O based). Requires RCAS ’s sdx library, and uses the “cfdmultirotorsdx” CFD interface to RCAS .

rotorcraft comprehensive code via in-core data transfer (not file I/O based). Requires ’s sdx library, and uses the “cfdmultirotorsdx” interface to . Pointwise CAE Plugin source updated for compatibility with the Pointwise SDK v0100r4. This will require the Pointwise SDK v0100r4. Note, plugin source from prior releases of FUN3D are incompatible with the Pointwise SDK v0100r4 (r65915).

Plugin source updated for compatibility with the Pointwise v0100r4. This will require the Pointwise v0100r4. Note, plugin source from prior releases of are incompatible with the Pointwise v0100r4 (r65915). For aero-structural coupling via Jamshid Samareh’s “Discrete Data Transfer Between Dissimilar Meshes” methodology (aka DDF ), FUN3D can now read and write binary .ddfb files, eliminating the need to run the intermediate “toFromDDF” converter on ASCII Tecplot files. To output aerodynamic loads in .ddfb format, use aero_loads_file_format = ‘stream’ in the &massoud_output namelist; to read in a new surface mesh in .ddfb format, use massoud_file_format = ‘stream’ in the &massoud_output namelist. The .ddfb format is recommended to avoid the pitfalls of parsing character strings for numeric values. Bug fix Corrected problems importing FV-UNS (version > 2.4) FORTRAN Unformatted mesh files. (r66386)

Unformatted mesh files. (r66386) The prandtlnumber_turbulent default value is now 0.90 (was 0.72). This changes the eddy-viscosity contribution to the mean-flow energy equation. The value can be controlled with the &turbulent_diffusion_model namelist. (r64976)

namelist. (r64976) An array declaration that could result in the wrong offset in the first dimension for grids with all element types present simultaneously. (r63285)

Removed superfluous ParMGridGen interface that triggered a compiler bug. (r63570)

interface that triggered a compiler bug. (r63570) V12 .1 introduced a bug where the --gamma command line option would not change gamma. (r63547)

.1 introduced a bug where the command line option would not change gamma. (r63547) Repaired bug where &sampling_parameters ’s plot(N)='serial_history' option would write the 1X of the requested values plus 9X garbage when more than 50 sampling points were requested. (r63966 and r63978)

’s option would write the 1X of the requested values plus 9X garbage when more than 50 sampling points were requested. (r63966 and r63978) Fixed quad sampling input error-handling by making invalid user-specified quads a fatal error. Previous releases would simply note the error in a subtle manner in the screen output, then incorrectly stop processing all subsequent sampling geometries. (r63996)

Various memory leaks. The largest leak involved sampling output and is know to cause the failure of long running jobs. (r65038, r65579, r65580) The code base has been scrubbed of less significant leaks as well. (r65027, r65024, r65018, r65014, r65010, r65009, r65007, r65006, r64996-r64999,r66567)

Fixed a subtle problem which would cause very small errors in sensitivity derivatives for sBOOM-based objective functions in the event multiple ground signals were being computed. Sensitivities for the second and any subsequent signals would be slightly incorrect. (r66122)

Fixed a bug in boundary slicing which could lead to an undefined value in certain instances when the code made a “helpful” change to a user-set value of le_def or te_def. The bug only manifested itself if performing the same slice at multiple points in time. Version 12.2-63280—October 2012 Major Enhancements To expand design optimization options, added support for the Sparse Nonlinear OPTimizer ( SNOPT ).

). To configure on non-standard MPI installations add the --without-mpicc argument to the configure command see notes for 11.1-46128 for a detailed description of the analogous --without-mpif90 . (r60928)

installations add the argument to the command see notes for 11.1-46128 for a detailed description of the analogous . (r60928) Adjoint-based design optimization may now be performed with mixed-element grids for steady or unsteady compressible or incompressible turbulent flows on single-block grids involving static, rigid, or deforming motions, or noninertial reference frames. The extension to overset grids containing mixed elements will appear in a future release.

The four-equation Langtry-Menter transition/turbulence model has been implemented.

The BAMG 2D mesh adaptation code can be invoked by adapt_library='bamg' in adapt_mechanics namelist. Minor Enhancements Setting the "Number of processors from which to run adjoint solver" to 0 in ammo.input will now prevent writing the -np option to the mpirun/mpiexec command used to invoke the adjoint solver. This is needed on some HPC machines with PBS queuing systems that determine the number of processors from the scheduling environment. Note: this works only if the corresponding command_line.options file does not include the -np option for the mpirun command.

to in will now prevent writing the option to the command used to invoke the adjoint solver. This is needed on some machines with queuing systems that determine the number of processors from the scheduling environment. Note: this works only if the corresponding file does include the option for the command. For design optimization, the forces.tec file is now a full Tecplot file including headers, and has been renamed forces.dat according to standard convention.

file is now a full Tecplot file including headers, and has been renamed according to standard convention. The --adapt_output_metric command line option has been migrated to adapt_export_metric in the &adapt_metric_construction namelist.

command line option has been migrated to in the namelist. The rotorcraft “Figure of Merit” cost function may now be used for compressible turbulent flows on tetrahedral or mixed element grids.

A rotor propulsive efficiency objective function has been added for use with compressible turbulent flows on tetrahedral or mixed element grids.

The SA turbulence model now has eigenvalue smoothing on the convective flux. To recover the previous un-smoothed scheme, set ubar_eps = 0.0 in &turbulence namelist. Jacobians and adjoint are consistent. (r60714) (r60735)

in namelist. Jacobians and adjoint are consistent. (r60714) (r60735) Updated file I/O format to correctly interface with Sculptor 3.1 during design optimization.

The symmetry boundary condition indices 6661/6662/6663 are now correctly handled in the adjoint solver and may now be used for design optimization cases. The previous workaround “sliding” BC indices 3080 and 4080 are now obsolete.

Added lift and drag plotting output for the blade element rotor loading option.

The adjoint solver will now continue to evaluate sensitivities with respect to any geometric parameterization variables even if the --show_surface_sensitivity option is engaged. Conversely, this command line option will also now function correctly in the absence of a geometric parameterization.

option is engaged. Conversely, this command line option will also now function correctly in the absence of a geometric parameterization. Design optimization for sonic boom mitigation using nearfield pressure targets ( boom_targ function name in rubber.data ) and coupled SBOOM propagation ( sboom function name in rubber.data ) can both now handle mixed element grids.

function name in ) and coupled propagation ( function name in ) can both now handle mixed element grids. The sonic boom objective functions are now controlled by the &sonic_boom namelist. A template is provided in the fun3d.nml template file in the source code distribution. The sonic_boom.input file is now obsolete.

namelist. A template is provided in the template file in the source code distribution. The file is now obsolete. The input target pressure file associated with nearfield sonic boom mitigation ( boom_targ function name in rubber.data ) formerly named pressure_target.tec must now be named pressure_target.dat . Similarly, the output file containing computed pressure signals is now named pressure_signatures.dat rather than pressure_signatures.tec . The pressure target is freestream pressure if pressure_target.dat is not present. (r62159)

function name in ) formerly named must now be named . Similarly, the output file containing computed pressure signals is now named rather than . The pressure target is freestream pressure if is not present. (r62159) The cylinder-based sonic boom objective function identified by the boom function name in rubber.data is now obsolete.

function name in is now obsolete. The Fieldview output format is now C-binary (Fortran-stream) to avoid the complexities of Fortran records larger than 2GB. (r62217)

Design optimization using the coupled FUN3D -sboom formulation can now include an arbitrary number of waveforms (i.e., any combination of on-track and off-track locations)

-sboom formulation can now include an arbitrary number of waveforms (i.e., any combination of on-track and off-track locations) Added option to use old-style dfduc3 Jacobians for incompressible cases; these Jacobians may be more robust for some cases. Invoked by setting dfduc3_jacobians = .true. in the &code_run_control namelist.

in the namelist. Extended periodic boundary condition to handle periodicity simultaneously in all three Cartesian directions. Limited to one processor applications for now (one-dimensional periodicity may still be used in parallel).

Since it is trivial to load multiple files into Tecplot these days, concatenation of solution plotting files during design optimization has been eliminated. Most users build with binary Tecplot I/O support, so this option wasn’t functional in such instances anyway.

Ramping the total pressure/total temperature boundary condition (7011) with &component_parameters ’s inflow_pt_ramp now works regardless of restarts. (r62877)

’s now works regardless of restarts. (r62877) The default method for storing the time-averaging information has been changed from a separate file for each partition to a single file. The old behavior can be obtained by setting &time_avg_params single_file=0 . (r62878)

. (r62878) Initial release of source term model for vortex generators – looking for feedback. See these notes for background and solver inputs. Bug fixes In the event the user explicitly specified a '-np xxx' option for mpirun (or mpiexec, etc.) in command_line.options for the optimization driver, two '-np xxx' options were being supplied to the mpirun command for the adjoint solver. The user-supplied value, if present, now takes precedence. As noted above, if the number of processors specified for the adjoint solution in ammo.input is zero, no '-np xxx' option will be passed to mpirun for the adjoint execution; the solver will instead use as many processors as are allocated in the current queuing environment.

option for mpirun (or mpiexec, etc.) in for the optimization driver, two options were being supplied to the mpirun command for the adjoint solver. The user-supplied value, if present, now takes precedence. As noted above, if the number of processors specified for the adjoint solution in is zero, no option will be passed to mpirun for the adjoint execution; the solver will instead use as many processors as are allocated in the current queuing environment. Correct periodicity to work with single precision grids. Use the --periodic_tol value to internally match periodic node pairs. (r60911)

value to internally match periodic node pairs. (r60911) vgrid_merge_into_prisms , close mapbc unit to allow it to be reopened by gcc gfortran compiler. (r60724)

, close mapbc unit to allow it to be reopened by gcc gfortran compiler. (r60724) Fixed memory error in grid linearizations of skin friction on quad faces.

Fixed bug related to user-specified rotor disk source terms in the actuator disk module.

The angle of attack is now taken into account when performing design optimization for sonic boom mitigation using nearfield pressure targets ( boom_targ function name in rubber.data ) and coupled SBOOM propagation ( sboom function name in rubber.data ). When using the nearfield boom_targ objective function, the target data specified in pressure_target.dat should be in the rotated coordinate system, which is consistent with the output file pressure_signatures.dat containing the nearfield signature outputs.

function name in ) and coupled propagation ( function name in ). When using the nearfield objective function, the target data specified in should be in the rotated coordinate system, which is consistent with the output file containing the nearfield signature outputs. Repaired --sampling_freq and &sampling_parameters sampling_frequency(:) so they work properly with each other (command line option trumps namelist list options), stop.dat , and other edge cases. (r61539)

and so they work properly with each other (command line option trumps namelist list options), , and other edge cases. (r61539) Repaired Fieldview output with --make_tets by correctly sizing global boundary face counts during boundary quad split. (r62645)

by correctly sizing global boundary face counts during boundary quad split. (r62645) Repaired Fieldview output of very large grids by writing as C-binary (Fortran stream) instead of emulating Fortran unformatted. The Fortran records larger than 2 Gigabytes were malformed. (r62217)

Repaired Fieldview output to correctly handle iblank and imesh arrays in cases where overset grids are involved. The iblank array is provided to Fieldview as ‘iblankfv’, so as to not interfere with the native iblank internal to Fieldview. Version 12.1-60521—late March 2012 Major Enhancement Mixed-element adjoint solutions may now be performed for unsteady compressible turbulent flows on single-block grids involving static, rigid, or deforming motions. The extension to overset grids will appear in a future release, as will the combination of incompressible flows with mixed-element grids. Minor Enhancements Added an objective function based on the RMS value of the stagnation pressure on a circular disk surface cutting through the mesh. Intended as an initial cut at providing design capability for engine inlet flows.

value of the stagnation pressure on a circular disk surface cutting through the mesh. Intended as an initial cut at providing design capability for engine inlet flows. Tolerance used in determining periodic node pairs can be controlled using the --periodic_tol command line option. Bug fixes The adjoint is now correct for element-based boundary conditions dependent on the interior state of the flow. (r60501)

The SA adjoint is now correct for element-based boundary conditions. (r60497) Version 12.0-60308—early March 2012 Note: Due to the move from v11 to v12, all users must execute a new software usage agreement. This process is initiated via the online request form. Major Changes The sequential grid pre-processor and solution post-processor, party , has been discontinued. (It was deprecated as of v11.) Instead, parallel grid partitioning is done on the fly and solution visualization is performed via co-processing. Most of party ’s other functions are available via codes from the utils directory.

, has been discontinued. (It was deprecated as of v11.) Instead, parallel grid partitioning is done on the fly and solution visualization is performed via co-processing. Most of ’s other functions are available via codes from the directory. Merging VGRID boundary-layer tetrahedra into prisms is now performed with vgrid_merge_into_prisms .

boundary-layer tetrahedra into prisms is now performed with . The specialized adapt_mpi (or adapt ) code has been replaced by the --adapt command line option. Feature-based mesh adaptation is now run via the flow solver, and adjoint-based mesh adaptation is now run via the adjoint solver.

(or ) code has been replaced by the command line option. Feature-based mesh adaptation is now run via the flow solver, and adjoint-based mesh adaptation is now run via the adjoint solver. The refine (grid adaptation and mesh untangling) and knife (cut cell) libraries are now packaged with FUN3D .

(grid adaptation and mesh untangling) and (cut cell) libraries are now packaged with . The ginput.faces translator has been discontinued. Namelist-based input ( fun3d.nml ) has been standard since v10.5. Major Enhancements Adjoint solutions for incompressible flow may now be performed on tetrahedral grids for inviscid, laminar, and turbulent steady flows, as well as unsteady flows on static, dynamic, and overset grids.

Adjoint solutions may now be performed for steady compressible turbulent flows on mixed-element grids. Minor Enhancements Added ability to specify phase shifts for forced motion, both in terms of the low-level trig functions and the resulting angle that is used to construct the transform matrix itself. This may be applied to moving bodies, the observer reference frame, or both.

The farfield_riem ( 5000 ) boundary condition is now allowed for incompressible flow.

( ) boundary condition is now allowed for incompressible flow. The viscous_mflux ( 4010 ), viscous_unorm ( 4020 ), and viscous_mvpln ( 4030 ) boundary conditions have been discontinued. These capabilities have been subsumed by the &boundary_conditions namelist.

( ), ( ), and ( ) boundary conditions have been discontinued. These capabilities have been subsumed by the namelist. The project_name.initbc file is now ignored. Modeling translating and/or rotating boundaries, e.g., moving ground plane and/or rotating tires, is now specified through the &boundary_conditions namelist wall_velocity , rotation_center , rotation_vector , and rotation_rate variables.

file is now ignored. Modeling translating and/or rotating boundaries, e.g., moving ground plane and/or rotating tires, is now specified through the namelist , , , and variables. The &boundary_conditions namelist adiabatic_wall flag has been removed. To specify adiabatic boundary conditions, set wall_temp_flag(patch#)=.true. and wall_temperature(patch#)=-1.0 .

namelist flag has been removed. To specify adiabatic boundary conditions, set and . The adjoint solver now respects any remove_boundaries_from_force_totals file that may be present in the flow solver directory. I.e., if the user has specified a cost function on all boundaries in rubber.data , the boundaries specified in the remove_boundaries_from_force_totals file will not contribute function linearizations to the adjoint problem.

file that may be present in the flow solver directory. I.e., if the user has specified a cost function on all boundaries in , the boundaries specified in the file will not contribute function linearizations to the adjoint problem. To provide an estimate of where transition to turbulent flow occurs, Spalart’s turbulence index ( turbindex ) is now available for boundary output.

) is now available for boundary output. Added a few sanity checks on aeroelastic modal input.

The new slice_initial_coords option allows faster slicing for some cases by only computing slice interpolation coefficients once.

option allows faster slicing for some cases by only computing slice interpolation coefficients once. Added a sample rotor.input file in utils/Rotorcraft .

file in . Added ability to use --test_freestream with two-equation turbulence models.

with two-equation turbulence models. To allow specification of how frequently Massoud files are written, added --massoud_output_freq option, which functions like --animation_freq , --sampling_freq , etc.

option, which functions like , , etc. The --supersonic_floors command line option has been removed. For compressible flow, density and pressure are always floored at one-percent of freestream values unless the --full_update command line option is given.

command line option has been removed. For compressible flow, density and pressure are always floored at one-percent of freestream values unless the command line option is given. Added --show_surface_sensitivity command line option to the steady-flow adjoint solver, which will produce a Tecplot file containing the sensitivities of the user-specified cost function(s) with respect to the x, y, and z-directions and the local surface normal direction. This is helpful if a geometry parameterization is not available or you need guidance when constructing one.

command line option to the steady-flow adjoint solver, which will produce a Tecplot file containing the sensitivities of the user-specified cost function(s) with respect to the x, y, and z-directions and the local surface normal direction. This is helpful if a geometry parameterization is not available or you need guidance when constructing one. Added loose coupling capability with the RCAS rotorcraft comprehensive code, which is compatible with RCAS ’s “mrotor_2010” CFD interface.

rotorcraft comprehensive code, which is compatible with ’s “mrotor_2010” interface. The design optimization framework has been generalized to accommodate multi-objective optimization based on weighted combinations of the composite objective functions already available in the code. The format of the rubber.data file has changed slightly to accommodate a new weight, target, and power for each composite function. These operate in the same manner as the weights, targets, and powers for the low-level component functions used to construct each composite function. See the rubber.data template available in the Adjoint/ directory of the source distribution.

file has changed slightly to accommodate a new weight, target, and power for each composite function. These operate in the same manner as the weights, targets, and powers for the low-level component functions used to construct each composite function. See the template available in the directory of the source distribution. To gracefully exit a design optimization run before it has completed, the user may now place a stop.dat file in the ammo/ directory at run-time if desired. Similar to the solvers, the optimization driver will look for this file at each step of the design process and terminate gracefully if a positive integer is present on the first line.

file in the directory at run-time if desired. Similar to the solvers, the optimization driver will look for this file at each step of the design process and terminate gracefully if a positive integer is present on the first line. The command line option --store_full_stencil for the adjoint solver is now also valid for flux_construction=”vanleer”. This option requires more memory, but typically yields a speedup of 5x in overall wall-clock time. Bug fixes One-sided finite differences are no longer used to compute boundary viscous fluxes for farfield, tangency, and element-based boundary conditions. The analytic fluxes (zero) are used instead. This should increase robustness for low Reynolds number flows as well as a number of other cases.

Modified tetrahedral merging capability to handle a rare pathological situation where the dividing line between two VGRID boundary patches cut across a boundary layer grid on a boundary such that the two triangles comprising a new quad resided on two different boundary patches.

boundary patches cut across a boundary layer grid on a boundary such that the two triangles comprising a new quad resided on two different boundary patches. The geometric conservation law for the incompressible continuity equation on moving grids has been repaired.

Incompressible sampling now give correct values for primitive variables (Eric Lynch).

Closed off SA, KE, and HRLES turbulence models in element-based boundary conditions for incompressible flow.

turbulence models in element-based boundary conditions for incompressible flow. Fixed several bugs for moving grids with weakly-enforced viscous boundary conditions. Note: These BCs are rarely, if ever, used as they require the user to alter the this_bc_is_weak_viscous flag in bcs.f90 . Version 11.6-54779—July 2011 Major Enhancements Initial release of adjoint-based design optimization support for steady and unsteady flows on static and dynamic overset grids Minor Enhancements Users may now use different parameterization schemes within the context of the same problem. For example, on a wing-body configuration, it may be easiest to parameterize the wing with Massoud, but to use Sculptor for a wing-body fillet. Parameterization scheme is now specified for each body in rubber.data and no longer in ammo.input . See the templates for these files in the Adjoint and Design subdirectories of the source distribution.

and no longer in . See the templates for these files in the Adjoint and Design subdirectories of the source distribution. Visualizations of steady and unsteady adjoint solutions may now be performed in the same manner as for flow solutions, using boundary animations, volume animations, and sampling surface animations (such as isosurfaces)

Did some streamlining of inverse design for target surface pressures

An interface for the commercial optimization packages DOT and BIGDOT is now provided if the user has access to these libraries for adjoint-based design optimization. The lift-constrained drag minimization online tutorial case has been extended to show typical results based on the methods available in these packages.

and is now provided if the user has access to these libraries for adjoint-based design optimization. The lift-constrained drag minimization online tutorial case has been extended to show typical results based on the methods available in these packages. Alpha release of adjoint-based optimization capability using FUN3D formally coupled with SBOOM sonic boom propagation solver.

formally coupled with sonic boom propagation solver. Record lengths for ASCII parameterization data coming into FUN3D may now contain as many as 30,000 characters to handle cases with very many design variables

parameterization data coming into may now contain as many as 30,000 characters to handle cases with very many design variables Added the ability to read in a series of