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.


  Version 5.1.4   07/25/09

  • In previous versions, FlexPDE retained as FEATURES region boundaries that were overlaid and hidden by later region definitions. This sometimes caused meshing troubles because of tangencies, so we now delete the hidden boundaries. If your domain construction requires that these features be retained, you can recover the former behavior by SELECT GHOST_BOUNDARIES.
  • Implements PRINTONLY for HISTORY plots.
  • Implements automatic script conversion for upgrading scripts to conform to new version 6 rules. The "Controls->Convert to v6" menu item will perform an in-place conversion on an open file. The command also works with BATCH scripts.
  • Corrects an error in computing surface integrals in 2D axisymmetric geometry.


  Version 5.1.3   12/12/08

  • Implements print option for imported meshes.
  • Corrects a 2x error in Jacobian terms coupling Global variables in Natural Boundary Conditions.
  • Corrects occasional "matrix mismatch" error diagnostics.
  • Suppresses meshing error dialogs in batch and silent mode.
  • Corrects report of license capabilities with local and network dongles.


  Version 5.1.2   9/01/08

  • Corrects an occasional error finding integral references in boundary conditions.
  • Corrects an error running Vandenberg iteration with no preconditioner.
  • Corrects an error running keyed sample scripts with a professional license.


  Version 5.1.1   8/25/08

  • Removes busy wait in idle mode after 'Stop Now' on Linux.
  • Evaluation version runs as Student version until unlocked with a license key.


  Version 5.1.0   8/18/08

  • Corrects an error in ON REGION qualifier for ELEVATION plots when the region is identified by a name.
  • Corrects an error in status panel CPU TIME report.
  • Special Student version runs without a license key and cannot be unlocked to Professional version.
  • Extensive internal modifications.


  Version 5.0.23   7/23/08

  • Restores operation of PRINT(number) for ELEVATION plots.
  • Corrects an error in cell size induction in 3D that caused excessive mesh density in very thin layers.
  • Corrects an error in GLOBAL VARIABLE dependence in Natural Boundary Conditions.
  • Allows optional continue after "Empty Integral" warning.
  • Corrects a sign error in ELEVATION plots of Normal components on interior boundaries. Sign now agrees with Surface Integrals.
  • Deletes a sometimes misleading diagnostic "Inconsistent Boundary ID's".


  Version 5.0.22   4/30/08

  • Implements Elevation plot on boundary trace in 3D
  • Corrects occasional 2D mesh generation errors.
  • Corrects coloring of painted Fixed Range contour and surface plots.
  • Corrects a logic error when a Vector plot is the last in the plot list.
  • Corrects data errors on cylindrical axis in TecPlot output files.


  Version 5.0.21   3/25/08

  • Corrects an error in distinguishing GLOBALMAX_X from GLOBALMAX_Y when both appear in an expression.
  • Removes clip boundary outline from EPS output
  • Allows JUMP() to be referenced in definitions
  • No longer creates flexpde5.dbg file in FlexPDE5User folder.
  • Reports software license key errors and corrects logic.
  • Diagnoses errors in arguments to NORMAL().
  • Corrects occasional memory protection fault in large 2D mesh generation.
  • Corrects occasional memory protection fault in upwind weighting.
  • Corrects a memory protection fault if a 3D layer has no cells.


  Version 5.0.20   1/25/08

  • Suppresses error dialogs in Silent(-S) mode.
  • Correctly distributes divisors over components of a vector.
  • Corrects updating of variable-independent integrals in moving-mesh problems.
  • Corrects occasional association errors with Velocity boundary conditions in moving-mesh problems.
  • Allows full paths in #include statements.
  • Corrects occasional Memory Protection Faults in mesh refinement in large 3D problems.
  • Corrects the application of the Divergence operator to scalar operands in non-cartesian 1D problems.


  Version 5.0.19   10/22/07

  • Scaling changes should make problems with large numbers of Global Variables converge better.
  • Adds labels describing columns of export TABLES
  • Corrects TRANSFER lookup errors in plots and at CONTACT boundaries
  • Corrects CONTOUR() ON SURFACE '..' ZOOM().
  • Corrects INTEGRAL(f,"Layer") logic error.
  • Adds region-by-region domain drawings in 2D domain review.
  • Further modifications to MERGEDIST implementation, adding coordinate-specific options XMERGEDIST, YMERGEDIST and ZMERGEDIST.


  Version 5.0.18   7/11/07

  • Adds MERGEDIST selector to control merging of nearby domain layout points.
  • Corrects errors in PLOTS with LOG coordinates.
  • Corrects errors in TABLE coordinate overrides (introduced in 5.0.17). 
  • Corrects errors accessing Help files in 64-bit Windows systems (XP/64 and Vista/64).
  • Corrects errors in global HISTORY evaluations when region 1 is VOID.


  Version 5.0.17   6/24/07

  • Corrects errors in the first two time values in TINTEGRAL calculations.
  • Modifies "Silent" mode selection to exit after batch runs. 
  • Corrects errors in string catenation operators.
  • Corrects errors in dependency detection for data imported with TABLEDEF.


  Version 5.0.16   4/29/07

  • Line integrals on imbedded features were doubly corrected for two-sided integration.   
  • Implements TIME_MIN and TIME_MAX functions
  • Reports region/layer names as ZONE title in TecPlot export
  • TecPlot export did not correctly identify the evaluation region for nodes on material interfaces.


  Version 5.0.15   2/17/07

  • Corrects mass-conservation errors in moving-mesh problems.
  • Suppresses display during View->Last for faster response.
  • Adds "View File" (ie, file open) to "View" menu.


  Version 5.0.14   2/5/07

  • Corrects errors in the symbolic pre-processing of terms like dx(v(t)*u), where v(t) contains explicit dependence on the time variable.
  • Corrects a 1D meshing error when regions are overlaid.
  • Minor changes to timstep control algorithm.
  • "Smoothinit" now uses refined mesh size for smoothing parameter
  • If no cells match 3d gridplot constraints, the plot is marked "empty".
  • Corrects errors in mapping boundary integral regions and cells.
  • New plot modifier TRACE writes contour traces to disk.


  Version 5.0.13   12/13/06

  • Corrects an error that produced noisy data when EXPORTing data on a 3D surface.
  • Corrects an error in processing FILLET on the final point of a boundary path.
  • Corrects an error calculating SINTEGRAL on interior faces next to VOID regions in 3D.
  • Deletes a time-consuming mesh consistency check in 2D mesh generation.
  • Supports field upgrade of network dongles.


  Version 5.0.12   9/13/06

  • Adds the new Selector MIN_FEATURE to prevent the mesh generator from generating cells with edges smaller than the specified value (don't be too cavalier with this number, or you will crash the mesh generator).
  • Corrects an error in splitting arc segments due to intersections with other boundaries.
  • Displays a Domain drawing before reporting crossed surfaces in 3D.
  • Corrects occasional crashes in 1D problems.
  • Deletes the report of plot function trees from the .DBG file, saving a large amount of disk space in some cases. (Use SELECT DEBUG(FORMULAS) to restore the report).
  • Removes a faulty report of ZOOM errors in 3D.
  • Increases default NODELIMIT to 4,000,000.
  • Corrects errors in ATAN2 function.
  • Propagates MESH_SPACING controls more correctly in 3D.
  • Corrects a crash if a region/layer is both VOID and zero thickness in 3D.


  Version 5.0.11   6/22/06

  • Corrects an error in handling boundary integral dependencies in GLOBAL equations.
  • Adds CONST and SIZEOF functions for ARRAYS.
  • Adds BLOCK qualifier for TABLE input.
  • Corrects an error in polyline plots with more than 16000 points.
  • Changes connection timeout to one hour in network license environments.
  • Corrects an error in handling HISTORY plots in STAGED problems with domain changes (STAGEGRID).
  • Corrects an error in marking TABLE points external to irregular domains.


  Version 5.0.10   2/27/06

  • Implements Windows XP/x64 version.
  • Dongle handling procedures updated.  This may require existing users to update their dongle drivers.
  •   Adds -D command-line switch for importing DXF files.
  • Corrects error in repeated re-imports of DXF files.
  • Corrects omission of final point in ELEVATION plots ON named boundary.
  • Corrects EXPORTed coordinate names, and uses quotes if name is not a single word,
  • Cures an occasional data overwrite using VAL or EVAL.
  • Implements ZOOM in 1D ELEVATION plots.
  • Displays script location in case of arithmetic errors in evaluating script expressions (instead of merely reporting the error).
  • Corrects a busy-wait condition when execution is PAUSEd.
  • Modifies error estimation proceedures in 1D problems.
  • Implements smoothing of 1D and 2D TABLEs.
  • Diagnoses undefined coordinate name in TABLEs.
  • Corrects errors in 1D mesh density plots.


  Version 5.0.9   1/18/06

  •   Corrects errors in analyzing some types of GLOBAL VARIABLE equations.
  •   Adds recognizers for R14 DXF import files.
  •   Adds a mesh-density plot for 1D problems (cumulative node count vs distance).
  •   Diagnoses numeric input values that exceed 9-digit limit.
  •   More aggressive timestep controls.
  •   Modifies convergence tests for eigenvalue problems.
  •   Modifies constraint equation scaling.
  •   Boundary-search functions XBOUNDARY, YBOUNDARY, ZBOUNDARY.


  Version 5.0.8   10/18/05

  •   Corrects a memory leak associated with the EVAL function.
  •   Corrects errors in DXF import: a) crash if resultant PDE file exceeds 500 lines; b) error re-reading import file; c) adds a prompt for merge distance to reconnect broken line segments in DXF.
  •   Timestep control changes in 5.0.7 caused failure of initial step if steady-state equations are mixed with time-dependent equations.
  •   Corrects initialization and recomputation errors when FIT, SAVE, LUMP, or INTEGRALS are nested.
  •   Corrects errors in import of 3D tables. Third coordinate was mishandled.
  •   Changed default OVERSHOOT to 0.0005.


  Version 5.0.7   9/4/05

  • Corrects errors in version 5.0.5 modifications to convergence testing in problems with mixed time-dependent and steady-state equations.
  • Corrects occasional failures of position search in TRANSFER meshes.
  • Improved timestep control stability in severely nonlinear problems.


  Version 5.0.6   8/26/05

  • Corrects errors in version 5.0.5 modifications of TRANSFERMESH.
  • Improves diagnostics of limitations on CONTACT boundaries.
  • Corrects ordering of computations of initial values when boundary conditions depend on integrals of variables.


  Version 5.0.5   8/24/05

  • Corrects indexing errors with multiple GLOBAL VARIABLES.
  • Corrects "Matrix Dimension" errors when dependencies switch off with MAX or IF operations.
  • Cuts timestep and retries instead of halting when linear system solver fails in time dependent problems.
  • Reports timestep retries to log file.
  • Corrects a crash when TRANSFERMESH reads a mismatched import file.
  • Supports TRANSFERMESH with CONTACT boundaries.

  Version 5.0.4   8/7/05

  • Corrects an error in locating evaluation position in EVAL function.
  • Accepts 3D coordinates in EVAL function.
  • Diagnoses incorrect number of declared equations.
  • Correctly removes boundary stubs projecting out of domain.
  • Corrects occasional cases of 2D mesh generation jumping boundaries.
  • Accepts license file in application directory on non-Windows platforms.
  • Revised matrix scaling improves performance in eigenvalue problems and in cylindrical geometry.
  • Corrects occasional failures when declared boundaries are removed by EXCLUDE.
  • Automatic fall-back to Vandenberg iteration if Lanczos method fails.
  • Corrects a clipping error that supressed ELEVATION traces with LOG scaling.
  • [5.0.4a] Corrects license key write error on Windows.

  Version 5.0.3   7/18/05

  • Corrects an error converting vector grad() to scalar dx() in 1D.
  • Corrects an error in assigning POINT VALUE and POINT LOAD boundary conditions to START point in 1D.
  • Improves solution convergence rate in nonsymmetric systems.
  • Corrects errors in treating scripts that generate plots but do not solve equations.
  • Corrects treatment of integrals of functions of time only.
  • Corrects implementation of FEATUREPLOT selector.
  • Corrects field upgrade of dongles on Macintosh.
  • Corrects occasional CPU-dependent mesh generation failures on Windows.

  Version 5.0.2   7/07/05

  • Corrects an occasional mesh generation failure in 3D problems with periodic boundaries.
  • Corrects a mesh generation error in 3D extrusion of filleted corners.
  • Corrects an occasional "Matrix Mismatch" error in problems with parameters that switch dynamically from dependency on variables to no dependency.
  • Graphical user interface improvements, including: close file by right-click on tab; a Help tool button and hotkey; clearer tool icons in disabled state; activity icons on problem tabs.
  • Supports encrypted scripts, so that value-added resellers can protect intellectual property.  Contact PDE Solutions Inc for more information.
  • [5.0.2a] corrects license-reading errors introduced inadvertently in 5.0.2.

  Version 5.0.1   6/22/05

  • Corrected errors in 3D location finder (VAL, EVAL).
  • Corrected errors in data export from one-dimensional problems.
  • Corrected font selection errors on some platforms.
  • Added font selection capability for Status window.
  • Modified contents of preference file "flexpde5.ini".  [Note: THIS NEW FORMAT WILL CRASH VERSION 5.0.0. Delete "flexpde5.ini" if you wish to run version 5.0.0 after version 5.0.1.].

  Version 5.0.0   6/15/05

