RC-1 for openEMS v0.0.33

News about openEMS

Moderators: thorsten, sebastian

RC-1 for openEMS v0.0.33

Postby thorsten » Mon 10 Aug 2015, 22:48

Hi,

EDIT: RC1 has been replaced with an RC2, links have been updated

this is the first time I'm doing a release candidate. But the large changes to the build system for both Linux and Windows are too massive to just release like this.

Therefore I would ask everybody to give this RC a good bit of testing:

For Linux:
Code: Select all
cd /tmp # or any other path to download/unpack and build in
wget http://openems.de/download/src/openEMS-v0.0.33-rc2.tar.bz2
tar jxf openEMS-v0.0.33-rc2.tar.bz2
cd openEMS
./update_openEMS.sh ~/opt/openEMS --with-hyp2mat --with-CTB  # or any other path to install to

- Add the paths given to your .octacerc or matlab startup file

For Windows (64-bit):
- Just download and unzip: openEMS_x64_v0.0.33-rc2.zip
- Add the path (e.g. C:/openEMS/matlab) to your .octacerc or matlab startup file
Note: I plan on not supporting Windows 32bit any more. This is just to much work for testing and 32bit is dead ;)

For Mac OS-X (totally new and completely alpha-status):
- Install brew
Code: Select all
 brew install --HEAD https://raw.github.com/thliebig/openEMS-Project/master/brew/openEMS.rb


Please leave some feedback...

Known bugs:
- remote simulation with Octave (fixed already but not included in RC-1); Edit: fixed in RC-2

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby magnus » Fri 14 Aug 2015, 12:59

Trying the release-candidate on a Debian testing box, I had to figure out which packets to include, such as CGAL-dev, VTK6-dev, TinyURL-dev, qtbase5-dev, which would have been good if there was a debian built method included to sort out, but with some patience I got as far as I did. However, while building I got this error:

