Revision Log

FlexPDE is an evolving product. It is also a complex product. The addition of new features and the repair of errors occasion the release of new versions at frequent intervals. In this section we present a brief history of the changes made in FlexPDE. The most recent version is listed first, followed by increasingly older versions. FlexPDE version numbers encode the exact release.
Click here to go to the download page.


Version 7.22    11/24/2023

  • Corrects an error in contact boundaries with limited regions.
  • Truncate VTK export data to single precision.
  • Add version 8 license recognition.
  • Corrects miscellaneous errors.

Version 7.21    12/09/2022

  • Corrects an error in MAXIMIZE. (Erroneously defaulted to MINIMIZE.)
  • Adds CURRENT_DIRECTORY to grammar to allow script access to command line current working directory.
  • Adds simple command line parameters (-param name=value).
  • Improves handling of STAGED ORDER.
  • Corrects errors in STAGED eigenvalue and time dependent problems.
  • Improves handling of self-referencing ARRAY/MATRIX definitions.
  • Corrects an error in 3-way periodicity.
  • Corrects an error in Font selection on the Mac.
  • Improves the handling of TENSOR arithmetic.
  • Corrects other miscellaneous errors.

Version 7.20    10/05/2021

  • Restored double-click opening of files on Mac.
  • Corrects an occasional error in STAGED problems.
  • Improves the handling of nested functions.
  • Corrects an error in ARRAY VARIABLE references.
  • Corrects an occasional error in the X,Y, and ZBOUNDARY functions.
  • Corrects an error in the Open Recent menu items list.
  • Corrects other miscellaneous errors.

Version 7.19    03/05/2021

  • Corrects an error in print orientation for SUMMARY plots when viewing graphics files.
  • Corrects various inconsistencies in the initial values of some derived data.
  • Improves classification of some ARRAY references.
  • Corrects an occasional round off error in REPEAT loops with non-integer counters.
  • Corrects an error in the request of higher dimension license if current dimension unavailable (network dongle licenses only).
  • Implements XCOMP, YCOMP, ZCOMP for POINTs.
  • Corrects errors in the generation of FIELD MAPs in some cases.
  • Corrects other miscellaneous errors.

Version 7.18    12/15/2020

  • Increases argument limit for function definitions from 3 to 10.
  • Corrects an occasional error in XBOUNDARY, YBOUNDARY, and ZBOUNDARY functions.
  • Improves solver behavior for very small meshes.
  • Improves error estimation in quadratic models.
  • Corrects an occasional error in the Find dialog.
  • Corrects an error in THEN equation sets when iteration fails.
  • Corrects an error on Linux causing sockets to remain open after contacting the internet.
  • Removes an extraneous "Bad Basis2 Flag" error diagnostic.
  • Improves preconditioner selection algorithm.
  • Improves parser error location diagnostics.
  • Corrects an error in "Save As" if current problem is running.
  • Corrects a labeling error of RESOLVE in the Status legend window on steady-state problems.
  • Improves behavior of Status legend window. No longer a floating frame.
  • Corrects erroneous sign calculation in LINE INTEGRALs on named boundaries. Integration sign follows direction of declared path.
  • Corrects errors in LINE_INTEGRAL in 3D domains.
  • Corrects other miscellaneous errors.

Version 7.17    07/14/2020

  • Corrects an error in symbolic processing of grad(div()).
  • Corrects an error in VECTOR plots.
  • Corrects an error in EPS exports of ELEVATION plots.
  • Corrects an error TIMEMIN and TIMEMAX functions.
  • Corrects and error in INITIAL VALUES for indexed array variables.
  • Implements string concatenation in #INCLUDE file names.
  • Implements string concatenation in DEFINITIONS.
  • Corrects an error in Tecplot output when using OBJ mesh import.
  • Improved error handling in Linux.
  • Corrects other miscellaneous errors.

