Release Notes

Changes from 6.4.6 to 6.4.7 [2024-11-28]

  • Improved features
    • JCMsolve: GridStatistics post process now calculates inertia tensors for domains.
  • Bug fixes
    • Fixed issue in ordering of multiple derivative parameter names when loading certain meshes.

Changes from 6.4.5 to 6.4.6 [2024-11-21]

  • Bug fixes
    • JCMlicenseServer lost instances when multi-node computation requested more instances than available
    • Floating point overflow in vector spherical harmonics computation fixed when computation quotient of large factorials.
  • Improved features
    • JCMlicenseServer: Withdrawal of licenses by non-administrator user (password protected)

Changes from 6.4.4 to 6.4.5 [2024-11-06]

  • Bug fixes
    • JCMgeo: Hanging mesh generation fixed when serveral curves overlaps.

Changes from 6.4.3 to 6.4.4 [2024-10-28]

  • Bug fixes
    • JCMgeo: broken Windows installation

Changes from 6.4.1 to 6.4.3 [2024-10-18]

  • Bug fixes
    • JCMgeo: Priorities of 3D primitives not treated correctly
    • JCMgeo: Periodicity markers in PeriodicUnitCell fixed

V6.4.2 withdrawn

Changes from 6.4.0 to 6.4.1 [2024-08-29]

  • Improved features in JCMsolve:
    • Faster cartesian export of fields.
  • Improved features in JCMgeo:
    • Improved meshing for extrusion geometries with rounding/smooth dependence in z-direction.
    • Corner roundings now support concave options.
  • Bug fixes
    • JCMsolve: Fixed issue in FourierTransform for periodic setups without source files.
    • JCMgeo: Fixed glueing of Extrusions defined by PeriodicUnitCell primitives.
    • JCMgeo: In some cases of valid geometry inputs JCMgeo aborted with error message Error in tetrahedralization: self-intersection was detected.
    • Python interface: improved handling of keys with scalar types in resultbags.

Changes from 6.2.1 to 6.4.0 [2024-08-02]

  • Improved features in JCMgeo:
    • Improved meshing for extrusion geometries with rounding/smooth dependence in z-direction.
  • Bug fixes
    • JCMview: Fixed visualization for bent waveguide coordinate systems (introduced in 6.2.0)
    • JCMsolve: Fixed issue for mirror symmetric problems when solving for magnetic fields.
    • JCMdaemon: Fixed issue parsing dependencies for eigenmode calculuations introduced in 6.2.1

Changes from 6.2.0 to 6.2.1 [2024-06-18]

  • Bug fixes
    • Post process IntegrationWeights Requested field values were not exported.
    • JCMdaemon: Option CmdLineArgs in SLURM queue interface was ignored.
    • Python interface fixed for Python V3.12.

Changes from 6.0.10 to 6.2.0 [2024-05-17]

  • New features in JCMsolve:
    • Post-process to determine analytical solutions for multilayer/layered-media type problems
  • Improved features in JCMgeo:
    • Textures on LayerInterfaces are now more flexible and are allowed to protrude into adjacent layers provided they are not intersecting.
  • JCMsuite’s Python distribution is updated to version 3.10
    • Includes newer versions of python packages such as numpy, matplotlib, scipy among others.
  • Changed column names of matrices in ScatteringMatrix output table for better handling in scripting languages.
  • Fixed integral suffixes for overlap integrals in density expression defined by Python scripting
  • Matlab: jcmwave_loadtable now reads overlap integrals as matrices.
  • Python: loadtable now correctly reads Mueller/Jones matrices from the ScatteringMatrix post-process as matrices instead of dicts.
  • Bug fixes
    • treat complex frequencies in Multipole illumination correctly
    • fixed issue in cartesian export for Bloch-periodic simulations outside the computational domain
    • Priority=Anchor fixed in BooleanOperation
    • fixed issue in CurvedSegment intersection

Changes from 6.0.9 to 6.0.10 [2024-01-09]

  • Mesh refinement fixed for 3D periodic problems
  • Post-process to export integration points and weights on finite element mesh along with requested field values.

Changes from 6.0.8 to 6.0.9 [2023-11-22]

  • Fixes within JCMdaemon (Adding remote computer resources might fail)

Changes from 6.0.7 to 6.0.8 [2023-11-01]

  • Python interface: daemon interface failed to pass float parameters

