-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
113 lines (84 loc) · 3.69 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
GMES (GIST Maxwell's Equations Solver) is a free Python package
for the electromagnetic simulation using FDTD method. This file
describes how to compile and set up GMES.
1. Download Latest Version
You can download the latest release at the GMES project page of
sourceforge:
http://sourceforge.net/projects/gmes
The latest development version is always available from our code
repository:
http://sourceforge.net/p/gmes/code-git/
2. Compatibility
GMES follows the C++11 standard and is compatible to Python 2.7,
thus it is OS portable in source code level. However, I usually
execute GMES only on linux, especially Ubuntu. If you have
succeeded to compile and execute on your environment, please
report your setup and environment. Any contributions are welcome.
2.1. GNU/Linux
GMES has been tested on Ubuntu 14.04 LTS Trusty Tahr 64 bit.
3. Preliminaries
3.1. GNU/Linux
GMES uses various Python and non-Python programs. You will need
the following programs to install and execute GMES. The following
programs are provided as packages on Ubuntu distributions.
* python
* g++
* swig
* cython
* numpy (Ubuntu package: python-numpy)
* scipy (Ubuntu package: python-scipy)
* matplotlib (Ubuntu package: python-matplotlib)
* MPI for Python (optional) (Ubuntu package: python-mpi4py)
* pytables (optional) (Ubuntu package: python-tables)
4. Compile and Install
If you like to test the GMES without or before installation,
follow 'compile for the inplace test' section. Otherwise, follow
'compile' and 'install' sections in order.
4.1. For GNU/Linux
4.1.1. compile for the inplace test
$ python setup.py build_ext --inplace
4.1.2. compile
$ python setup.py build_ext --swig-opts="-c++"
4.1.3. install
$ sudo python setup.py install
5. Testing
If you completed the installation or compiled with inplace option,
you can test the proper execution of GMES using the unit tests in
the 'tests' directory. If you see 'OK' without any error, it's OK.
$ python <test.py>
6. Execution Commands
6.1. GNU/Linux with MPI2
Your MPI2 implementation may requires pre- or post- commands to
exploit the parallel environment. Refer the manuals of your MPI2
implementation for these commands. <N> and <GMES SCRIPT> indicate
the number of parallel process and your script which uses the GMES
package.
$ mpiexec -l -n <N> python-mpi <GMES SCRIPT>
Also, in the parallel environment, a MPI-enabled Python
interpreter is required. Check the MPI for Python user manual at
http://mpi4py.scipy.org/docs/usrman/.
7. User Manual
The current version of GMES does not have a separate user manual.
However, you can start from examples in the 'examples' and 'tests'
directories. If you need more detailed documentations on the
classes and parameters of GMES, please use the 'dir' and 'help'
command in the Python interpreter.
8. Participation
Please report any errors or submit patches (if possible)! Any
contributions are welcome. If you would like to join the GMES
development team or contribute to the distribution, please contact
the gmes-user mailing list, details at
http://sourceforge.net/p/gmes/mailman/.
9. Known Issues
9.1. numpy.inf
Please use a large number instead of numpy.inf since GMES does not
correctly treat the value of numpy.inf as infinity.
9.2. Warnings on Compilation
Cython sets '-Wunused-but-set-variable' compile option and it
generates the following warnings during compilation.
src/material.c: In function ‘__pyx_pf_4gmes_8material_7Lorentz_10get_pw_material_hz’:
src/material.c:33412:13: warning: variable ‘__pyx_v_coords’ set but not used [-Wunused-but-set-variable]
These warnings are not harmful and you can safely ignore them.
9.3. Python 3 Support
GMES has not tested with Python 3.
-- Kyungwon Chun <[email protected]>