Version 7.16    12/11/19

  • Implements mixed PERIODIC and ANTIPERIODIC boundaries for different variables.
  • Adds an automatic backup save preference.
  • Adds a diagnostic for erroneous arc statements in some cases.
  • Improves handling of complex values.
  • Corrects an occasional error in identifying regions bounding edges.
  • Adds a diagnostic for erroneous vertex indices in OBJ read.
  • Does not prompt to save old file when use Save As... on modified file.
  • Corrects an error in the writing of files containing multi-byte encodings.
  • Corrects an occasional error in 1D VALUE boundary conditions.
  • Corrects other miscellaneous errors.

Version 7.15    07/26/19

  • Corrects an error in the diagnostic for duplicate region definitions (added in v7.13).
  • Corrects an error in 1D boundary conditions during merge of previously split cells.
  • Allows the appearance of GLOBAL equations in THEN groups.
  • Improves various summaries in debug output.
  • Corrects an error in the carry-over of boundary conditions when using multiple STARTs in one REGION.
  • Corrects the page scaling when printing plots from the Domain Review and Status Panel current computation mesh.

Version 7.14    05/10/19

  • Implements 1D PERIODIC boundaries.
  • Corrects an error in the ELEVATION plots of ARRAYs.
  • Corrects an error in the ZOOM of ON GRID plots.
  • Corrects the use of variable ARRAYs and function definitions in SUMs.
  • Allows REPEAT as the first element of AT list (to reproduce version 6 behavior).
  • Miscellaneous fixes to gridder.
  • Corrects other miscellaneous errors.

Version 7.13    02/11/19

  • Removes diagnostic blocking staged eigenvalue runs.
  • Corrects an error in the table bounds report.
  • Correctly suppresses prompts when using -S switch in the non-GUI version.
  • Corrects an occasional gridder cross link in periodic domains.
  • Adds a diagnostic for duplicate region definitions, which users should not do.
  • Corrects the implementation of 1D JUMP boundaries (1D PERIODIC still malfunctioning.)
  • Corrects an error causing erratic behavior in the convergence of linear steady-state equations.
  • Changes the default values for NGRID in 2D and 3D. Now 20 and 12, respectively. (Was 15 and 10.)
  • Corrects other miscellaneous errors.

Version 7.12    08/16/18

  • Corrects an error in the display of AT points in the plot domain thumbnail.
  • Corrects an error in the global-global dependencies of some problems.
  • Adds the START_ITERATE - END_ITERATE construct for EQUATIONS section.
  • Improved the feature induction logic of the gridder.
  • Increased the line limit for a single object in DXF import.
  • Minor changes to the gridding logic in 2D.
  • Changed the Help window behavior so that it is not forced on top of the main window.
  • Corrects other miscellaneous errors.

Version 7.11    05/22/18

  • Relaxes the strict table error report introduced in version 7.10 to allow one half cell guard band around table before reporting error.
  • Corrects an error in reporting table diagnostics in problems with multiple threads.
  • Modifies FIELDMAP plots to space traces according to field density.
  • Corrects an error introduced in version 7.01 that deleted the final plots in optimization runs.
  • Corrects the loss of plot labels when rotating plots.
  • Corrects an error that caused batch runs to terminate abnormally under Linux.
  • Corrects an error that caused occasional convergence failures in batch runs.
  • Corrects a failure for systems with only GLOBAL VARIABLES.
  • Corrects other miscellaneous errors.

Version 7.10    03/28/18

  • Adds the FIELDMAP plot specification.
  • Implements DT(variable)=expression for defining initial time derivatives in the INITIAL VALUES section.
  • Various modifications to the Petrov-Galerkin upwind procedure.
  • Modifies the process used to determine the initial time derivatives.
  • Adds an error report if accessing TABLE data outside table range.
  • Corrects interpretation of relative file paths in export statements in some cases.