Changes from 6.0.6 to 6.0.7 [2023-10-10]

  • HTML documentation didn’t show mathematical expressions on Windows.
  • Installation process revised. Expecting curl to be installed on user system for license management.
  • Bug fixes
    • Fixed an issue where the DomainId was not set correctly for 3D objects.
    • Key/Value substitution error for complex matrices in Python fixed.

Changes from 6.0.5 to 6.0.6 [2023-09-18]

  • Bug fixes
    • Bug fix for 3D geometries with multiple extrusions of 3D object constructions. JCMgeo failed for some cases with error message “Extrusion geometries can’t be merged at interface z=…”
    • Corner rounding fixed for relatively aligned objects.

Changes from 6.0.3 to 6.0.5 [2023-08-28]

  • Bug fixes
    • Bug fixed for periodic problems. The bug did not lead to a crash or program abortion but affected the quality of the solution. (bug appeared in 6.0.0)

Changes from 6.0.2 to 6.0.3 [2023-08-23]

  • Bug fixes
    • Cartesian exports of far field fourier transform were potentially corrupted for periodic geometries when only two or three diffraction orders were present (bug appeared in 4.6.0)

Changes from 6.0.1 to 6.0.2 [2023-08-16]

  • Bug fixes
    • Fix in 3D mesh generation with periodic boundary condition (bug appeared in 6.0.0)

Changes from 6.0.0 to 6.0.1 [2023-07-05]

  • Bug fixes
    • 3D mesh generation with curvilinear surfaces failed (bug appeared in 6.0.0)
    • Out-of-core support fixed when used within Matlab/Python for computer clusters or slurm queues

Changes from 5.4.3 to 6.0.0 [2023-22-06]

  • New features in JCMsolve:
    • Light scattering off semi-infinite edge geometries
    • JCMsuite includes a new license server for floating instances
    • JCMgeo: significant speed up for geometries with many objects defined
    • Faster loading of large grids.
  • Bug fixes
    • Fixed issue with dispersive materials in PropagationMode setups.
    • Fixed threading issue in coherent mode in OpticalImaging post process.
    • More stable PML construction for CAD geometries.
    • Fixed issue in PowerFluxScaling if used with BlochFamily.
    • Fixed Cartesian field export for twisted fiber geometries.

Changes from 5.4.2 to 5.4.3 [2023-03-09]

  • New features in JCMsolve:
    • New post process IntegrationWeights provides convenient access to the integration nodes and weights for a given mesh.
  • Bug fixes
    • Fixed issue with iterative refinements in MUMPS interface for setups with mirror symmetries.

Changes from 5.4.1 to 5.4.2 [2023-01-06]

  • Bug fixes
    • JCMview: automatic reload of data fixed (bug appeared in V5.4.1)
    • JCMoptimizer startup failed due to interferences with local Matplotlib environments.

Changes from 5.4.0 to 5.4.1 [2022-12-21]

  • New features in JCMsolve:
    • Coherent source superposition in OpticalImaging. This allows to form images of coherent beams from a plane wave sampling of the illumination pupil.
  • New features in JCMdaemon:
    • Account parameter added as option for queue (SLURM) resources.
  • New features in JCMview:
    • Simplified selection of domains in the geometry view.
    • Allows now for multiple geometry/grid views.
    • Saving and loading of entire JCMview scene.

Changes from 5.2.4 to 5.4.0 [2022-11-11]

  • New features in JCMsolve:
    • JCMsuite now allows to convert between FourierTransform and FarField representations
  • Improved features in JCMsolve:
    • PupilFields in the OpticalImaging are now restricted to the continous part of the spectrum and use improved interpolation
  • Bug fixes:
    • Dongle license support fixed on Linux
    • JCMoptimizer: option parameter_uncertainties fixed.
    • Python: Matplotlib support fixed for bundled python package.

Changes from 5.2.3 to 5.2.4 [2022-10-11]

  • Bug fixes JCMsolve:

    • Random crashes on Windows fixed

    (crashes occured while program startup when using node locked licenses)

Changes from 5.2.2 to 5.2.3 [2022-09-30]

  • Bug fixes JCMsolve:
    • Performance regression on Windows (approximatly slow down of factor 2, appeared in V5.2.1)

