VSim Release Notes
VSim 12.2
August 16, 2023
The release notes describe new features for the VSim computational engine (Vorpal) and the VSimComposer graphical user interface. Deprecated features and bug fixes are also noted within the release notes.
New and Updated VSim 12.2 Features
VSim Computational Engine (Vorpal)
- Added an implicit cylindrical EM solver. This solver computes the azimuthal electric field (E_theta) and the R-Z magnetic fields driven by azimuthal currents (J_theta) from both the plasma and an external antenna. This solver is absolutely stable in time and thus allows one to step at the time scales appropriate to plasma evolution without encountering the usual Courant instabilities. It is especially useful for modeling systems driven by induction, such as the inductively coupled plasmas used in wafer fabrication and ion sources.
- Added a new attribute, useRelativeVelocity, to absAndSav, absSavCutCell, and absSavTriCutCell particle absorbers to have them store tangential and normal components of particle velocities as they’re absorbed.
- Added a new capability which allows the user to store particle velocity data impacting a geometry in a local normal-tangent coordinate system with respect to the geometric surface.
- Added the ability to specify a manual domain decomposition where domains can be specified as a text file of input blocks. These can be written manually, if needed, but works best when used with the new load balancing analyzer.
- Added option to particle species to dump their particles per cell as a field. This can be used in conjunction with the new load balancing analyzer to improve simulation performance.
- Added a new field interpolation scheme which allows the user to model a plasma on a grid with cell size(s) larger than the electron Debye length. We have tested this method using the Penning Source example and several CCP examples and get excellent results.
- Added an anisotropy parameter for charge exchange reactions in the reactions framework.
- Removed simpleSec emitters throughout in favor of absSavTriCutCell secondary electron emitters.
- Fixed bug where vorpal would crash when a secondaryEmitter specifies “time” in functionVariables.
- Fixed bug regarding restarts with timeAverage history.
- Fixed bug with some histories not dumping a data point for time zero.
- Fixed bug that occasionally prevented fluids from being restored correctly.
- Improved file handling on Windows. This fixes the case where history data files are busy such as in Visualization and cannot be opened for dumping. It also speeds up dumping histories and prevents hangs on Windows for some special cases.
- Fixed a bug where preprocessor output would sometimes appear after the computational engine completed.
- Fixed a bug where an interval specified by an applyTimes range would add an unwanted apply step on the timestep immediately after the right bound.
VSim Examples
- Added the following new inductively coupled plasma examples that use the implicit cylindrical EM solver:
- VSimPD -> Inductively Coupled Plasmas -> 2D Inductively Coupled Plasma Chamber
- VSimPD -> Inductively Coupled Plasmas -> 2D Inductively Coupled Plasma with Shapes
- Updated the following examples:
- VSimPD -> Processes (text-based setup) -> Neutral Heat Transport (text-based setup): Now uses the new way of recording reaction statistics.
- VSimPD -> Ion Sources -> Penning High Intensity Ion Source: Added a demonstration of how to use the new computeLoadBalancedDecomp.py utility analyzer.
- VSimPD -> Surface Interactions -> Wafer Impact in Plasma Processing: SpaceTime Python functions can now include optional arguments. Therefore, the example has been updated to include the optional arguments in the SpaceTime Python function. The example was also modified by saving the particle data that impacts the wafer in a normal-tangent coordinate system (with respect to the wafer surface).
- VSimPD -> Spacecraft -> Satellite Surface Charging: Improved the example by using Cut Cell Poisson. This electric field solve is faster than the older method and allows the user to include dielectrics in the field solve.
VSim Analyzers
- Improved convertSlabToPointHistories.py analyzer to generate arrays of cell coordinates for each axis for uniform Cartesian meshes.
- Corrected normalization of computeAED.py so that phase space is correctly computed as a function of solid angle.
- Added new analyzer, upgradeHistory, to convert Histories.h5 files to the new format (only needed if restarting from pre-12.1 History file).
- Improved documentation of computeFlux.py analyzer.
- Renamed analyzer hfssToVsh5.py to convertHFSS2VsHdf5.py.
- Renamed analyzer photonicWaveguideModes.py to computePhotonicWaveguideModes.py.
- Added two new analyzers. computeFlux.py, which computes the number, charge, and energy flux onto a surface and convertCSV2VsHdf5.py, which takes a general CSV file with locations and field components and creates a VsHdf5-compatible field file that can then be read into VSim. An example of use for this analyzer is magnetic field data generated by FEMM as an external field.
- ComputePhotonicWaveguideModes.py is deprecated and will be removed in the next major version of VSim.
VSim Graphical User Interface (VSimComposer)
Setup Tab:
-
Added support for the latest implicit electromagnetic solver in the field solver basic settings for 2D cylindrical coordinates.
-
Added support for arguments to Python functions.
-
Added support for energy conserving first order linear interpolation in electrostatic fields.
-
Added support for variable grid spacing in the Visual Setup for VSim.
-
Added ability to specify domain decomposition in the setup tree, including “default decomposition”, “decomposition by axis”, and “manual decomposition”, where one can use the computeLoadBalancedDecomp.py analyzer utility to generate inter- and intra-node decomposition blocks. Removed “MPI decomposition” from Basic Settings.
-
Added option to dump particles on a cell-by-cell basis for load balancing needed for the computeLoadBalancedDecomp.py analyzer utility.
-
Added flag for useRelativeVelocity in particle sinks and accumulated particle sinks.
-
Added ability to specify the maximum number of time steps before a particle sort happens in Visual Setup. Default is 1000 steps.
-
Improved the efficiency of the code that updates the setup tree nodes that reference expressions or parameters.
-
The log is now shown when the cut-cell meshing fails so that the error is more obvious.
-
Tree items now use ‘Activate’ and ‘Deactivate’ instead of ‘Turn Off/On’ in the right-click context menu, have an (inactive) added to the item in grey when deactivated to be clearer about the state.
-
Geometries that are deactivated are no longer exported.
-
Fixed issues with the Add or Add Multiple buttons when the current selection does not support those functions.
-
Fixed several potential issues with the create geometry array dialog.
-
Improved readability of the XYZ axis in the 3D View of the Setup Tab by the following: switch to bold font, switch to uppercase letter, ensure letter have enough space to be visible, and ensure that the x-axis font color matches the x-axis color in cylinder coordinates.
-
Duplicate the tick marks on the axis in the 3D View offset by 90 degrees to make them more visible in different orientations of the view.
-
Fixed a rare issue opening PRE files in Composer by making the PRE file reading more robust.
-
Improved the Setup tree to respect the order of items from the SDF file.
Run Tab:
-
Track simulation wall clock time and display it to the user when the engine finishes.
-
Don’t force the output log windows to scroll to the bottom every time the text changes unless the scroll bar is moved to the bottom by the user.
-
Ensure Run button is disabled when a scheduler run is executed making scheduler runs like regular runs and preventing the user from accidentally scheduling multiple.
-
Improved tracking of restart at dump state and fixed a bug with saving the state for persistence.
Visualize Tab:
-
Added an unload data feature so that on Windows visualization file handles can be released so that other processes such as the engine and analyzers can use them.
-
Improved the color picking dialog on Mac and made it uniform across operating systems.
General:
Improved Euler fluid documentation to more accurately describe its capabilities and options.
Improved logging messages and handling of error conditions
Fixed several crashes when right-clicking in the setup tree for rare cases.
Improved backwards compatibility of documentation links in the interface.
Fixed dialog titles of the scheduler Custom Command, scheduler Job Number, Curve Limits, and Axis Scale dialogs to match what they do.
Fixes issues with opening malformed simulation definition files.
VSim 12.1
March 31, 2023
The release notes describe new features for the VSim computational engine (Vorpal) and the VSimComposer graphical user interface. Deprecated features and bug fixes are also noted within the release notes.
New and Updated VSim 12.1 Features
VSim Computational Engine (Vorpal)
- Added a new reaction type, Forward Scatter.
- Added new scatter type (Turner) to electron ionization reactions
- Added feature allows particle current fields to be stored by particle species in cartesian electrostatic simulations.
- Improved Histories so that they can be more flexible to handle non-uniform time steps and restarts with different time step sizes.
- Fixed several issues with reaction diagnostics.
VSim Examples
- Converting the Turner and Capacitive Coupled Plasma (CCP) 1D examples to use new collisions framework.
- The new CCP example is named capacitivelyCoupledArPlasma1D.
- Refined the Turner example to more clearly demonstrate agreement with Turner’s benchmark and to discuss how this benchmark case can be modified to accurately model more general low-temperature plasma discharges, as shown in this and other CCP 1D examples.
- Renamed capacitivelyCoupledPlasma1D to capacitivelyCoupledHePlasma1D and deprecated it as it uses impactColliders instead of the framework of the new reaction.
- Improved the Wafer Impact example by including collisions between electrons and neutral species.
- Improved the physics accuracy of the Negative Ion Beam example by changing it to use forward scattering.
- Improved the Penning Source example by implementing energy-conserving particle deposition, which allows for reaching larger electron densities than the previous implementation and reaching a steady state.
- Modified the Cylindrical Hall Thruster visual example to make the boundary conditions similar to the ones discussed in the referenced publication.
- Updated the Negative Ion Beam examples to use the forward scatter reaction.
VSim Analyzers
- Improved convertSlabToPointHistories.py analyzer to generate arrays of cell coordinates for each axis for uniform Cartesian meshes.
- Corrected normalization of computeAED.py so that phase space is correctly computed as a function of solid angle.
- Added new analyzer, upgradeHistory, to convert Histories.h5 files to the new format (only needed if restarting from pre-12.1 History file).
- Improved documentation of computeFlux.py analyzer.
- Renamed analyzer hfssToVsh5.py to convertHFSS2VsHdf5.py.
- Renamed analyzer photonicWaveguideModes.py to computePhotonicWaveguideModes.py.
- Added two new analyzers. computeFlux.py, which computes the number, charge, and energy flux onto a surface and convertCSV2VsHdf5.py, which takes a general CSV file with locations and field components and creates a VsHdf5-compatible field file that can then be read into VSim. An example of use for this analyzer is magnetic field data generated by FEMM as an external field.
- ComputePhotonicWaveguideModes.py is deprecated and will be removed in the next major version of VSim.
VSim Graphical User Interface (VSimComposer)
- Added interface support for cylindrical electromagnetic field solves.
- Allowing for the removal of custom analyzers from VSimComposer and automatically cleaning up opened analyzer tabs pointing to removed custom analyzers.
- Added support for recording several analyzers in a simulation in order to copy them to the save-as directory and add them to the analyzer list for a working directory.
- Preventing the copying of an analyzer overlapping of itself, which ultimately caused a removal of the original file.
- Fixed issue with disabled dump slider with new 1D field plots.
- Fixed an issue where the nodal E field on the cylindrical axis could be incorrect in visual setup simulations.
- Improved messages about geometry operations and file copying in Composer.
- Improved user feedback while simulations are closing.
- Improved message visibility for rendering issues in Visualize Tab.
- Improved the efficiency of closing a simulation with opened visualization.
- Adding support for the Sun Grid Engine scheduler.
- Continued improvements for robustness.
- Fixed the issue where some message dialogs with very long messages go off the visible screen by limiting the characters to 1000.
- Improved the run log on the file system by adding a plain text version.