Version 7.09    02/28/18

  • Corrects an error in the use of defined parameters in implicit CURVEs.
  • Adds the -NI command line switch, which forces FlexPDE to NOT load the flexpde7.ini file settings.
  • Correctly suppresses several warning dialogs when using the -S switch.
  • Corrects the TRANSFER of HISTORY plots with no AT points.
  • Corrects an error in the file name generation of EXPORTs using $ string manipulation of floating point numbers.
  • Corrects an error in plotting domains with empty REGIONs.
  • Changes default OVERSHOOT to 1e-4.
  • Changes default ITERATE (CG limit) to 4000.
  • Changes default DIRECTLIMIT to 20000.
  • Adds the ROUND function.
  • Corrects infinite loop in calculating the intersection of two arcs if one arc had zero length.
  • Removes unnecessary dependency analysis for variables in different EQUATION sets.
  • Removes automatic fallback to Vandenberg (when Lanczos fails) and provides a FALLBACK selector to restore it.
  • Defines built-in name CELL_SIZE to return size of current evaluation cell.
  • Redefines the hot keys for the "File -> Save As" menu item, so that the Select All editor function may be supported.

Version 7.08    01/11/18

  • Accepts the use of XCOMP, YCOMP, and ZCOMP for first, second, and third vector components even when alias coordinate names are defined.
  • Corrects various errors in .pgx movie viewing.
  • Removes implementation restriction on number of variables (was 100, now unlimited).
  • Corrects occasional failure in time-dependent problems with INITIAL EQUATIONS.
  • Corrects keyboard focus issues in editor and when initializing in silent mode (-S command line switch).
  • Adds INITIAL SELECT section to allow specifications of selectors specific to INITIAL EQUATIONS.
  • Corrects the 2D plot position locator on Mac.
  • Reinstates trap for fractional power of a negative number.
  • Corrects various errors in calculating dependencies of equations involving VAL and INTEGRAL.
  • Corrects editor use of tabs.
  • Adds print preview for plots.
  • Adds support for cubic basis in TRANSFER6.
  • Corrects various minor errors.

Version 7.07    09/29/17

  • Switch to use shared instead of static cURL library.
  • Add diagnostic of TABLE references outside defined range.
  • Corrects various errors in .pgx viewing.
  • Corrects an error in processing mixed time-space derivatives.
  • Improves cell inclusion in ZOOM plots.
  • Enforces FIXDT during start up.
  • Corrects some intermittent timing errors in threaded execution.
  • Improves reliability of TRANSFER references in presence of discontinuities.
  • Eliminates occasional erroneous rejection of auto-saved initial meshes.
  • Eliminates occasional overly zealous matrix mismatch diagnostic.
  • Corrects a display error in the License Agreement on Mac.
  • Corrects the font and font color selectors on Mac.
  • Corrects tab display errors on Mac.

Version 7.06    07/26/17

  • Implements Intel Math Kernel Library for direct solution of small problems that converge poorly with the iterative solver. See selector DIRECT.
  • More modifications to error measurement procedures.
  • Corrects a potential error in threaded plot construction.
  • Corrects an occasional "Matrix Mismatch" error.
  • Adds a diagnostic for references to TABLE data outside the range of definition.
  • Corrects an error in the reading of OBJ mesh files containing unused vertex normals.
  • Corrects an error in the naming of movie export files.
  • Corrects an error in path processing when no path provided on the command-line and current working directory not set.
  • Corrects an error in path processing when exporting plots.
  • Correctly auto imports OBJ and DXF files when they are drag-and-dropped.

Version 7.05    06/14/17

  • Corrects an error in highlighting text for semantic error reports (broken by editor rewrite in v7.04).
  • Adds the -NC and -NM command line switches : no consolidation of output / no auto load of previous mesh. (Allows access to preference setting for non-GUI versions.)
  • Corrects recognition of optimization parameters used in other parameter definitions.
  • Implements independent selection of interpolation order for each variable.
  • Correctly recognizes ARRAY divided by ARRAY.
  • Corrects occasional 2D mesh generation error.
  • Corrects errors in VECTOR plots.
  • Implements file drag and drop for the editor page (already functional in view/thumbnail mode).
  • Adds a "Recent Files" entry to the File menu.
  • Corrects an error in the EXPORT file name when a file path is given.
  • Error measurement procedures have been significantly modified. Users may see differences in mesh refinement behavior and running times.
  • Corrects handling of dependencies of GLOBAL VARIABLES on INTEGRALS containing VARIABLES and GLOBAL VARIABLES.
  • Changes the implementation of RESOLVE. Function now behaves as the solution error does: error is scaled to range of observed values and represents the relative error. Users may see significant differences in the behavior of RESOLVE. The form RESOLVE(f, weight) can be used to control the relative importance of the function in mesh refinement.
  • Requires THRESHOLD definitions in more cases than formerly.
  • Corrects an error in decision logic for autoload of stored mesh.