Changes from 5.2.1 to 5.2.2 [2022-09-22]

  • Bug fixes JCMsolve:
    • Bug fix in adaptive mesh refinement fixed for 3D geometries.
  • New features:
    • USB hardware dongle licensing.

Changes from 5.2.0 to 5.2.1 [2022-08-10]

  • Bug fixes JCMsolve:
    • Computing ElectromagneticFieldAbsorption in post process DensityIntegration fixed (bug appeared in V5.2.0)
    • Meshing generation failed when project path contains blanks (bug appeared in V5.2.0)
    • Python Jupyter notebook support fixed for Windows.
    • Python module jcmwave.daemon fixed for Python V>=3.10
    • Memory leakage fixed when solving with MUMPS sparse LU solvers on AVX512 processors.
  • New features:
    • Non-intersecting textures can now be stacked closely together.

Changes from 5.0.2 to 5.2.0 [2022-07-08]

  • New features:
    • Support for MUMPS sparse LU solver. MUMPS is now the default sparse LU solver for distributed computation (one project solved on cluster of multiple computer nodes)
    • Slurm queue interface within Matlab/Python extended for cluster solver support.
  • Bug fixes JCMsolve:
    • Post-process ModeOverlap produced wrong results.
    • Electromagnetic field absorption computation fixed for chiral materials

Changes from 5.0.0 to 5.0.2 [2022-02-21]

  • Installation of Python distribution fixed
  • Bug fixes JCMgeo:
    • Corner refinements were missing for structures created as lattice copies.
    • Normal refinements were not properly constructed in general.

Changes from 4.6.2 to 5.0.0 [2022-01-03]

  • New features:
    • Support of general bi-anistropic materials in Maxwell’s equations.
    • Improved cluster memory balancing for distributed computations (one task/problem is solved on a parallel computer cluster).

Changes from 4.6.2 to 4.6.3 [2021-08-13]

  • Bug fixes JCMsolve:
    • fixed issue in solving large systems introduced in 4.6.0

Changes from 4.6.1 to 4.6.2 [2021-08-05]

  • New features:
    • CurvedSegments are now supported in polygonal primitives in JCMgeo
  • Bug fixes JCMgeo:
    • fixed issue in self-intersection test for polygons
    • fixed issue in setting MeshOptions for MultiLayers

Changes from 4.6.0 to 4.6.1 [2021-06-03]

  • Bug fixes JCMgeo:
    • fixed corrupted derivatives for multiple geometric parameters
  • Bug fixes Matlab interface:
    • daemon scripts failed within jcmwave matlab package

Changes from 4.4.5 to 4.6.0 [2021-05-31]

  • New feature in JCMview: pseudo-color plots of fields on material interfaces

Changes from 4.4.4 to 4.4.5 [2021-05-18]

  • Bug fixes JCMgeo:
    • z-extrusion dependent object alignment fixed.

Changes from 4.4.2 to 4.4.4 [2021-04-19]

  • Bug fixes JCMgeo:
    • wrong local mesh constraints ignored

Changes from 4.4.0 to 4.4.1 [2021-04-07]

  • Improved features in JCMsolve:
    • introduced compatibility check of ModeFile and Fieldbag in computation of mode overlaps for Bloch-periodic setups
    • resonance computations in dispersive media now works with curvilinear finite elements

Changes from 4.2.1 to 4.4.0 [2021-03-10]

  • JCMsuite’s Python distribution is updated to version 3.9
    • Includes newer versions of python packages such as numpy, matplotlib, scipy among others.
  • Improved features in JCMsolve:
    • faster computation of mode overlaps
    • better filtering of degenerated resonance/propagation modes at lower accuracy settings
  • Bug fixes JCMsolve:
    • fixed threading issue in exports on cartesian grids.
    • fixed an issue preventing the computation of self-overlaps of mode fields
  • Improved features/Bug fixes JCMgeo:
    • Several bug fixes, performance improvements and improved meshing quality for glued/stacked extrusion geometries.
    • JCMgeo now warns the user if the results in an GDS import is empty.
  • Bug fixes Matlab/Python interface:
    • improved handling of keys in resultbags. Added functionality to remove results directly.
    • improved/safer treatment of file handles
  • New and improved features of the analysis and optimization toolkit:
    • New driver for sensitivity analysis (PCESensitivityAnalysis)
    • New driver for parameter reconstruction and global uncertainty quantification (PCELeastSquare)
    • New driver for parameter reconstruction and local uncertainty quantification (BayesLeastSquare)
    • Improved performance for optimizing noisy objective functions using the BayesOptimization driver
    • New more memory efficient format for saving study histories. Previously created .mpk files can only be opened with the previous JCMsuite versions!

