Nice piece of software! Some feedback from me.

Give some feedback on openEMS.

Moderators: thorsten, sebastian

Post Reply
chrisbt
Posts: 1
Joined: Thu 26 Apr 2012, 13:52

Nice piece of software! Some feedback from me.

Post by chrisbt » Fri 27 Apr 2012, 00:50

I'm currently using openEMS to simulate UV light passing through a polymer microsphere and into a layer of photoresist for my master thesis. openEMS seems to be working alright for this purpouse, although my problem seems to be close to the limit of what a 3D FDTD simulation can handle with the computing power currently at my disposal.

I really liked the CSXCAD program showing the simulation domain with the geometry, really useful for verifying that the simulation setup is correct. I also liked the fact that, not being a total Linux :geek: yet, it was still releatively simple to compile it on my Ubuntu install, following the Wiki instructions. I have run into a couple of problems on the way though:

1. On my laptop, in WinXP Pro 32-bit, openEMS crash (report problem dialog) whenever I try to specify an xml file (running with no arguments works fine). Works fine in Ubuntu 10.04 LTS (same laptop), and also on two other WinXP Pro 32-bit machines. Laptop specs: Dell Inspiron 9300, Pentium M 1.86 GHz, 2 GB RAM.

2. Memory allocated by processes in WinXP 32-bit is limited to 2GB due to default "31-bit adressing", and openEMS gets into trouble when trying to allocate about 1.5 GB during the create FDTD operator stage. I get an std::bad_alloc error. Suggestion: More user friendly "Not enough memory, your simulation would require xx MB." error, preferably a check for available memory before even attempting to start the simulation.
I managed to raise the allocation limit by enableing the /3GB switch in my boot.ini (http://msdn.microsoft.com/en-us/windows ... e/gg487508) and setting the IMAGE_FILE_LARGE_ADDRESS_AWARE bit in the header of the openEMS executable image using a tool called CFF Explorer. This seems to be working fine, and I achieved a small refinement of my mesh. Suggestion: Compile windows binary with IMAGE_FILE_LARGE_ADDRESS_AWARE bit set, unless there are good reasons not to.

When it comes to simulation and data dumps, I am only interested in steady state, and I miss an option to skip dumping the n-th first timesteps, or to dump only n timesteps after the end condition is reached. This would save both time and HDD space, and allow for more detailed dumps at steady state.

Big thanks to all involved in making this software!
:D

- Christian

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Nice piece of software! Some feedback from me.

Post by thorsten » Fri 27 Apr 2012, 16:24

Hello Christian,

thank you very much for you feedback.

We will look into this matter about "IMAGE_FILE_LARGE_ADDRESS_AWARE" but you are certainly running openEMS on a very old machine :)
I also recommend using Linux, since it handles the memory much more efficient...
When it comes to simulation and data dumps, I am only interested in steady state, and I miss an option to skip dumping the n-th first timesteps, or to dump only n timesteps after the end condition is reached. This would save both time and HDD space, and allow for more detailed dumps at steady state.
Wouldn't it be much faster to excite a gaussian pulse centered around f0 and just dump everything using frequency domain dumps???
You should get the same results, but a transient simulation should be much faster than to wait for a steady state.
I must say I have never used the sinusoidal excitation signal.

regards
Thorsten

xzczd
Posts: 3
Joined: Thu 02 Jan 2014, 11:59

Re: Nice piece of software! Some feedback from me.

Post by xzczd » Thu 02 Jan 2014, 12:04

thorsten wrote:
When it comes to simulation and data dumps, I am only interested in steady state, and I miss an option to skip dumping the n-th first timesteps, or to dump only n timesteps after the end condition is reached. This would save both time and HDD space, and allow for more detailed dumps at steady state.
Wouldn't it be much faster to excite a gaussian pulse centered around f0 and just dump everything using frequency domain dumps???
You should get the same results, but a transient simulation should be much faster than to wait for a steady state.
I must say I have never used the sinusoidal excitation signal.
What?! I didn't know that! Could you tell me more about that? (I'm a passerby trying to learn FDTD by myself :) .)

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Nice piece of software! Some feedback from me.

Post by thorsten » Thu 02 Jan 2014, 12:21

What?! I didn't know that! Could you tell me more about that? (I'm a passerby trying to learn FDTD by myself :) .)
What do you mean specifically ?? Gaussian pulse excite and frequency domain dumps ?

regards
Thorsten

xzczd
Posts: 3
Joined: Thu 02 Jan 2014, 11:59

Re: Nice piece of software! Some feedback from me.

Post by xzczd » Thu 02 Jan 2014, 12:37

thorsten wrote:
What?! I didn't know that! Could you tell me more about that? (I'm a passerby trying to learn FDTD by myself :) .)
What do you mean specifically ?? Gaussian pulse excite and frequency domain dumps ?

regards
Thorsten
Yeah, the only way I knew to calculate the electric field intensity distribution is to use a sinusoidal excitation signal and wait for the steady state coming and then continue dumping several time steps and get the envelop of them.

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Nice piece of software! Some feedback from me.

Post by thorsten » Thu 02 Jan 2014, 12:45

Well FDTD is a time domain method and thus openEMS uses by default a Gaussian pulse as excitation with a broad range of frequencies excited.
By running a dft either after the simulation (on the stored time domain data) or during the simulation, you get the desired result for any given frequency.
After all this frequency flexibility is one of the major advantages of FDTD over e.g. FEM or MoM.

Further infos: http://openems.de/index.php/Dump_Box_Property

regards
Thorsten

xzczd
Posts: 3
Joined: Thu 02 Jan 2014, 11:59

Re: Nice piece of software! Some feedback from me.

Post by xzczd » Thu 02 Jan 2014, 15:38

thorsten wrote:Well FDTD is a time domain method and thus openEMS uses by default a Gaussian pulse as excitation with a broad range of frequencies excited.
By running a dft either after the simulation (on the stored time domain data) or during the simulation, you get the desired result for any given frequency.
After all this frequency flexibility is one of the major advantages of FDTD over e.g. FEM or MoM.

Further infos: http://openems.de/index.php/Dump_Box_Property

regards
Thorsten
Er… then how to get the maximum electric field magnitude that exists at each point at steady state (like the Figure 5.2(a) in page 133) after I run the DFT? …Well, am I asking a very basic question in the view of electromagnetism? If so, what knowledge do I need to add?

thorsten
Posts: 1393
Joined: Mon 27 Jun 2011, 12:26

Re: Nice piece of software! Some feedback from me.

Post by thorsten » Thu 02 Jan 2014, 20:34

The DFT gives you a complex amplitude for all components etc.
The absolute value therefore is the maximum value of the harmonic signal.
To recover the time harmonic you just do:

Code: Select all

E(t) = real( E(f) * exp(j*2*pi*f*t) )
with e.g. t in the range of 0 to T (one period)

regards
Thorsten

Post Reply