Benchmark of Characteristic Mode Decomposition – Spherical Shell



Characteristic mode associated with TM10 mode.

This webpage has been created as a reaction on the recent paper we wrote, mainly since we have realized that further effort in CM benchmarking is needed to compare and synchronize results available across the community.

Precise synthetic benchmarks are proposed to test the contemporary software packages, both commercial and in-house ones. All tests are based on example of sphericall shell, for which all results are derived analytically and majority of numerical errors can be tracked down. Although canonical shape of simple geometry, spherical shell has surprisingly complex behaviour (internal resonances, eigenspectrum degeneracy, non-conformity of the surface with triangular mesh grid,…). The goal is to provide open benchmark and store the results.

Are you interested in helping us with the benchmarking or in providing your own results?
Just read the instructions below! 😉




NEW: Presentation about Benchmarking from APS 2017, San Diego (it is recommended to download the presentation and open it in Adobe Reader)
NEW: Manuscript “Validation of Characteristic Modes Solvers” (IEEE Trans. Antennas and Propagation)
FTP:, username: cmuser, password will be provided (by request)
Mesh grids (Matlab): 500 and 2220 triangles

Tested packages:

Commercial packages:
  1. FEKO
  2. CST-MWS
  3. WIPL-D
  4. CEM One (CM decomposition is now being implemented…)
In-house / academic tools:
  1. AToM (CTU in Prague), AToM stands for Antenna Toolbox for Matlab
  2. CMC(Leibniz Universitaet), CMC stands for Characteristc Mode Calculator
  3. IDA (Lund University), IDA stands for Integrated Development toolset for Antennas
  4. code of Sergey Makarov (et al.)
  5. code of Kurt Schab (currently NC State University)

Current status of the benchmark:

spherical shell Test #1 Test #2 Test #3 Test #4
tested packages zMat (ka = 1/2) zMat (ka = 3/2) raw (untracked) data tracked data N = 500 N = 500
FEKO done done done done It will not be performed now (needs current densities, therefore extensive postprocessing is needed). However, it is proposed as regular test with known analytical results. It will not be performed now (needs current densities, therefore extensive postprocessing is needed). However, it is proposed as regular test with known analytical results.
CST-MWS impedance matrices are unaccessible! done done
WIPL-D done done   done
CEM One done done not implemented yet not implemented yet
AToM done done done done
CMC done done done done
IDA done done not implemented not implemented
code of S. Makarov done done not implemented not implemented
code of K. Schab done done    


Characteristic mode associated with TE10 mode.
Many thanks to those who participated or helped us with the benchmarking. Namely, we would like to thank to:
  • Vit Losenicky (CTU in Prague), results processing, calculation of CST-MWS data,
  • Michal Masek (CTU in Prague), calculation of CEM One data,
  • Jaroslav Rymus (MECAS ESI s.r.o.), technical aspects of CEM One calculation,
  • Lukas Jelinek (CTU in Prague), analytical derivations, test #4,
  • Vladimír Šeděnka (BUT), MoM coding,
  • Doruk Tayli (Lund University), calculation of IDA data,
  • Kurt Schab (NC State University), calculation in in-house package,
  • Mats Gustafsson (Lund University), discussion of solution completeness,
  • Martin Mudroch (CTU in Prague), FTP hosting, LaTeX on webpage support,
  • Viktor Adler (CTU in Prague), advice of different mesh grid on pp. 19 of presentation above,
  • Jasmin Music (WIPL-D), providing complete results,
  • Gerhard Kristensson (Lund University), consultation of analytical solution,
  • Nikolai Peitzmeier, Eugen Safin and Dirk Manteuffel (Leibniz Universitaet, formely KIEL), CMC calculation.


  • Our intention is to perform benchmark of the CM analysis. We did our best to specify exact conditions and the validity of the data and the results is also partly depending on fairness of all the participants.
  • Please, do not understand our initial effort as an attempt to clasify who is better (good guys) and who is worse (bad guys). Our only interest is to provide further understanding and actual performance of packages available in our community.
  • Regarding the commercial packages, we clearly understand that certain functionality and detailed aspects of implementation need to remain hidden. We respect that. Still, it would be nice to provide impedance matrices as they are the only true inputs into the CM analysis – with that respect, it is gladsome that, except one ventor, all packages offer this possibility.



Back to profile

/Edited 18. 07. 2017, MC/