Changes from 4.2.0 to 4.2.1 [2020-10-27]

  • Improved features:
    • Automatic resetting of resultbag in Python/Matlab disabled when changing project template files in order to prevent data losses.
  • Bug fixes Matlab:
    • JCMoptimizer/JCMdaemon: call to gather_results/wait4any fixed
  • Bug fixes JCMgeo:
    • JCMgeo crashed for larger numbers of layers in extrusion geometries.

Changes from 4.0.4 to 4.2.0 [2020-09-11]

  • Improved features:
    • JCMsolve now supports exporting fields on affine transformed cartesian geometries
    • JCMsolve now supports exporting fields outside the computational domain in Bloch-periodic setups on cartesian grids.
    • JCMcontrol support for project parametrization
    • Support of mapped network paths in Windows
  • Installation issues fixed for some Linux systems
  • Bug fixes Matlab/Python interface
    • JCMoptimizer startup fixed
  • Bug fixes JCMsolve
    • Curvilinear mesh generation for CAD objects fixed

Changes from 4.0.1 to 4.0.4

  • Bug fixes Matlab interface
    • JCMdaemon support broken in V4.0.0
  • Bug fixes Python interface
    • wait any option fixed in jcmwave.daemon.wait

Changes from 4.0.0 to 4.0.1

  • Bug fixes in JCMsolve:
    • Fixed bug for plane wave scattering off periodic structure with curvilinear meshes
    • Cartesian field export fixed (bug appeared in V4.0)
  • Bug fixes in JCMgeo:
    • Texture interfaces has been ignored in random cases.

Changes from 3.18.10 to 3.18.14

  • New features:
    • JCMsolve now supports illuminations by vector spherical wave functions.
    • JCMsolve automatically detects unsupported mirror symmetry modes and suppresses assembly and solution for these.
    • JCMview allows to animate vector fields and export short clips.
  • Improvements in JCMcontrol:
    • Stability and syntax highlight improved
  • Improvements in JCMgeo:
    • JCMgeo supports SREF objects in GDSII files.
  • Bug fixes in JCMsolve:
    • Fixed bug in coupling to LayeredMedia for out-of-plane propagation.
    • Fixed bug in refinements of exterior domain for isolated problems.
    • Fixed bug for pyramidal grids.

Changes from 3.18.9 to 3.18.10

  • Changes in JCMsolve:
    • The Python definition of electromagnetic sources now requires to set Omega in the source file. The previous setting in the project file is now obsolete. Similarly, the BlochVector must also be defined in periodic geometries.
  • Bug fixes in JCMsolve:
    • Fixed a bug in the auto-detection of the BlochVector for Python definitions.

Changes from 3.18.8 to 3.18.9

  • Improvements in JCMsolve:
    • The polarization convention in the ScatteringMatrix post process can now be chosen.
  • Bug fixes in JCMsolve:
    • ElectromagnetFieldAbsorption can be computed also in non-lossy domains
  • Improvements in JCMgeo:
    • The Polygon now checks for orientation of the input chain and throws an error if orientation is not counter-clockwise.
    • The helix construction is now more stable with spherical caps.
  • Bug fixes in JCMgeo:
    • MaximumSideLength now works in Layout1D

Changes from 3.18.7 to 3.18.8

  • Bug fixes JCMgeo:
    • GDSII was not imported when using relative path and starting JCMgeo not in project folder.

Changes from 3.18.5 to 3.18.6

  • Bug fixes JCMsolve:
    • Incoming plane wave source yielded wrong results for isolated geometries when defined in sigma-coordinates.

Changes from 3.18.4 to 3.18.5

  • Bug fixes JCMsolve:
    • PML parameter StartThicknessLevel had no effect when used in combination with MaxThicknessSteps.

Changes from 3.18.1 to 3.18.4

  • Bug fixes JCMsolve:
    • Plane wave source: Perpendicular incidence defined by sigma-coordinates produced wrong error message (appeared in 3.18.1)
  • Bug fixes JCMdaemon:
    • Some input dependencies erroneously ignored when determining up-to-date status.

Changes from 3.18.0 to 3.18.1

  • Bug fixes JCMsolve:
    • Field flux integration at interior/exterior interface fixed, when exterior domain has different DomainId than adjacent interior domain (bug appeared in 3.16.0)
  • Bug fixes JCMgeo:
    • Fix for periodic boundary condition when a structure intersects computational domain boundary only on one side of the periodic boundary (bug appeared in 3.18.0)

Changes from 3.16.2 to 3.18.0

  • New features:
    • JCMsuite’s Python distribution is updated to Python 3.6.5.
    • A new version of JCMgeo supporting 3D geometrical primitives and more flexible meshing algorithms is included as a beta version.
    • The design of JCMsuite’s documentation is now responsive and includes a tutorial for the new meshing features.
  • Removed features :
    • Documentation in PDF format is discontinued.

Changes from 3.16.0 to 3.16.2

  • Installation of JCMoptimizer fixed
  • JCMview: Using log10 for logarithmic plots

Changes from 3.12.14 to 3.16.0

  • New features:
    • Optimiziation framework added (usage from Python and Matlab)
    • added estimator for memory requirement of linear system solver
  • Improvements in JCMsolve:
    • improved time estimates for linear solver
  • Bug fixes JCMsolve:
    • fixed bugs in handling of extremely large matrices
    • Resonance mode computation: Fix for multiple dispersive domains.

Changes from 3.12.12 to 3.12.14

  • New features JCMsolve:
    • added “NonLinearPolarization” definition to compute second harmonic generation as an electric current density
  • Removed features JCMsolve:
    • removed export in Amira format
  • Improvements in JCMsolve:
    • improved error message in case of missing material definition
    • much faster input parsing for long point lists
  • Bug fixes JCMsolve:
    • fixed a bug in C-API function JCMWriteData on Windows

Changes from 3.10.11 to 3.12.12

  • Bug fixes JCMsolve:
    • fixed a bug in C-API function JCMWriteData when file contains binary and ASCII data

Changes from 3.12.10 to 3.12.11

  • Bug fixes JCMsolve:
    • Parameter TargetNA in Accuracy section of scattering problem had no effect.

Changes from 3.10.9 to 3.12.10

  • Bug fixes JCMsolve:
    • Cross section flux integration fixed when surface normal was not in z-direction (e.g. when surface was extracted from a 3D geometry).
  • minor fixes and improvements for JCMcontrol and JCMview

Changes from 3.10.8 to 3.12.9

  • Bug fixes JCMcontrol:
    • Crashes in auto-completion mode (bug appeared in V3.12.8)

Changes from 3.10.7 to 3.12.8

  • New features JCMgeo:

    • Support for periodic boundary conditions in vertical direction for 3D extrusion layouts.
  • Bug fixes JCMsolve:

    • Mode overlap computation produced wrong results for problems with geometrical symmetries.
  • Bug fixes JCMgeo:

    • Face extraction may have failed when origin was not within computational domain.

Changes from 3.10.6 to 3.12.7

  • Bug fixes JCMsolve:
    • FFT based Fourier transform lead to abortion for extremely large computational domains.

Changes from 3.10.5 to 3.12.6

  • Bug fixes JCMsolve:
    • Flux integration fixed for problems with geometric symmetries.

Changes from 3.10.3 to 3.12.4

  • Bug fixes JCMview:
    • vector plots for Cartesian fieldbags fixed (bug appeared in 3.12.0)

Changes from 3.10.0 to 3.12.3

Linux installation fixed for legacy Intel platforms.

  • Bug fixes JCMsolve:
    • Crashes of resonance mode solver fixed (appeared when simulating dispersive media together with mode filtering)

Changes from 3.10.8 to 3.12.0

Redesign of JCMcontrol.

Warning

Linux version now requires glibc version 2.12 or later.

  • Bug fixes JCMsolve:
    • Significant speedup of Cartesian field export

Changes from 3.10.7 to 3.10.8

  • New features JCMsolve:
    • Resonance expansion post-process:
      • Switch between mode expansion coefficient table and fieldbag output.
      • Projection of mode expansion to subset of modes.