FlexPDE Version 5 is a major rewrite of the FlexPDE application.  In the first restructuring of the program, we have aimed in some areas merely to reproduce the behavior of version 4.  But the newly structured program should facilitate many extensions that will appear as later versions are released.

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


FlexPDE 5 now supports moving meshes.  This allows the construction of Arbitrary Lagrange/Eulerian models, with the mesh moving at velocities that may be the same as or different from the fluid velocity.  In this release, there are no facilities for reconnecting the mesh in case of tangling, so the best course is to impose motions on the mesh that preserve mesh integrity.  See Moving Meshes in the User Guide.

Plot-construction specifications have been generalized to allow computable size and positions.


FlexPDE 5 now supports one-dimensional geometries, either Cartesian, Cylindrical or Spherical. The difference between these geometries is in the expansion of the DIV operator and in the volume weighting of Galerkin integrals.  (You can explicitly construct equation systems for arbitrary geometry in a Cartesian space.)


  • Replay of stored .PG5 movies has been smoothed for better display.
  • EXPORT MOVIE function in VIEW of .PG5 allows automatic export of sequenced graphics for movie construction.


  • The reserved word FINISH used in previous versions has been replaced by CLOSE to make its meaning clearer.  After an initial warning, FlexPDE 5 will continue to accept the older form.
  • The variable classification SCALAR VARIABLES used in previous versions has been replaced by GLOBAL VARIABLES to make its meaning clearer.  After an initial warning, FlexPDE 5 will continue to accept the older form.


  • The POINT data type allows definition of named coordinate points.
  • The pre-defined name ERROR allows the display of error estimates across the mesh.
  • A smoothing pass on initial values avoids expensive startup from discontinuous initial conditions.
  • Modified nonlinear tuning provides more robust solution process.
  • EDIT mode facilities have been extended to allow editing files that are not scripts.
  • The reserved word ERROR can be used to return the distribution of error estimates over the mesh.  Usually this would take the form of a plot or monitor CONTOUR(ERROR) for a display of error measures.