The Journal of Supercomputing

, Volume 64, Issue 1, pp 28–37 | Cite as

Development of a unified FDTD-FEM library for electromagnetic analysis with CPU and GPU computing

  • Jorge Francés
  • Sergio Bleda
  • Sergi Gallego
  • Cristian Neipp
  • Andrés Márquez
  • Inmaculada Pascual
  • Augusto Beléndez


The present paper describes an optimized C++ library for the study of electromagnetics. The implementation is based on the Finite-Difference Time-Domain method for transient analysis, and the Finite Element Method for electrostatics. Both methods share the same core and are optimized for CPU and GPU computing. To illustrate its running, FEM method is applied for solving Laplace’s equation analyzing the relation between surface curvature and electrostatic potential of a long cylindrical conductor, whereas FDTD is applied for analyzing Thin Film Filters at optical wavelengths. Furthermore, a comparison of the performance of both CPU and GPU versions is analyzed as a function of the grid size simulation. This approach allows the study of a wide range of electromagnetic problems taking advantage of the benefits of each numerical method and the computing power of the modern CPUs and GPUs.


Electromagnetic analysis Finite-difference time-domain Finite element method Electrostatic potential Thin film filters Optical wavelengths Graphics processing units 



This work was supported by the “Ministerio de Economía y Competitividad” of Spain under projects FIS2011-29803-C02-01, FIS2011-29803-C02-02 and by the “Generalitat Valenciana” of Spain under projects PROMETEO/2011/021 and ISIC/2012/013. The authors appreciate the useful comments from anonymous reviewers that helped to improve this manuscript.


  1. 1.
    Corporation N (2009) Whitepaper NVIDA’s next generation CUDA compute architecture, 1st edn Google Scholar
  2. 2.
    Corporation I (2011) Intel 64 and IA-32 architectures: optimization reference manual Google Scholar
  3. 3.
    Sullivan DM (2000) Electromagnetic simulation using the FDTD method. IEEE Press Editorial Board, New York CrossRefGoogle Scholar
  4. 4.
    Taflove A (1995) Computational electrodynamics: the finite-difference time-domain method. Artech House Publishers, London MATHGoogle Scholar
  5. 5.
    Neipp C, Moreno JC, Rodes JJ, Francés J, Pérez-Molina M, Gallego S, Beléndez A (2010) J Electromagn Waves Appl 24 Google Scholar
  6. 6.
    Macleod HA (2001) Thin-film optical filters. Institute of Physics Publishing, Bristol CrossRefGoogle Scholar
  7. 7.
    Helmbrecht MA (2010) In: Proceedings of lasers and electro-optics (CLEO) and quantum electronics and laser science conference Intel technology journal, vol 1 Google Scholar
  8. 8.
    Sadiku MNO (2001) Numerical techniques in electromagnetics. CRC Press, New York MATHGoogle Scholar
  9. 9.
    Faux ID, Pratt MJ (1981) Computational geometry for design and manufacture. Ellis Horwood Publishers, Chichester MATHGoogle Scholar
  10. 10.
    Francés J, Bleda S, Gallego S, Neipp C, Márquez A, Pascual I, Beléndez A (2011) In: Vigo-Aguiar J (ed) Proceedings of the 2011 international CMMSE, vol II, pp 520–531 Google Scholar
  11. 11.
    Jin J (2002) The finite element method in electromagnetics. Wiley-Interscience, New York MATHGoogle Scholar
  12. 12.
    Press WH, Teukolsky SA, Vetterling WT, Flannery BP (2007) Numerical recipes: the art of scientific computing. Cambridge University Press, Cambridge MATHGoogle Scholar
  13. 13.
    Volakis JL, Chatterjee LC, Kempel LC (1998) Finite element method for electromagnetics. Wiley-Interscience/IEEE Press, New York MATHCrossRefGoogle Scholar
  14. 14.
    Balanis AA (1991) Advanced engineering electromagnetics. Wiley-Interscience, New York Google Scholar
  15. 15.
    Yee KS (1966) IEEE Trans Antennas Propag AP(17):585 Google Scholar
  16. 16.
    Berenger JP (1994) J Comput Phys 114:185 MathSciNetMATHCrossRefGoogle Scholar
  17. 17.
    Berenger JP (1995) J Comput Phys 127(2):363 MathSciNetCrossRefGoogle Scholar
  18. 18.
    Sullivan DM (1996) IEEE Microw Guided Wave Lett 6(2):97 CrossRefGoogle Scholar
  19. 19.
    Sanders J, Kandrot E (2011) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley, Upper Saddle River Google Scholar
  20. 20.
    Corporation N (2010) NVIDA CUDA C programming guide, version 3.2 edn. Google Scholar
  21. 21.
    Thakkar S (1999) Intel Technol J Q2:1 Google Scholar
  22. 22.
    Francés J, Neipp C, Pérez-Molina M, Beléndez A (2010) Comput Phys Commun 181(12):1963 MATHCrossRefGoogle Scholar
  23. 23.
    Cunha MTF, Telles JCF, Ribeiro FLB (2008) Adv Eng Softw 39(11):888 MATHCrossRefGoogle Scholar
  24. 24.
    Corporation N (2010) In: CUDA: CUSPARSE library Google Scholar
  25. 25.
    Turner AF, Baumeister PW (1966) Appl Opt 5(1):69 CrossRefGoogle Scholar
  26. 26.
    Ortega G, Garzón EM, Vázquez F, García I (2011) In: Vigo-Aguiar J (ed) Proceedings of the 2011 international CMMSE, vol III, pp 908–917 Google Scholar
  27. 27.
    Vázquez F, Ortega G, Fernández JJ, Garzón EM (2010) In: Proceedings of the 10th IEEE international conference on computer and information technology, pp 1146–1151 Google Scholar
  28. 28.
    Kim KH, Kim K, Park QH (2011) Comput Phys Commun 182(6):1201 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • Jorge Francés
    • 1
    • 2
  • Sergio Bleda
    • 1
    • 2
  • Sergi Gallego
    • 1
    • 2
  • Cristian Neipp
    • 1
    • 2
  • Andrés Márquez
    • 1
    • 2
  • Inmaculada Pascual
    • 2
    • 3
  • Augusto Beléndez
    • 1
    • 2
  1. 1.Department of Physics, Systems Engineering and Signal TheoryUniversity of AlicanteAlicanteSpain
  2. 2.University Institute of Physics to Sciences and TechnologiesUniversity of AlicanteAlicanteSpain
  3. 3.Department of Optics, Pharmacology and AnatomyUniversity of AlicanteAlicanteSpain

Personalised recommendations