Changes from 3.10.6 to 3.10.7

  • New features JCMsolve:
    • Optional restriction of field export post-process to specified domains

Changes from 3.10.5 to 3.10.6

  • Bug fixes JCMsolve:
    • Several bug fixes for heat conduction and continuum mechanics solver

Changes from 3.10.4 to 3.10.5

  • New features JCMsolve:
    • New optional parameter ChiefRay for FourierTransform postprocess.
  • Bug fixes JCMsolve:
    • FFT based FourierTransform was not working on Windows.
    • ModeFiltering for resonance mode problems

Changes from 3.10.3 to 3.10.4

  • Installation problem on Windows fixed: impi.dll was missing in the package
  • Python interface:
    • solve.py did not work when file patterns were used

Changes from 3.10.2 to 3.10.3

  • Bug fixes Python package:
    • NumPy routine arctan2 (and related) produced wrong results

Changes from 3.10.1 to 3.10.2

  • New features JCMgeo:
    • Geometric primitive super-ellipse
  • New features JCMsolve:
    • support of magnetic line/point sources
  • Bug fixes Matlab interface:
    • error messages when using embedded scripting were corrupted.
  • Bug fixes JCMsolve:
    • solver crashes for density integration close to dipole sources.

Changes from 3.8.2 to 3.10.0

  • Bug fixes JCMsolve:
    • Adaptive refinement loop revised:
      • Convergence monitoring during refinement loop.
      • Choice between mesh refinement and order increasement for as refinement loop.
      • Default refinement strategy for scattering and resonance mode problem is “PUniform”
    • Deprecated input no longer supported: Refinement section must be placed in parent section Accuracy.
    • Improved numerical stability for high accuracy demands.

Changes from 3.8.1 to 3.8.2

  • Bug fixes JCMsolve:
    • Computing of mode coupling for problems with dipole sources fixed

Changes from 3.8.0 to 3.8.1

  • Bug fixes Matlab interface:
    • error messages when using embedded scripting were corrupted when using Matlab 2016
  • Bug fixes JCMview:
    • Carpet view was pixelated at mesh triangle interfaces.
  • Bug fixes JCMsolve:
    • Coupling of waveguide mode fixed, when mode geometry was extracted as a surface port
    • Fix for onefold-periodic dipole sources

Changes from 3.6.1 to 3.8.0

  • New features JCMsolve:
    • Support for dispersive media (Drude, Lorentz, Debye models) for resonance mode solver
    • New post-process “ResonanceExpansion”
    • Revised interface for waveguide mode coupling
    • New format for derivatives in tables imported within Matlab. Old format with concatenated name (d_<parameter>_<field>) exceeded occasionally Matlab’s maximum length constraint for field names of a structure. Derivatives now appear in separated sub-structures (d_<parameter>.<field>).
    • Interface changed for mode computation (resonances and propagating) with mirror symmetries: Use now ElectricSymmetric and MagneticSymmetric to specify mode symmetry type.
    • New format for scattering matrix (including bugfix for isolated problems)
  • New features JCMgeo:
    • Revised interface for face extraction: SurfaceExtraction replaced with ExtractSurface
  • Bug fixes JCMsolve:
    • Problems with threefold mirror symmetries fixed.
    • Propagating mode solver: crashed when mode filtering was active
    • Propagating mode solver: search range definition was not functioning for bent waveguide
    • Resonance mode solver: constant flux model was not functioning

Changes from 3.6.0 to 3.6.1

  • Bug fixes JCMsolve:
    • second order parameter derivatives corrupted in Fourier transform (bug appeared in 3.6.0)
  • Bug fixes JCMview:
    • random crashes on Linux fixed when started from the console

Changes from 3.4.2 to 3.6.0

  • New features JCMsolve/JCMgeo:
    • Support for mirror symmetries
  • Bug fixes JCMsolve:
    • Definition of a source by a coherent sum of plane waves produced wrong results for cylinder symmetric problems.
    • CPU-binding fixed on Windows

Changes from 3.4.1 to 3.4.2

  • Bug fixes JCMsolve:
    • Possible crash for mode overlap computation in the presence of dipole sources.

Changes from 3.4.0 to 3.4.1

  • Bug fixes JCMsolve:
    • Crash for cylindrical scattering problem after PML refinements

