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.
- Added new Poisson solver that is highly accurate by using cut cell technology, has the ability to have imbedded conductors and dielectrics, and supports any of the VSim coordinates systems
- Added the ability to impose Neumann boundary conditions with new cut-cell Poisson solver
- Child Langmuir emission now works for conformal boundaries
- Collision gas types now available through dictionary
- Improved output between solvers
- Improved naming for log histories
- Improved handling of data dumping when particles are not present thus preventing confusion in visualization
- Added field location and position history
- Space charge limited emission now works for conformal shapes
- Improved and unified parsing and construction of various types of grids
Added the following new examples:
- VSimEM -> Antennas -> Dipole Radiation
- VSimEM -> Photonics -> Microring Resonator Gaussian Mode
- VSimEM -> Scattering -> Scattering off a Metal Sphere
- VSimEM -> Scattering -> Scattering off a Metal Sphere with a Dielectric Coating
- VSimMD -> Cavities and Waveguides -> Circular Metal Waveguide Dispersion
- VSimMD -> Cavities and Waveguides -> Rectangular Metal Waveguide Dispersion
- VSimPD -> Processes -> Corona Discharge 3D
- VSimPD -> Surface Interactions -> Wafer Impact in Plasma Processing
Significantly updated the following examples:
- VSimEM -> Photonics -> Microring Resonator with Mode Launcher
- VSimPD -> Spacecraft -> Satellite Surface Charging
These items have changed in the examples going from version 10 to 11. So, if you encounter the following error messages when opening simulation examples from 10 in the 11 product, please make the noted corrections:
- Error Message during Setup, “Cannot use Preconditoner smoother symmetricvariableblockGaussSeidel …” – correction is to change the “smoother type” under Field Dynamics -> Poisson Solver from “symmetric variable block Gauss Seidel” to “Gauss Seidel”. This is present when opening: + VSimEM -> Electrostatics -> Like-Charge Dipole
- Error Message during Setup “Cannot use Preconditoner smoother Aztec with DD defaults other than SA” – correction is to change the “mg defaults” under Field Dynamics -> Poisson Solver from “DD” to “SA”. This is present when opening: + VSimPD -> Sputtering -> Ion Beam Sputtering + VSimPD -> Spacecraft -> Coupon Array Charging + VSimPD -> Capacitively Coupled Plasmas -> 1D Capacitive Plasma Chamber
- Error Message during Run “Engine completed with error: Engine exited with error code: 139” – correction is to change the attribute “smootherType = Aztec” to “smootherType = Chebyshev” in the Preconditioner block. + VSimPD -> Capacitively Coupled Plasmas (text-based) -> 2D Capacitive Plasma Chamber (text-based)
- Particle Does not show during visualization of VSimPD -> Processes -> Single Particle Circular Motion – correction is to change Parameters -> HALF_ZCELL from DZ/2 to DZ.
- Added a new analyzer for calculating thrust due to particles absorbed at a boundary (computeThrust.py)
- Added a new analyzer for calculating angular energy distribution for particles absorbed at a boundary (computeAED.py)
- Added a new analyzer for converting field Histories on slabs to Histories at points, allowing for visualization as a function of time (convertSlabToPointHistories.py)
- Added a new analyzer for calculating antenna gain and phase information (compute2DantennaGainAndPhase.py)
- Farfield analyzer (computeFarfieldFromKirchhoffBox.py) improved: + 2nd-order accuracy for Kirchhoff integration + Now computes phase information in addition to gain + Improved API for more intuitive integration with the farfield analyzer + Improved performance, error checking and error handling + Validation against Method-of-Moments and analytic results + Better documentation
- Analyzer that computes particle kinetic energy as a History (addSpeciesWithKinEnrgInEV.py) now works in cylindrical and Cartesian coordinate systems and does more error checking
- Analyzer that calculates waveguide modes (computeWaveguideModes.py) now computes modes in the presence of conductors and return a mode of consistent sign
- Added new grid boundary tool (gridbndry) that allows one to create cut-cell meshes at the command line using Cartesian or cylindrical grids while identifying and merging overlapping objects
Setup Tab:
- Added ability to create and modify arrays of objects
- Added the ability to clip and slice scene and geometries on a per variable basis
- Added the ability to set transparency on a per variable basis
- Added additional CSG primitives
- Added ability to clone all elements in the setup tree
- Improved Boolean operations between CAD and CSG files
- Added ability to rotate imported geometries
- Added a scale slider to improve geometry visualization experience
- Improved, faster import of GDS2 files with the ability to set layers height and layers materials
- Added predefined space-time functions
- Added capability of creating cut-cell meshes for certain geometries
- Added repair surface feature
- Added capability to separate surfaces
- Added a “zoom to fit” context menu for geometries for convenience to reset display
- Improved to Material Database interface
- Improved robustness in opening incorrectly formatting input files
- Added support in setup for Neumann boundaries with CAD defined dielectrics
- Added support for Time Average Histories
- Enabled condition of “no field solver” for cylindrical coordinates
- Decreased setup time of simulations with many secondary emitters
- Correct bug in weighting of variable weight particles in cylindrical coordinates
- Improvements to setup files given to engine to produce better output from the engine such as the output of iterative solvers
Run Tab:
- Added the ability to invoke simulation runs through schedulers, like SLURM
- Added ability to set environment variables for run
- Added ability to specify mpiexec options
- Added display for number of licensed cores
Analyzer Tab:
- Proper handling of missing data, empty particle dumps created when there are no particles
- Improved error handling and logging
- Improved performance and improved interfaces for writing custom analyzers in Python
Visualize Tab:
- Upgrade the embedded VisIt code to version 3.2
- Added ability to set plot attributes for each plot or sets of plots
- More color options
- Preset camera positions made available for 3D plots
- User friendly histories for S parameters
- Improved visualization of Neutral Fluids
General:
- Improved the user experience with enhanced user interface
- Persistence across Visualize, Run, and Analyze Tabs
- Added dark mode support for macOS
- Enabled displays on high DPI screens
- Reduced footprint of Composer, now works on displays limited to 1280x1024
- Documentation now opens in default browser on system
- Support for the macOS security features such as Notarization
- Improved logging messages and handling of error conditions
- Added floating license capability and license server capability so that MAC addresses do not have to be gathered
- Private cloud licenses now available
- Refactored license manager code for more consistent behavior between composer, engine and tools
- Improved how license files are found. There is now a way to set an environment variable to a directory that holds a license
- Improved method in which node list for a cluster license is found
- Fixed various issues with licensing including better messaging
- Fixed failure of the Aztec smoother type used in capacitive coupled plasma examples (11.0.1)
- Fixed messaging ambiguity in field messaging across multiple nodes eliminating need for explicit messing step in simulation (11.0.1)
- Added stair step updaters for the hybrid model which includes centDiffCurl, ElectronPressure, GenOhm, and Smoothing (11.0.1)
- Improved atomic sort algorithm for Particle Species (11.0.1)
- Changed combiner block to allow a user defined expression for the combining threshold (11.0.1)
- For cylindrical simulations, VSim now defines a particular function for the threshold of splitters and combiners that scales with radius so that macroparticle equilibrium is maintained correctly (11.0.1)
- Removed unnecessary warnings from several examples (11.0.1)
- Added missing thumbnail image for dipole example (11.0.1)
- Cleaned up table of contents in example documentation (11.0.1)
- Changed smoother type Aztec in Capacitively Coupled Plasma 2D text-based example for better performance (11.0.1)
- Added more detail to documentation regarding the spatial profile and current source used in the wave launcher (11.0.1)
- Modified the linear solver to decrease the compute time (11.0.1)
- Updated 3 examples to not use emitDirSign rather the deprecated emitSign attribute (11.0.1)
- corrected for use of analyzer in Dipole Above Conducting Plane example given that the analyzer was updated (11.0.1)
- Added ability to add a history to the Current Density in the S-Matrix of Box Cavity example (11.0.1)
- Remove scaling from all photonics examples (11.0.1)
- Improved robustness of gridbndry tool for doing cut+cell meshes (11.0.1)
- Improved farfield executable so that it validates lower and upper bounds of History field slabs (11.0.1)
- Improved error messages of gridbndry and farfield tools (11.0.1)
- Improved the order that particle blocks get created in translator (11.0.1)
- Reduced warnings at engine run time by updating translator output (11.0.1)
- Ensuring that simulation files with a relative permittivity will be properly translated (11.0.1)
- Updated bounds of cut cell absorbers to not include guard cells which prevents overlap with the absorbing box, which can allow for particles to leak out of a part of a cell that has a cut cell absorber in it (but no gridBoundary) and an absorber, as only one boundary condition can exist per grid cell (11.0.1)
- Added verification that a Kirchhoff box recording time is greater than the crossing time to help prevent user specification errors (11.0.1)
- Update tooltip on mode launchers to be explicit about required naming conventions (11.0.1)
- Set silica by default to be lossless, as is appropriate for most applications (11.0.1)
- Correct minor bug in visual setup computation of parameters (11.0.1)
- Adjust upper/lower bounds of cut cell absorbers to suppress warnings (11.0.1)
- Fixed setting of log scale color in field analysis data view (11.0.1)
- Fixed saving and restoring limits for all visualization plots (11.0.1)
- Fixed issue when one geometry node for a boolean operation was missing from the simulation file (11.0.1)
- Improved error message when importing geometry or material files fail (11.0.1)
- Prevent user from removing geometry parts as this causes issues on reopen of the simulation (11.0.1)
- Not removing STL file produced for the gridbndry executable so it can be run from the command-line outside Composer (11.0.1)
- Updated documentation to be more explicit about naming convention required for mode launching file (11.0.1)
- Corrected missing reference to license needed to have Conductor block (11.0.1)
- Added block kind to VSimPD license (11.0.1)
- Improved determination of node list for cluster licenses (11.0.1)
- Improved error messages for license server issues (11.0.1)
- Fixed logging of errors when running Queue Command for cluster licenses (11.0.1)
- Added new Photon Emission via a new Radiation Reaction feature. This allows for relativistic electrons to emit photons that can be optionally tracked in the simulation to record emission energy (weight), position, and relativistic gamma (number of photons). The Radiation Reaction feature is associated with the new particle species: relBorisRad, relBorisRadVW, relBorisRadCyl, and relBorisRadCylVW available with a VSimPA license.
- Fixed issue where alsoAfterRestore was being set to True in the InitialUpdateStep blocks from the Visual Setup. It is now set to False for Electrostatic Phi Field InitUpdateSteps.
- Fixed implementation for simpleSec for both variable weight and constant weight electrons. A single emission probability p is specified. If constant weight, a single constant weight particle is emitted with probability p, or the primary is absorbed with probability (1-p). If variable weight, a single variable weight electron is emitted always, with weight reduced by a factor of p.
- Improved the VpGridBndry error message so that it is clear.
- Fixed issue where tolerance in AztecOO was never set if unspecified in .pre/.in file
- Improved the robustness of triangle absorbers when running in parallel on windows.
- Improved the output of Field Updaters, by increasing the support of the “output” attribute. If you set “output = none” inside a LinearSolver block of kind iterativeSolver, you will not see any output from the solver. You can also use “output = summary”, “output = last”, “output = warnings” and these are passed to the solver. Control of output through the verbosity is still supported as well.
- Added transparentBndry to the VSimMD license package. It was previously only in VSimPD.
- Fixed license issue that prevented speciesRmsDistToAxis and speciesRmsMomen being used.
- New Antenna Array with Single Excited Element example
- New Phased Array Antenna example
- New Visual Setup version of Electron Beam Driven Plasma example
- Added the ability to create Arrays of CAD Geometry. Individual parts of step files or stl files can be duplicated into rectangular arrays by right clicking and select “Create Array”. This function works just like Array creation with CSG Objects.
- Added the ability to perform boolean operations between CAD and CSG Geometry, as well as between CAD Objects. This can be used to provide modifications to an existing geometry or to simplify being able to set multiple CAD objects to a single Particle or Electrostatic Boundary Condition. This feature works just like boolean operations with CSG.
- Added support for Photon Emission Reaction. This reaction allows for relativistic electrons to emit a photon which is not tracked in the simulation, however the emission energy (weight) position, relativistic gamma (num photons) are recorded automatically in a history. Note that this reaction is incompatible with physics defined electron emitters (e.g. Child Langmuir), as well as particle loading from a file. The user will be prevented from running simulations with these features. The user may get to an undefined state if using secondary electron emission either into or from these species with other electron species.
- Added support for Initial Beam specification for use with electron beam driven plasmas
- Simple secondary emitters will now take an emission probability parameter, SEY curves were not properly used.
- Field at position histories now have a point representation in the setup window
- Accumulate Particle Boundary conditions can now be used with log histories
- Excitation Reactions can now use 2Column Data for cross section
- Fixed bug that prevented proper use of some more complexly organized .step files
- Allowed for imported CAD files that lead with a number (e.g. 15Pipe.stl)
- Fixed bug that prevented use of Combo Histories in electrostatic simulations
- Allowed use of all SpaceTimeFunctions in Neumann Boundary Conditions
- Fixed bug where variable weight neutral particles would have weight 0.
- Fixed bug where initial update step in electrostatic simulations was updating incorrect field. No impact on simulation results
- Corrected particles specification from the minimum electron temperature to the maximum electron temperature.
- Added safety factor added to automatic calculation of time step in particle simulations.
- Fixed bug in Fowler-Nordheim emission so that field enhancement property is correctly applied
- Improved robustness of importing STL files. Now double-checks whether STL files whose header indicates ASCII are actually ASCII, and clean it up to avoid problems with potential binary files. Fixed issue with distinquishing facet tag from solid tag.
- More user-friendly messages for when failing to import and use tables when importing an h5/vsh5 file.
- Added protection again user’s system language local settings interferring with reading of input files
- Improvements to Linux system information script to help diagnose system issues.
- Added the attribute includeCylVolElem to xvLoaderEmitters in cylindrical coordinates for inputs produced in Visual Setup. Removed the scaling done in the Visual Setup as it is now being done inside by composer (txgml).
- Added specification of default value of numPSBins in Visual Setup in order to suppress a warning in vorpal.
- Converted failing to findInsideCorner from warning to notice.
- Fixed bug where Dirichlet shape boundary conditions were not being created if the shape name itself started with a number.
- Fixed bug to ensure emissionProb variable is set properly for usage of secondary emitters when constant weight particles are used.
- New MacOSX Catalina security feature (notarization) supported.
- Improved robustness and user experience for non-UniCart grids.
- Fixed an issue where fields were not being interpolated correctly onto particles if the field overlap was larger than the underlying grid overlap.
- Corrected XvLoaderEmitter so that particles with zero weight (by default) are not loaded. Users can still use the loadZeroWeightPtcls flag.
- Improved accuracy and stability of cut-cell meshing algorithm especially for simulations with large number of MPI ranks (more than 10,000).
- Simplified XvLoaderEmitter parameters: useCornerMove = “false” is now entranceMove = “default” (or do not specify entranceMove); useCornerMove = “true” is now entranceMove = “corner”; useStairStepMove = “false” is now entranceMove = “default” (or do not specify entranceMove); and useStairStepMove = “true” is now entranceMove = “stairstep”
- Fixed unphysical assymetry in the binaryElastic and chargeExchange reactions.
- Corrected issue that prevented usage of scalars (time-dependent, spatially independent values) with linear solvers.
- Improved Histories so that syncing is more sophisticated and efficient.
- Expand the cases where feedbackMeasured Histories can be used.
- Added capability for initializing beam self-fields as particles are loaded. This simplifies the new linear algebra infrastructure
- Fixed an issue where particles could pass through a cut-cell boundary without being absorbed if the boundary coincided with a cell face.
- Reducing and clarifying output from simulations.
- Added support for tagged particles in cylindrical coordinates.
- The particle combination algorithm was improved to make the choice of final velocity quadrant more efficient and deterministic.
- Added Dey-Mittra field extrapolation for cut cells.
- Added support for speciesNumberOf and speciesNumberGener histories to be used with binary combination history.
- Improved the absorption/emission calcuations that affect long-running simulations.
- Deprecated VpPoissonUpdaterInput.
- Deprecated all EmField-based input as they have fully replaced by setup described by MultiField-based input.
- New VSimPD “Townsend Discharge” example.
- New VSimEM “Dipole Antenna” example.
- Replaced VSimEM Photonics exmaples with improved versions: Removed “Cylindrical Dielectric Fiber,” “Dielectric Waveguide Mode Calculation using Point Permitivity” (Visual and Text), “An example of modeling a Microring Resonator,” and “An example of extracting the mode of a Microring Resonator” and added “Multimode Fiber Mode Calculation,” “Multimode Fiber Mode Extraction,” “Multimode Fiber with Mode Launcher,” “Dielectric in Electromagnetics,” “Dielectric in Electrostatics,” and “Ring Resonator” examples.
- New VSimEM “Scattering off MIM Waveguide” example.
- New VSimMD “Vaughan Secondary Electron Emission” text-based example.
- New VSimMD “Laminar Brillouin Flow” text-based example.
- New VSimMD “Smith-Purcell Radiation (SPR)” example.
- New VSimPD “Penning High Intensity Ion Source” example.
- New VSimPD “Ion Source” example.
- New VSimPA “Dielectric Wall Wakefield Acceleration” text-based example.
- The “Laser Ionization” example was moved from VSimPD to VSimPA.
- The MIM Waveguide example was moved to the Photonics section and renamed drudeLorentzMIM.
- Removed text-based examples that have visual-setup equivalent examples.
- Particle Log Histories now make use of the kind speciesAbsPtclData2.
- Current Density field no longer needs to be explicitly added, but is only created if necessary for the simulation.
- Improved verification that electrostatic boundary conditions are not overlapping.
- Guard Cells properly created in “no field solver” and “prescribed fields” simulations.
- Improvements to specular boundary conditions preventing particles from being removed from the simulation.
- Improvements to selective processing.
- Performance improvements to feedback stfuncs.
- Corrected field ionization collisions in electrostatic simulations.
- Corrected emission offset property of particle emitters in cylindrical coordinates.
- Fixed Constant Weight Particles Particle Loader with physical density allowing the use of spatial profiles.
- Corrected calculation of time dependent external fields.
- Improved interpolation of fields for Prescribed Fields solver when multipacting.
- Field Scaling Electrons are now Constant Weight. Previously variable weights were used to index particle creation. This can now be accomplished with the Binning Feature of Visualization.
- Can now use all built in SpaceTimeFunctions when setting velocity of particle emitters. Note that if a built in function is used only global velocity coordinate systems can be used, and if used for the thermal velocity component a gauss function will not automatically be applied.
- Deprecated VSim GPU macros
There are 13 new analyzers in VSim 10.0:
- annotateSpeciesDataOnPlane.py: provides particles files corresponding to the data in the history
- compareFields.py: compares fields, outputting the difference field
- computeDielectricModes.py: computes the profiles and effective indices of guided modes
- computeFieldCrossProduct.py: performs a cross product of two different vector fields
- computeFieldMaxAmplitude.py: reads field data and writing the max amplitude to a history
- computeFieldRelIntensityHilbert.py: uses a Hilbert transform of the E field to obtain the time invariant E amplitude
- computeGradient.py: writes the gradient of a history into a new history
- computePtclBalance.py: plots the number of particles on each rank for small computations
- computePtclImpactSpectrum.py: generates particle number density, and macroparticle spectrum fields
- hfssToVsh5.py: converts an HFSS field files to a vsh5 file
- removePtclComponent.py: removes additional particle components
- truncateHistory.py: removes records from start and end in a scalar history
- writeCutCellField.py: puts the cut-and-kept and cut-and-excluded cells from a geometry into a separate field object
- Managed Weights “Macroparticles per cell for Combining” property can now be assigned constants and parameters.
- Addition of a Separable Current Distribution. This provides performance improvements but requires the spatial component and temporal component of the current distribution be specified separately. The spatial component may be specified using functions or an external field.
- Addition of External Mode Launching Field for electromagnetic simulations. This will import a 2D field generated by the computeDielectricModes analyzer and launch a mode from it with a defined temporal profile. The 2D field may be positioned anywhere in a 3D simulation. Note that in simulations with dielectrics the “D” field should be used in place of the “E” field.
- Addition of a flux conserving particle combination algorithm for managed weight particles.
- Addition of physical offset parameter to particle emitters, this can specify an emission location in physical distance rather than in grid cells.
- Allow particle log histories to be assigned any number of particle attributes.
- Addition of Plasma Dielectric Specification in electromagnetic simulations.
- Addition of Drude-Lorentz and Debye-Lorentz dielectrics in electromagnetic simulations.
- Particle Combination Histories now support any number of histories to combine.
- Specification of Time Variance in Prescribed Fields Simulations independent for Electric and Magnetic Fields
- Interior Partial Transmitter particle boundary conditions now support option to reflect non-transmitted particles
- Can now use .step files with restricted character names (:, -, >, = etc.)
- Can now set Field Scaling Particle Loaders with Grid alignment.
- Can now use all built in SpaceTimeFunctions when setting velocity of particle emitters. This includes external python functions.
- Improved saving run settings in simulation input files.
- Improved efficiency when opening large .stl files.
- Improved controls for visualization plots.
- Improved user experience with rerunning a simulation.
- Fixed issues with the setup tree interface.
A new reaction framework that has more and faster reactions was implemented. The speed of the new reaction framework comes from implementing the no-time-counter algorithm.
Previous reactions implemented with this new capability are
New reactions are
In addition, field ionization removes the ionization energy from the field.
One can now specify the species in fluid and particle blocks by element name, which sets the mass, charge, ionization energy, and excitation energy. Once a predefined species has been set, it is ready to be used within the rxn framework. In addition, these properties can be defined for a custom species with (species=custom) in the ptcl/fluid block. Further, one can still override the values for any species, e.g., select Hydrogen but set its ionization energy to be different from 13.8 eV.
The secondary emission process was generalized so that the impact of any species on a wall can lead to the emission of itself or any other species. (In the prior implementation, the allowance of secondary emission was determined by the order of appearance in the input file.) The user now has some control over secondary particles, including customizable weighting and tagging, as well as correlated secondary emission of multiple species.
Memory usage was reduced for electromagnetic simulations.
The computation of surface fields at boundaries was improved, making the motion of particles more accurate, even in cells that overlap the boundary.
Slab histories with reduced communication and memory usages were developed, enabling larger simulations on multi-core CPUs.
The methodology for second-order dielectric updaters with conformal boundaries and dispersion was developed and implemented.
Restarts were enabled for simulations with grid boundaries having cuts at domain boundaries.
All random processes can be controlled by a seed.
There are now emitter diagnostics that record individual particle data of emitted particles as well as sums and averages over all particles emitted in each time step.
More robust cut-cell absorption with optional diagnostics recording the absorption location, the surface normal at that location, and the exact time of absorption.
For variable weight particles, collisions now demonstrate the correct collision frequency based on the supplied cross-section (with version 9.0.1)
All analyzers updated to a common interface to reduce the need to look up certain individual properties.
Custom analyzer development was simplified through restructuring so that basic services (file reading, options) flow automatically.
New analyzers:
The following analyzers were removed:
The input file is now generated more quickly. Status messages have been expanded to give more detail. The Run Panel was restructured to allow all parameters to be visible at once, and to show the VSim recommendation for certain parameters, such as the time step. The Analyze Panel was restructured to allow several analyzers to be open at once, with separate output windows for each.
Visual Setup generalized to allow easier specification of many simulation parameters:
The documentation was rewritten and expanded. There are now five manuals, VSim Installation, VSim User Guide, VSim Examples, VSim Customization, and VSim Reference. The User Guide contains an extensive section on the basic concepts of simulation.
VSim examples contains many new examples, in particular concerning photonics and plasma discharges. In detail:
One example was removed (advancedDipoleAboveConductingPlane.sdf).
Installers and installations reduced in size.
The following features are new or have been updated for the 8.2.0 release.
The following features are new or have been updated for the 8.1 release.
- Scattering processes added for antimony (Sb), including electron-electron scattering
- Added transport and emission from antimony (Sb) using the density of states
- Added model to specify percentage of specular and diffusive emissions
- Added Species kind “bandSpeciesES” to the VSimSD license
- Fixed issues with several command-line arguments including -h and –help
- Improved warnings when improper values are given for simulation parameters
- Fixed issue with line dumping without a name
- Fixed issue where all 3 components of deltaAtBreaks were not checked to determine if the grid is uniform
These examples now have Visual Setup:
- A Loop Antenna created from a coaxial cable (VSimEM)
- Horn Antenna (VSimEM)
- Patch Antenna Far Field (VSimEM)
- Rectangular Waveguide (VSimEM)
- Electron Gun (VSimMD)
- Gyrotron Mode (VSimMD)
- Helix Traveling Wave Tube 1: Dispersion (VSimMD)
- Helix Traveling Wave Tube 2: Impedance and Attenuation (VSimMD)
- Helix Traveling Wave Tube 3: Power Run (VSimMD)
- 2D Magnetron (VSimMD)
- Multipacting Resonance in Waveguide (VSimMD)
- Multistage Collector (VSimMD)
- 3D Stripline Multipacting (VSimMD)
Other example features include:
- Updated examples to take advance of new macro functionality
- Added the numerical Cerenkov filter option to EM examples
- Improved Photonic Crystal examples
- New macro to allow numerical Cerenkov filters in Visual Setup as a parameter of the field solver
- New macro, stfuncs.mac, to handle built-in Space-Time functions including Python file import and feedback
- Added support to set localVelocity parameter off of shape emitters
- Updated the reflecting particle boundary macros to handle rails and corners
- Added history to let user set pseudoPotential by coordinates in addition to via grid index
- Added support for secondary emitters to test particles
- Added support to simplify creation of rectangular and coaxial waveguides
- Added pipe primitive
- Fixed issue with HalfWave Dipole Antenna failing on GPU
- Fixed several issues dealing with handling of cylindrical coordinates
- Improved performance of filters macro
- Improved embcs.mac and VSimEm.mac for a faster implement of MAL boundaries
- Improved particles.mac (support for particle species loader with repeat loading)
- Removed unused macros, unnecessary parameters, and cleaned up referenced inside macros
- Fixed several issues with histories.mac for logging of ptclQty and speciesAbsPtclData
- Fixed issue with parallel restarts on Win10 with CAD geometries
- Fixed issue with specifying name of external magnetic fields
- Better handling of global variables in macros
- Improvements to data analysis executables
- New analyzer, exportSpecies.py, that exports a particle species to a text file or sequence of text files
- New analyzer, getFieldComponentsOnPlane.py, to get field components on a plane
- Updated the computePtclNumDensity.py analyzer to perform spatial averaging
- Improved addPtclComponentKEeV.py, fixing a bug involving mismatched components after multiple runs, adding check on restart, executing dump files in numerical order, better specifying of KEeV, KEeVx, KEeVy, or KEeVz, all in one script
- Improvements to tree-based/visual setup
- Fixed issue in visual setup of current sources, changing field specified from E-Field to a proper J-Field
- Better handling of Space-Time functions in Visual Setup tree
- Added support for Field Scaling Electrons
- Improved Constructive Solid Geometry tessellation and meshing for geometry primitives
- Improved speed of Visual Setup rendering
- Added support for geometries described by Python functions
- Improved expression handling in Visual Setup tree
- Fixed issues with certain plots incorrectly displaying in Visualization Tab
- Fixed automatic scrolling issues in Run and Analyze Tabs
- Added support for scaling and translation of STL files
- Added support for all macro changes above in Visual Setup tree
- Fixes issues with resizing of the grid
- Improved usability and robustness of Visual Setup tree interface
- Improved wildcard searching in Documentation/Help
- Improved searching with omitting terms with minus sign in Documentation/Help
- Reduced the verbosity of search results in Documentation/Help
- Added instructions on searching in Documentation/Help
- Improved navigation in sidebar contents in Documentation/Help
- Fixed issue with equation rendering speed in Documentation/Help.
- Improved appearance of overall Documentation/Help formatting
- Improved documentation of Visual Setup
- Over 50 use issues fixed.
- Remote VSimComposer does not work
- Windows Cluster support was lost with upgrade to MPI on windows needed for certain simulations.
- EM Cylindrical not implemented for visual setup
- Occasionally, for parallel runs, the stl reader can spuriously set some regions outside of objects to being inside. When this happens, it is manifest in the visualization of the corresponding geometry field in Data Overview. In all cases observed so far, this has been fixed by offsetting the grid a small amount, changing the number of cells, and/or changing the number of parallel processes.
The following features are new or have been updated for the 8.0 release.
- New package: VSim for Semiconductor Devices for modeling electron transport in diamond or Gallium Arsenide
- Fast dielectric algorithm can take multiple dielectrics assigned to multiple shapes
- Windows Cluster Support with graceful shutdown of job
- Automatic detection of GPU acceleration
- Ability to use cross-section data files from a user definable location
- 17+ new simulation object kinds (including Species, Particle Sources/Sinks, Emission Models, Histories, Field Updaters, Grids, Grid Boundaries, and Domains)
- Improved reliability of fast electrostatic solves on Linux
- Charge Carrier Dynamics in Diamond (VSimSD)
- Electron Transport in GaAs (VSimSD)
- MESFET Device (VSimSD)
- Metal Schottky Contact and Transport in Diamond (VSimSD)
- Transport and Emission in Diamond (VSimSD)
- Electron Emission in GaAs (VSimSD)
- Langmuir Probe (VSimPD)
- Turner Plasma Discharge, Case 2 (VSimPD)
- Electron Gun (VSimMD)
- Half-Wave Dipole in Free Space (VSimEM)
- Linear Phased Scanning Array (VSimEM)
- Gaussian Laser Beam and Photonic Crystal Cavity (VSimEM)
- Dipole Source and Photonic Crystal Cavity (VSimEM)
- Scattering off Multiple Objects (VSimEM)
- Drude-Lorentz Metal-Insulator-Metal Waveguide (VSimEM)
- Spherical Lens (VSimEM)
- Halfwave Antenna (VSimBase)
- Cylindrical Capacitor (VSimBase)
- Macros standardized and simplified
- Ability to use macros from a user definable location.
- VSim now comes with more than 30 data analysis executables.
- Standardization of all analyzers so that user defined input will show up as entry boxes.
- Easy, configurable tree-based/visual setup for many problems
- Ability to import materials from a file.
- Easily switch between different simulation types (electrostatic, electromagnetic, with or without particles) with GUI adapting to the selection.
- Import CAD objects from multiple formats (step, stl, ply, vtk) and set materials of those objects
- Multiple Geometry shapes can be visually added to simulation.
- Ability to define parts through constructive solid geometry.
- Ability to define expressions and parameters and use those in defining the simulation.
- Ability to assign materials to parts, regardless of how they were imported or constructed.
- Minimize data reloading during visualization.
- Uniformization of output across all platforms.
- Multiple simulations can be saved to one directory.
- Over 373 use issues fixed.
- Remote VSimComposer does not work
- EM Cylindrical not implemented for visual setup
- Occasionally, for parallel runs, the stl reader can spuriously set some regions outside of objects to being inside. When this happens, it is manifest in the visualization of the corresponding geometry field in Data Overview. In all cases observed so far, this has been fixed by offsetting the grid a small amount, changing the number of cells, and/or changing the number of parallel processes.
The following engine features are deprecated as of the VSim 8.0.0 release and may no longer be supported in future releases of VSim: