Difference between revisions of "MEEP"

From EM Drive
Jump to: navigation, search
Line 2: Line 2:
 
A number of people, including @aero, have been using it to simulate the evolution of the fields within the EM Drive.  
 
A number of people, including @aero, have been using it to simulate the evolution of the fields within the EM Drive.  
  
Details regarding setting up Meep for EM Drive simulations are below:
+
= Linux Setup =
 +
Details regarding setting up Meep for EM Drive simulations on Linux are provided below.
  
= Linux Setup =
+
@leomillert recommended<ref>[http://forum.nasaspaceflight.com/index.php?topic=37642.msg1404656#msg1404656 Forum post by @leomillert]</ref> the following:
The following was recommended by @leomillert:<ref>[http://forum.nasaspaceflight.com/index.php?topic=37642.msg1404656#msg1404656 Forum post by @leomillert]</ref>
+
* Meep 1.3 (compiled & installed from its sources<ref>https://github.com/stevengj/meep</ref>)
* [https://github.com/stevengj/meep MEEP 1.3] with libctl 3.2.2, Guile 2.0.11, Harminv 1.4 and OpenBLAS 0.2.12HDF5 is version 1.9.224 and h5utils is 1.12.1.  I installed everything except OpenBLAS from source, compiled myself. It was really tricky, so I strongly recommend people to see first if their distribution has MEEP pre-packaged.
+
* libctl 3.2.2 (compiled & installed from its sources)
* The basic installation sequence for a single machine is documented [http://ab-initio.mit.edu/wiki/index.php/Meep_Installation here].  Parallel / cluster installs are documented [http://ab-initio.mit.edu/wiki/index.php/Meep_Installation#MPI_.28parallel_machines.29 here]
+
* Guile 2.0.11 (id)
 +
* Harminv 1.4 (id)
 +
* OpenBLAS 0.2.12 (installed from its binaries)
 +
* HDF5 1.9.224 (compiled & installed from its sources)
 +
* h5utils 1.12.1
 +
 
 +
The installation for a single machine is described [http://ab-initio.mit.edu/wiki/index.php/Meep_Installation here].   
 +
Parallel/cluster installs are documented [http://ab-initio.mit.edu/wiki/index.php/Meep_Installation#MPI_.28parallel_machines.29 here]
  
 
= Usage =
 
= Usage =
These instructions were compiled by @leomillert:<ref>[https://forum.nasaspaceflight.com/index.php?topic=37642.msg1404977#msg1404977 Forum post by @leomillert]</ref>
+
The instructions below were provided by @leomillert:<ref>[https://forum.nasaspaceflight.com/index.php?topic=37642.msg1404977#msg1404977 Forum post by @leomillert]</ref>
  
 
1. Execute
 
1. Execute
Line 17: Line 25:
 
meep NSF-1701.ctl
 
meep NSF-1701.ctl
 
</pre>
 
</pre>
2. Eventually, MEEP will output nine .h5 files. It may take a long time depending on your computer. Patience is a virtue.
+
After completion of the execution, Meep outputs nine .h5 files. This may take a long time depending on your computer.
  
3. Create the CSV files:
+
2. Create CSV files
 
<pre>
 
<pre>
 
h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv
 
h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv
 
</pre>
 
</pre>
4.  Open your zCopper-exy.csv on a spread sheet and aero's zCopper-exy.csv on another. Open a third spread sheet that is one spread sheet minus the other, entry by entry. Check that highest entry (in absolute value). If it's negligible you are good to go. If it's a value too big, greater than 10^-6, your MEEP installation isn't in sync with ours, so it's no use.
 
  
5. Now you are good to go. Make a new directory to start the tests. Copy NSF-1701.ctl there.
+
3. Open zCopper-exy.csv in a spreadsheet and aero's zCopper-exy.csv (TBD:provide location of aero csv) on another. Open a third spreadsheet that is one spreadsheet values minus the other, entry by entry. Check the highest entry (in absolute value) of the difference. If it's negligible you are good to go. If it's a value too big (greater than 10^-6), your Meep installation isn't in sync with ours, so it's of no use.
  
6. Open NSF-1701.ctl in a text editor and change a single value. For example, (set! high 10.2) means the model is 10.2 inches high. Change the 10.2 to another value and save NSF-1701.ctl with this single change. This is called sensitivity analysis. One value at a time. (set! high 10.2) was just an example, change any value of interest
+
4. Now you are good to go. Make a new directory to start the tests. Copy NSF-1701.ctl there.
 +
 
 +
5. Open NSF-1701.ctl in a text editor and change a single value. For example, (set! high 10.2) means the model is 10.2 inches high. Change the 10.2 to another value and save NSF-1701.ctl with this single change. This is called sensitivity analysis. One value at a time. (set! high 10.2) was just an example, change any value of interest
 
<pre>
 
<pre>
 
meep NSF-1701.ctl
 
meep NSF-1701.ctl
 
h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv
 
h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv
 
</pre>
 
</pre>
7. Compare your new zCopper-exy.csv with your old one. See if there was any relevant change (do the spreadsheet comparison again). If there was no considerable change in values, it means the modification made doesn't impact the behavior of the EMDrive. This is an important information for scientists, so let us know. Otherwise, if there was a significant change, let us know if it was positive or negative and its intensity. If you don't know how, just upload the .h5 files somewhere and we will analyze it.
+
 
 +
6. Compare your new zCopper-exy.csv with your old one. See if there was any relevant change (do the spreadsheet comparison again). If there was no considerable change in values, it means the modification made doesn't impact the behavior of the EMDrive. This is an important information for scientists, so let us know. Otherwise, if there was a significant change, let us know if it was positive or negative and its intensity. If you don't know how, just upload the .h5 files somewhere and we will analyze it.
  
 
= Amazon EC2 AMI =
 
= Amazon EC2 AMI =
Line 41: Line 51:
 
= Models & results =
 
= Models & results =
  
TBD: Add reference to all existing models and the results here, with a succinct description.
+
TBD: Add reference to all existing models and associated results here, with a succinct description.
  
 
= References =
 
= References =
 
<references/>
 
<references/>

Revision as of 14:25, 15 July 2015

Meep (or MEEP) is a free finite-difference time-domain [1] simulation software package developed at MIT to model electromagnetic systems. A number of people, including @aero, have been using it to simulate the evolution of the fields within the EM Drive.

Linux Setup

Details regarding setting up Meep for EM Drive simulations on Linux are provided below.

@leomillert recommended[2] the following:

  • Meep 1.3 (compiled & installed from its sources[3])
  • libctl 3.2.2 (compiled & installed from its sources)
  • Guile 2.0.11 (id)
  • Harminv 1.4 (id)
  • OpenBLAS 0.2.12 (installed from its binaries)
  • HDF5 1.9.224 (compiled & installed from its sources)
  • h5utils 1.12.1

The installation for a single machine is described here. Parallel/cluster installs are documented here

Usage

The instructions below were provided by @leomillert:[4]

1. Execute

wget https://forum.nasaspaceflight.com/index.php?action=dlattach;topic=37642.0;attach=1042821 -O NSF-1701.ctl
meep NSF-1701.ctl

After completion of the execution, Meep outputs nine .h5 files. This may take a long time depending on your computer.

2. Create CSV files

h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv

3. Open zCopper-exy.csv in a spreadsheet and aero's zCopper-exy.csv (TBD:provide location of aero csv) on another. Open a third spreadsheet that is one spreadsheet values minus the other, entry by entry. Check the highest entry (in absolute value) of the difference. If it's negligible you are good to go. If it's a value too big (greater than 10^-6), your Meep installation isn't in sync with ours, so it's of no use.

4. Now you are good to go. Make a new directory to start the tests. Copy NSF-1701.ctl there.

5. Open NSF-1701.ctl in a text editor and change a single value. For example, (set! high 10.2) means the model is 10.2 inches high. Change the 10.2 to another value and save NSF-1701.ctl with this single change. This is called sensitivity analysis. One value at a time. (set! high 10.2) was just an example, change any value of interest

meep NSF-1701.ctl
h5totxt -t 13 -0 -y -0  ex.h5 > zCopper-exy.csv

6. Compare your new zCopper-exy.csv with your old one. See if there was any relevant change (do the spreadsheet comparison again). If there was no considerable change in values, it means the modification made doesn't impact the behavior of the EMDrive. This is an important information for scientists, so let us know. Otherwise, if there was a significant change, let us know if it was positive or negative and its intensity. If you don't know how, just upload the .h5 files somewhere and we will analyze it.

Amazon EC2 AMI

A public AMI with meep installed has been made available (by @dumbo). The AMI name is ubuntu-trusty-meep-emdrive and the AMI ID is ami-3f54560f. Due to the long computing times required to simulate the frustum until "saturation" (for lack of a better term), some people may find it more convenient to run the simulation on EC2 than on their local workstation.

The AMI is based on Ubuntu (Trusty) with packages meep and meep-mpi-default installed.

Models & results

TBD: Add reference to all existing models and associated results here, with a succinct description.

References