Changes from 3.2.0 to 3.4.0

  • New features JCMgeo:
    • Geometry definition by Bitmap. Can be used in combination with height extrusion to simulate binary gratings.
  • New features JCMsolve:
    • orthonormalization of propagating eigenmode sub-space based on complex Poynting-vector generalized scalar product
    • revised post-process ModeOverlap: table output format has changed.
  • Bug fixes JCMsolve:
    • Computation of holomorphic field integrals fixed for cylinder-symmetric problems

Changes from 3.0.18 to 3.2.0

License installation process simplified, (see installation.jcmwave.com, where you also can download JCMsuite).

  • Bug fixes JCMsolve:
    • Sign for imaginary part of magnetic field energy density fixed.

Changes from 3.0.16 to 3.0.17

  • New features JCMgeo:
    • 3D extrusion layouts: Parameter OffsetZ has been replaced by GlobalZ. GlobalZ allows to reset the global z-position at any layer interface.
  • New features JCMsolve:
    • Parameter PlaneWave/Direction has been replaced by PlaneWave/Incidence
  • Bug fixes JCMsolve:
    • Fourier transform for problems with dipole/line sources terminated with an error message.

Changes from 3.0.15 to 3.0.16

  • Bug fixes JCMgeo:
    • Wrong shape derivatives for extrusion layouts with oblique sidewall angles.

Changes from 3.0.14 to 3.0.15

  • New features
    • Improved runtime behaviour of error estimation phase.
    • Support for CPU affinity
  • Bug fixes JCMsolve:
    • Corrupted results for electromagnetic scattering problems when PML was refined adaptively. (This bug appeared in V3.0.14)

Changes from 3.0.13 to 3.0.14

  • New features
    • Improved runtime behaviour for dipole source problems (shorter assembling phase)
  • Bug fixes JCMsolve:
    • Unstable results for 2D scattering problems in in the presence of small (much smaller than the wavelength) mesh triangle.

Changes from 3.0.12 to 3.0.13

  • Bug fixes JCMsolve:
    • Crashes on Windows for estimating local error. MSVC Compiler updated.

Changes from 3.0.11 to 3.0.12

  • Bug fixes JCMview:
    • Vector field view on Cartesian fieldbag caused crash of JCMview.

Changes from 3.0.10 to 3.0.11

  • Bug fixes JCMgeo:
    • On Windows: Incorrect treatment of sidewall angles for extrusion geometries.

Changes from 3.0.9 to 3.0.10

  • New features
    • Radiation postprocess to compute far field energy flux through apertures.
    • Tag AddSingularFields removed for field exports and integration post-processes. Dipole and line sources now always yield the total (singular) field in the interior domain.
    • Significant runtime improvement of Cartesian field exports,
  • Bug fixes JCMsolve:
    • Fourier transform in lower half space for rotationally symmetric problems fixed.
    • Illumination derivatives fixed for 2D geometries.

Changes from 3.0.8 to 3.0.9

  • New features
    • FarFieldEvaluation renamed to FarField
  • Bug fixes JCMsolve:
    • Shape derivatives fixed for 2D geometries.
    • Fourier transform in lower half space for rotationally symmetric problems fixed.
  • Bug fixes JCMgeo:
    • Local mesh constraints were not active for Multilayer primitives.
  • Bug fixes JCMview:
    • Running coordinates were not shown for cylindrical geometries.

Changes from 3.0.5 to 3.0.6

  • Bug fixes JCMsolve:

    • Too much memory usage when exporting fields to Cartesian meshes.

Changes from 3.0.4 to 3.0.5

  • New features - Runtime improvement of JCMgeo especially for geometries with many layers.
  • Bug fixes JCMsolve:
    • Erroneous exception for domain decomposition solver.
  • Bug fixes JCMgeo:
    • Erroneous exception for certain boundary periodifications.

Changes from 3.0.3 to 3.0.4

  • Bug fixes JCMgeo: - Geometric primitive “MultiLayer” caused JCMgeo to crash when intersecting with the computational domain boundary.

Changes from 3.0.2 to 3.0.3

  • New features
    • New geometric primitive “MultiLayer” to ease for example Bragg mirror definition.
    • Support for point sources (dipoles) in cylindrically symmetric geometries.
  • Bug fixes JCMsolve:
    • Wrong results for Fourier transform in cylindrically symmetric geometries.