• Skip to primary navigation
  • Skip to main content
  • Skip to footer

info@raymond.rumpf.com

  • Email
  • Facebook
  • LinkedIn
  • YouTube
Raymond Rumpf logo

Raymond Rumpf

Professor, Innovator, Author, Researcher

  • Course Offerings
    • Academic Materials
    • EMPossible Courses
  • Research
    • EMLab
    • Hybrid 3D Printing
    • 3D Printed Electronics
    • Spatially Variant Lattices
    • Photonics
    • Electromagnetics
    • Computational Electromagnetics
    • EMLab Capabilities
  • Publications
  • News
  • About Dr. Rumpf
Contact Us

Getting started in Numerical Methods

2022-05-19 by Raymond Rumpf

I am often asked ‘What advice do you have for those interested in numerical methods?‘

The key to computation is visualization. Every step of computation can be accelerated and showcased better with strong graphics and visualization skills. The lag between your initial thought and the data visualized makes it difficult for our brains to see trends, recognize patterns, and identify problems. I think tools like MATLAB are awesome environments for learning numerical methods because it is very easy to visualize data and prototype algorithms. The drawback of those tools is that they may not produce the best graphics and will usually be slower and less efficient than other platforms. This is not a problem at all until you become more advanced.

Understand the difference between formulation and implementation. The formulation is where you work on paper to derive all the equations you will need to implement in a computer code. The algorithm for the computer code is completely different than the steps you follow for the formulation. Do not confuse the two. Implementation in a computer code is often extremely simple and easy if you do a good job in the formulation. Always have a nicely formatted and detailed formulation document to go along with your computer code.

Do not be paranoid about identifying the absolute best method for a particular application. In most circumstances, many different approaches will get you the answer you seek. Start simple and work up to the more complicated. You can use simple algorithms to test and benchmark your more advanced algorithms as you attempt to get them working. I do not describe finite-difference frequency-domain (FDFD) as the best numerical method, but I do think it may be the best first numerical method for computational electromagnetics. Finite-difference time-domain (FDTD) is a very close second-best method. I have a student right now who is helping a team develop a very advanced time-domain finite element analysis. He is constantly writing small FDFD and FDTD programs to test and benchmark the FEM code. This is the power of FDFD and FDTD.

When you write your codes, be sure your code is clean and well commented from the very start. Do not get it working and then clean it up because you will lose many of the benefits of clean code. Test your code every few lines as you write it. Visualize and think about everything. Do not write an entire program before you run it for the first time. You will have a much more difficult time finding the bugs.

Looking for more resources?

  • Computational Methods for Beginners
  • One Dimensional Finite Difference Time Domain in MATLAB Course
  • Electromagnetic and Photonic Simulation for the Beginner: Finite-Difference Frequency-Domain in MATLAB

Category iconWisdom from the EMProfessor Tag iconnumerical methods

Footer

Sitemap

  • Course Offerings
  • Research
  • Publications
  • News
  • About Dr. Rumpf
  • Home

Connect with me

  • Email
  • LinkedIn
  • YouTube

Copyright © 2023 Raymond C. Rumpf. All rights reserved. Return to top