...
[ 19%] Building CXX object FDTD/CMakeFiles/FDTD.dir/engine_multithread.cpp.o
In file included from /home/magda/work/openems/openEMS/openEMS/FDTD/engine_multi
thread.cpp:35:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h: In member function 'void NS
_Engine_Multithread::thread::operator()()':
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:818:1: error: inlining faile
d in call to always_inline 'unsigned int _mm_getcsr()': target specific option m
ismatch
_mm_getcsr (void)
^
/home/magda/work/openems/openEMS/openEMS/FDTD/engine_multithread.cpp:257:37: err
or: called from here
unsigned int oldMXCSR = _mm_getcsr(); //read the old MXCSR setting
^
In file included from /home/magda/work/openems/openEMS/openEMS/FDTD/engine_multi
thread.cpp:35:0:
/usr/lib/gcc/i586-linux-gnu/4.9/include/xmmintrin.h:850:1: error: inlining failed in call to always_inline 'void _mm_setcsr(unsigned int)': target specific option mismatch
_mm_setcsr (unsigned int __I)
^
/home/magda/work/openems/openEMS/openEMS/FDTD/engine_multithread.cpp:259:24: error: called from here
_mm_setcsr( newMXCSR ); //write the new MXCSR setting to the MXCSR
^
FDTD/CMakeFiles/FDTD.dir/build.make:100: recipe for target 'FDTD/CMakeFiles/FDTD.dir/engine_multithread.cpp.o' failed
make[5]: *** [FDTD/CMakeFiles/FDTD.dir/engine_multithread.cpp.o] Error 1
CMakeFiles/Makefile2:213: recipe for target 'FDTD/CMakeFiles/FDTD.dir/all' failed
make[4]: *** [FDTD/CMakeFiles/FDTD.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/openEMS.dir/build.make:110: recipe for target 'openEMS-prefix/src/openEMS-stamp/openEMS-build' failed
make[2]: *** [openEMS-prefix/src/openEMS-stamp/openEMS-build] Error 2
CMakeFiles/Makefile2:201: recipe for target 'CMakeFiles/openEMS.dir/all' failed
make[1]: *** [CMakeFiles/openEMS.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

Expect it to build cleanly on an updated Debian testing environment.
magnus
 
Posts: 1
Joined: Fri 14 Aug 2015, 12:52

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Fri 14 Aug 2015, 17:55

Hi,

thanks for testing. Yes I guess I should have added the link to the dependency list: http://openems.de/index.php/Compile_from_Source#Requirement

Your error message is really strange. This was certainly not changed during the last release cycle. It looks like a SSE instruction error. I do not think you use such a old CPU that it does not even have SSE?

Can you build using the verbose option?
Unfortunatly you have to edit the update script, change line 113 to:
Code: Select all
make VERBOSE=1 >> $LOG_FILE 2>&1


Another note:
- You try to build using vtk6 and qt5. That should work, but my tests revealed a nasty bug in qt5 regarding vtk making this combination pretty unusable on Linux with X11.
I recommend to use qt4 and vtk5 until this is fixed in qt5...
But feel free to test, maybe it is already fixed, at least the bug is known to Qt

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby Zilon » Wed 02 Sep 2015, 15:36

Hi,

I'm trying to test your new version for Windows but it seems to me that there are some scripts that Matlab needs are missing. Examples are the InitFDTD.m, physical_constants.m, and openEMS.exe files. But maybe there are also some other files missing.



Thanks and regards
Thomas
Zilon
 
Posts: 2
Joined: Wed 02 Sep 2015, 15:29

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Wed 02 Sep 2015, 17:37

Hi,

yes indeed the new package script seems to be not ok. I will investigate. Thanks

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Wed 02 Sep 2015, 18:20

Hi,

I hope I have fixed the issue, please try RC-2 (see edit on original post)

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby Zilon » Thu 03 Sep 2015, 14:58

Hi,

thank you for the updated version. I just started testing it with some of my previously used scripts that are successfully running with version 0.32. Now, I observe that the energy within the simulated volume is increasing more and more until the simulation stops after ca. 150 timesteps.

I am simulating light propagation through a material stack of different refractive indices. But also if I reduce my model to propagation through air, the behavior stays the same. For excitation, I employ sinusoidal excitation of a single wavelength, here 500 nm.

Are there any changes regarding the usage of some parameters that may cause this issue?

Thanks
Thomas
Zilon
 
Posts: 2
Joined: Wed 02 Sep 2015, 15:29

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Thu 03 Sep 2015, 19:21

Hi Thomas,

especially for the sinusoidal excitation I made some changes and thus I'm grateful for your feedback.
First off, for this excitation type the energy can only go up since energy is constantly pumped into the system. It can only reach a steady state at some point (energy feed in equals energy lost e.g. by absorbing boundaries or lossy materials).
What is new is that openEMS now has a steady state detection which is used by default for periodic and not decaying excitations (like sinusoidal).

Can you attach your log files? Maybe one with 0.0.32 and 0.0.33-rc2? Do the result differ as well?

Edit: maybe you can open a new topic for this in the "Usage" section?

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Thu 03 Sep 2015, 21:19

Hi,

I had another look at the steady state detection and found a bug that actually makes this unstable. Thus your observation about exploding energy was correct...
I'm working on it...

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26

Re: RC-1 for openEMS v0.0.33

Postby thorsten » Thu 03 Sep 2015, 23:17

Hi,

I fixed the instability and improved the sinusoidal excitation handling and the steady state detection. Please test!
http://openems.de/download/win64/openEMS_x64_v0.0.33-rc2-3-g9c80672.zip

regards
Thorsten
thorsten
 
Posts: 1115
Joined: Mon 27 Jun 2011, 12:26


Return to News

Who is online

Users browsing this forum: No registered users and 1 guest

cron
MediaWiki Appliance - Powered by TurnKey Linux