The Finite-Difference Time-Domain Method for Electromagnetics with MATLAB® Simulations (Electromagnetic Waves)
L**A
THIS BOOK IS WONDERFUL
I FOUND AN ERROR IN THE BOOK! I FIXED IT AND MY CODE WORKS NOW! WOULD LIKE TO CONFIRM WITH OTHERS/ SHARE ERRATA. needed to say that up front, I'll explain later.I love this book. Will get you from zero to 95% in the shortest possible time.Still not easy to figure out how to write a FDTD code but working with this book is the most efficient path to understanding.VERY good explanation of the details of the Yee grid method, has everything you need to create a powerful 3D FDTD code with absorbing boundaries and some advanced very effective Perfectly matched boundaries. Also goes through discrete reistors, inductors, and capacitors and adding them into the Yee grid, with voltage and current sources. Very nice.THE ERROR I FOUNDHere are the details, this was for a 1D code, 3D code is ok but still working through some issues with the CPML.The FDTD Method for Electromagnetics with MATLAB Simulations2nd edition 2016On page 243Listing 8.4 initialize_CPML_ABCLine 15 and 16 of the MATLAB code15 rho_e = ( [ ncells : -1 : 1 ] - 0.75 ) / ncells ;16 rho_m = ( [ ncells : -1 : 1 ] - 0.25 ) / ncells ;This is correct for the negative x side, xn regionThen on page 244Line 70 and 7170 rho_e = ( [ 1 : ncells ] - 0.25 ) / ncells ;71 rho_m = ( [ 1 : ncells ] - 0.75 ) / ncells ;This is INCORRECT for the positive x side, xp regionTo fix the problem I changed line 70 and 71 to this,70 rho_e = ( [ 1 : ncells ] - 0.75 ) / ncells ;71 rho_m = ( [ 1 : ncells ] - 0.25 ) / ncells ;Switched the -0.75 with the -0.25I found that by changing the -0.75 and -0.25 numbers around switching them, I could fix the reflection problem.Now I get very very tiny reflections less than order of 0.001% with 10 cells thick, CPML 3rd order, etc.I belive this is because the rho_e in any case xn, xp, yn, yp, zn, zp always needs to use -0.75And the rho_m always needs the -0.25I sent an email to the publisher to confirm. Didn't see any website or Errata page for the book...ABOUT ME AND OTHER BOOK RECOMMENDATIONSI graduated with a BS degree in Physics and another BS degree in Mechanical Engineering and a minor in Mathematics in 2014. Been doing Ultrawideband Antenna design and related work for 4 years now. YOU NEED FDTD FOR THAT STUFF! I would also highly recommend Art and Science of Ultrawideband Antennas by Schantz,I was not specifically trained in antennas or really and electrical engineering. Learned that on my own. This book I'm reviewing and the other recommended book above are two that I could not go without.Also having Taflove's book is really helpful when you need more fine detail on the math.Also this guy is the BOMB! very helpful for all aspects of Computational Electromagnetics and computational methods in general IN CLEAR ENGLISH! WOW!CED Lectures on youtubeThen finally if you're still with me and really want to get serious, get these books,Advances in FDTD Computational Electrodynamics, Photonics and Nanotechnology by Taflove et al! new Taflove book! 2013 edition! GREAT!VALU, AVX, and GPU Acceleration Techniques for Parallel FDTD Methods by Wenhuya Yu, et al. 2014 edAdvanced Computational Electromagnetic Methods and Applications by Wenhua Yu et al. 2015 edIntel Xeon Phi High Performance Programming Kinghts Landing Edition by Jim Jeffers, James Reinders, and Avinash Sodani, 2016 edition. Sodani actually was the lead architect on the CPU!Then learn Julia and look at the Cori supercomputersearch for juliacomputing auto-vectorization-in-juliasearch for nextplatform julia-language-delivers-petascale-hpc-performanceALL RECENT BOOKS! except Taflove which is classic. You will be at the top of FDTD! Who's coming with me!?
D**L
the authors deserve an award
Little background: I am working on a project which needs a partial field solution and I thought FDTD was the way to go due to the ease on entry and quick time to program. I'm looking for existing MATLAB code that I can modify to get working quickly so I can get back to the my real interest. This text fits the bill...A few months ago I picked up and read through the derivation of the finite difference algorithm but was unable, without spending a great deal of time -something I don't have alot of at the moment - to get a working code going (I did discover this afternoon that there are codes available from the publishers website).Last week I had time to sit down for an hour with but the included code was written in FORTRAN which would be alright except I didn't want to translate it into MATLAB.Then I ran across which has a 3-D FDTD matlab code included in the finite difference chapter but after programing it into MATLAB this afternoon and checking (& rechecking) was unable to reproduce the authors results.Then I stumble across this gem. Now I think the authors wrote it for two groups of people: engineers who need to generate quick results (like myself) and programmers who are writing software involving FDTD. Enough of the code is provided (dispersed throughout the chapters) that you can generate a working full 3D code (4D really) with very little knowledge of Maxwell or programming for that matter.The book is well organized and laid out. Personally I found it simple to read and follow. This is truly as easy as it gets without having someone else do the work for you (actually the authors did).
Trustpilot
4 days ago
2 months ago