Revisions for MSES v 2.9 ------------------------ * The ISMOM=4 option has been improved after some field experience. The switching between the momentum and isentropy equations is now gradual rather than discontinuous as with v 2.8. This makes it much less likely to get into a limit cycle where the equations toggle back and forth at one or more grid cells. This appears to be so effective that considerably coarser leading edge grid resolution can now be used without the worry of false surface entropy layers forming near the leading edge. A PostScript document of the theoretical description of the momentum-isentropy switching treatment is available from M.D. * The artifical dissipation function mu(M,Mcrit) has been modified slightly, with a gradual decay of mu for M < Mcrit rather than the sudden cutoff. This appears to give much better shock propagation properties, and allows a lower overall dissipation level to be used. Using MCRIT=0.99, MUCON=1.0 has worked fine for all cases tried so far. This is a minimal level of dissipation which gives very crisp shocks. * IFFBC=1 can now take arbitrary upper and lower wall shapes, rather than the previous flat walls. The wall shapes are specified in file xywall.xxx (see header in SUBROUTINE FFBC1, src/setbc.f). If this file doesn't exist, then the flat walls are used as default. * MPLOT has been cleaned up and made generally friendlier. Selecting the variable to be plotted can now be done by typing that variable's key letter. For example, selecting Mach number contours from the Contour Plots Menu is done just by typing "M " rather than "3 M " as before. The Streamtube Plots now look reasonably presentable, with a grid overlay and full blowup capability. There is also a spiffy new wake profile menu, which is useful for diagnosing the adequacy of the resolution of a shock wake, for example. * MSIS can now compute cases for very low freestream Mach numbers -- down to 0.01 or less. This is made possible by redefining all field pressure quantities as (P - Po) rather than just P, and by replacing the energy equation for the pressure with a fifth-order Taylor series in the velocity, expanded about the stagnation condition. This does not suffer from roundoff errors, which prevent MSES from working reliably below M = 0.1 or so. * The mdat.xxx file now contains only the grid node x,y and the density field, which is the minimum information needed to define the solution. It is now only 2/3 as big as before. SUBR. PICALC is then used by most of the programs to reconstruct the dependent field variables, like the speed, pressure, etc., for any given streamtube. * The Newton matrix solver has been found to produce uncomfortably small pivots in some transonic cases. It is believed that this is the cause of some numerical instabilities which sometimes seem to appear sporadically in supersonic regions, and require excessive dissipation to control. The fix was simply to reverse the direction of the diagonal-block factorization in SUBROUTINE SOLVE. The pivots look much better now, and only a minimal amount of dissipation appears to be required for transonic cases. Minor additions (MSES 2.92) -------------------------------- * MSES 2.92 can now compute cases with choked flow between elements. To enable this: - Set NCHOKE in csolve.f to specify the passage which is expected to choke. - Set SOLV=csolve.o in the makefile (instead of the usual fsolve.o). - Add 9,19 to the usual global variable,constraint lists in mses.xxx, e.g. 3 4 5 9 3 4 5 19 The new csolve.f can be used for any flow case (choked or not), but it runs a bit slower and uses a bit more storage. Also, NCHOKE needs to be set manually, but this may change in the future. * A few changes have been made in the global variable and global constraint indices, mainly to allow the choked-flow option. The M*sqrt(CL) and Re*sqrt(CL) constraint indices have been changed to 16 and 18, respectively, to make the list a bit more intuitive. * Reliance on the -static compiler flag has been eliminated. More Minor additions (MSES 2.93) ------------------------------------- * A further-improved plot library Xplot11 is now used. Color has been added to most of the plotting routines, but only where it actually helps visualization -- not for ornamental purposes. Lowercase letters can now be plotted. * All plots in MPLOT can be displayed with a border, which looks nice on viewgraphs and hardcopy figures. * Color hardcopy can be selected by changing the IDEVRP variable. Search for the source code as follows: % grep IDEVRP *.f Color X-Window graphics will still come out OK in B&W hardcopy. * Hardcopy PostScript output can now be generated on demand, instead of the old arcane way of enabling/disabling the hardcopy toggle. * The matrix solvers have been speeded up by about 10-15% through more intelligent use of temporary arrays to cut down on the number of DO-loops and reduce the likelyhood of cache misses. MSIS is starting to be frightfully fast. High-end Alpha workstations give about 1 sec/iteration for single element cases. A fully interactive interface is starting to look attractive... Still More additions (MSES 2.94) -------------------------------- * Coarsening/refining capability has been added to MSES and MSIS. This allows for rapid convergence on a coarser grid, which is then refined and used to initialize the normal-grid calculation. This can result in large CPU savings, especially for transonic cases. Multi-element configurations may produce a grid which may or may not be coarsened. This may change in the future. A grid can always be refined, however. * MPLOT has a number of improved plot-setup menus. * mses.ps document has been updated. Still More additions (MSES 2.96) -------------------------------- * SPLOT now has color * The matrix solvers have been speeded up considerably since the pivot-growth problem "fix". This fix actually had the unfortunate side effect of slower execution, although this was machine-sensitive (cache bottleneck effects, I imagine). The speed up has been achieved by calling black-box LU and BackSub routines for the individual block operations. This also allows the possibility of replacing these with BLAS routines optimized for the particular machine being used (e.g. DXML routines on DEC Alpha). For additional speed, fsolve.f has a "dumb" and a "smart" mode, controlled by the hardwired LUDUMB flag set in fsolve.f in a DATA statement. The "smart" mode takes advantage of known zeros in the diagonal A blocks, giving roughly a 35% speedup over the "dumb" mode. This is the fastest solver yet. * CPU time breakdown can now be displayed by setting LCPU = .TRUE. in mses.f . The CPU time of the fsolve itself can be further broken down into its various operations by uncommenting the little code blocks labeled "CPU" in fsolve.f . Bug fixes (MSES 2.97) HHY -------------------------------- * A bug was fixed in the grid sequencing which caused spurious BL interpolations near the leading edge (and upstream of the LE) affecting setup.f, update.f, grdseq.f. The UEDG velocity was going negative causing the BL routines to blow. * Updated Makefile Bug fixes (MSES 2.98) HHY+MD -------------------------------- * Several bugs were fixed in MSET and related grid generation routines. A bug was fixed in mset.f relating to an array overflow for multi-element cases. This bug was benign in all but the Linux versions of MSES but it is fixed correctly now and checks are made to catch the overflow. A bug in panel.f relating to the branch cut logic for potential and streamfunction calculation was fixed. This eliminated a long-standing bug for multi- element cases which has proved hard to isolate. * Default grid parameters changed to increase inter-element grid density (the M parameter in the gridpar dialog) to make default grids more likely to work correctly. * Message printed from update.f if UEDG goes negative near stagnation points or on blade surfaces. This has been the immediate but misleading culprit for inadequate grid density or resolution near stagnation points or between elements as it causes the BL routines to blow. MSES 2.99 --------- * Fixed VCEN output-info array which caused array OOB in some cases * Fixed linearization bug for element position DOFs * Simplified DMOD, DMOS specifiation, which is now done only via the modes.xxx and moves.xxx files. Individual-mode specifications in mses.xxx (DOFs 21-29, etc) are no longer allowed. * Added position-inverse option, specified via constraint (50). This allows rotating an element simultaneously with modal shape inverse to get better least-squares matching to specified pressures. Simultaneous position change is also possible, but this may be ill-conditioned. Use with care. MSES 3.00 --------- * Fixed a minor bug in the BL initialization logic, which might have caused problems with multielement cases. * The code now has full e^n frequency-tracking for transition prediction, although this is not yet deemed reliable enough. So it runs in parallel with the solver, but doesn't participate in the solution. The old envelope e^n method is still used. The individual frequencies can be plotted in MPLOT. * The separate MPOLAR, MPOLARM, MPOLARC programs have been eliminated. There is now only one MPOLAR program for any type of parameter sweep. The specified parameter to be varied is indicated by its contraint index in the first line of the spec.xxx file, which replaces alfas.xxx, machs.xxx, etc. For example, the spec.xxx file for an alpha sweep would be 5 alpha1 alpha2 alpha3 . . while for a CL sweep it would be 6 CL1 CL2 CL3 . . MSES 3.02 MD 25 Oct 05 --------- * Fixed bug in BL lag equation. Secondary lag source term was incorrect. Typically this gave an overly-healthy BL behind a shock, and the drag slightly too low. * Incorporated a new scheme of increasing dissipation based on the current maximum S-momentum residual, which typically has a spike at a moving shock. This increases the rate at which the shock moves. It also seems to make ISMOM=4 more reliable, although ISMOM=3 is still recommended in general. MSES 3.03 MD 9 Sep 06 --------- * The farfield doublet+source BC formulation for IFFBC=2 is now fully linearized and incorporated into the Newton system (previously it was loosely coupled). The doublet+source terms are now turned on by adding (7) to the global variable list, and (7) to the global constraint list, in lines 1 and 2 of mses.xxx. With these (7),(7) absent, the IFFBC=2 case holds the doublet,source strengths fixed at their current values (intial values are estimated in MSET). * MPLOT now has the ability to dump the flowfield and BL variables to formatted text files. * The text-format read routines can now detect tab characters, which are treated as spaces. Previously, a tab would cause a read error. MSES 3.04 MD 20 Dec 06 --------- * Added the ability to model an actuator disk with a prescribed total-pressure ratio, and an associated ideal efficiency. * Added a bunch of goodies to MSET to make setting up a case easier: - It can now take an XFOIL-type .dat file as an argument, e.g. % mset clarky.dat See the mses.ps file for other options. - It has a new menu item for writing the corresponding blade.xxx file, with default grid domain parameters XINL XOUT YBOT YTOP - It has a new menu item for writing a mses.xxx file, with default settings. * AIRSET can now also take an XFOIL-type .dat file as an argument, e.g. % airset clarky.dat * Updated a bunch of stuff in the MSES User's Guide and AIRSET User's Guide. MSES 3.05 --------- * Added program MBLINP, which dumps an input file for BLAKE (finite difference BL code) Usage is: % mblinp xxx ; takes some user inputs and writes file blinp.xxx % blrun xxx ; reads blinp.xxx, writes blout.xxx and some .dmp files % pfplot [*] ; plots profiles in files profil.* and veddy.* % cnplot [*] ; plots contours from files profil.* and veddy.* MSES 3.06 --------- * Changed design-sensitivity file name from "sens.xxx" back to "sensx.xxx", which was the name all along (not sure where the sens.xxx name crept in). * Added a few minor things and clarifications to the manual. MSES 3.07 15 Sep 07 --------- * Fixed polar-file writing of minimum Cp and hinge moment MSES 3.08 24 Sep 08 --------- * Fixed a number of OOB problems (all were innocouous, but still...) * Fixed bug in BL initialization over separated cove regions * Improved Delta* grid-offset handling for large grid movements * Fixed OSGEN (had one of the OOB bugs) * Fixed a few logic bugs in MPOLAR's recognition of header parsing of an existing polar.xxx file MSES 3.09 15 Mar 11 --------- * Modified the specified-quantity interval subdivision logic in MPOLAR and MPOLIS. Rather than repreatedly halving an interval, it now subdivides two intervals into 2/3,4/3 points, so the problem point is never revisited, but instead is stepped over. * Each SPEC(i) value in the spec.xxx file can have an optional integer "nn" after it. If present, the following files will be written out if that point converges: mdat.xxx_nn mses.xxx_nn sensx.xxx_nn (if NMODN or NPOSN are nonzero) The mses.xxx_nn file has the correct specified quantity for that point. Hence, MPOLAR or MPOLIS can conveniently set up files for a multi-point optimization session with LINDOP. MSES 3.10 --------- * Added delta** output to MPLOT BL dump * Added more items to SPLOT's defaults-save file splot.def * Increased array limits of various routines in MSET MSES 3.11 18 Jun 13 --------- * Fixed end-of-file problems in MPOLAR which occurred with some versions of Gfortran when appending to an existing polar file. * Added MACHIN=0 trap. Running an effectively-incompressible flow requires a tiny but nonzero Mach number. * Added XTR1=0 trap. Cannot have transition exactly at nose or stag. point. * Added invalid KTRTYP trap. Code failed on values other than 1 or 2.