Version 7.04    04/11/17

  • Release Mac OS X beta version.
  • Re-implements the script editor to fix several inadequacies.
  • Corrects errors in error-estimation procedures.
  • Corrects miscellaneous errors in Linux version.
  • Add Print Preview of scripts.
  • Help menu automatically opens help file in a browser on Linux and Mac.
  • Corrects the -S command line switch to NOT show icon in task bar (restore v6 behavior).

Version 7.03    03/21/17

  • Corrects an error in curved CONTACT boundaries.
  • Corrects an error in PLOTS with INACTIVE variables present.
  • Corrects handling of the ATAN2V6 function.
  • Corrects the treatment of file names with extended characters like umalut.
  • Corrects the drag-drop or open-with behavior for non-pde files.
  • Corrects the -M command line switch.
  • Corrects the handling of parse errors generated in #INCLUDE files.
  • Miscellaneous changes to the preconditioner and matrix processing.

Version 7.02    03/06/17

  • Release Linux beta version.
  • Miscellaneous modifications in windowing system to support Linux.
  • Reinstate NetCDF export functionality.
  • Corrects and error in moving blocks of text in the script editor.
  • Corrects an error in opening files with extended characters in the file name.
  • Add selectors BOLD, ITALIC, SANSERIF, and SERIF to control fonts on output PLOTS.

Version 7.01    02/14/17

  • Allow JUMP statements in PLOTS and SUMMARYs.
  • Corrects an error in mesh refinement at curved boundaries, particularly at JUMP and PERIODIC boundaries.
  • Corrects handling of continuous variables at boundaries where other variables have a CONTACT boundary condition.
  • Improved diagnostic testing of saved mesh imports when domain conditions change.
  • Corrects handling of element-by-element matrix division and matrix inversion.
  • Corrects handling of Complex Magnitude (CABS function).
  • Corrects handling of implicitly coupled VALUE boundary conditions.
  • Improves convergence of start-up solver in nonlinear time-dependent problems.
  • Modifies nonlinear convergence parameters.
  • Corrects an error in the Find dialog where the cursor position was not properly set.
  • Corrects various internal errors with undefined effects.

Version 7.00    01/01/17

FlexPDE Version 7 is a major rewrite of the FlexPDE application.

Among the new features in the initial release of FlexPDE version 7 are:

  • Heirarchical Basis - New heirarchical FEM basis functions improve matrix conditioning, especially in cubic models. The default approximation order is now cubic.
  • Optimization - Built-in parameter optimizer.
  • OBJ Mesh Import - Use a CAD program to create more diverse shapes and import the bounding mesh.
  • Material Sets - User defined sets of material properties simplifies script writing.
  • Boundary Condition Sets - User defined sets of boundary conditions simplifies script writing.
  • Implicit Boundary Curves - Use an arbitrary expression to form a curved boundary path in two dimensions.
  • Multidimensional Periodicity - Can have periodic boundaries in more than one direction without breaking boundary paths.
  • Interactive Plot Zoom - Zoom in on plots without the need to request a special plot.
  • Extended Preferences Panel - All major settings located in a convenient preference panel.
  • Automatic Mesh Output - Automatic export of initial and final problem meshes makes re-running and post-processing easier.
  • Automatic Mesh Input - Automatic import of previously constructed mesh speeds re-running.
  • New Dongle Vendor - CodeMeter dongles are more flexible and cost effective, and allow both local and network configuration with the same dongle.