forked from NanoComp/meep
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MANIFEST
174 lines (165 loc) · 9.54 KB
/
MANIFEST
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
This file is a listing of all the files distributed with Meep, and a
short explanation of what each one is. Note that a number of the
files are automatically generated by autoconf, automake, etcetera, or
by scripts in the Makefiles.
MANIFEST: this file
README: brief description of Meep and pointers to documentation etcetera
AUTHORS: list of major contributors to Meep
NEWS: summary of major changes in each Meep release
ChangeLog: detailed history of changes to Meep
TODO: a "to-do" list of possible future Meep features
COPYRIGHT: copyright statement for Meep
COPYING: GNU GPL license text
INSTALL: generic GNU installation instructions for configure scripts
Makefile.am: input for GNU automake (used to produce makefiles)
configure.ac: input file for GNU autoconf (used to produce configure script)
meep-pkgconfig.in: description of Meep libraries and headers for the
Freedesktop.org pkg-config tool (used by configure script to
produce actual pkg-config file when compiling)
Various files generated by GNU automake, autoconf, and libtool:
configure: script run by user to set up Makefile and other parts of build,
generated by autoconf from configure.ac,
Makefile.in: generated by automake from Makefile.am, used by configure
script to produce Makefile
config.h.in: generated by autoconf from configure.ac, used by configure
script to make config.h header file describing build environment
aclocal.m4: generated file by autoconf used in producing configure script
config.guess: autoconf script to guess build system
config.sub: autoconf script to canonicalize build-system name
depcomp: automake script to generate source-file dependencies
install-sh: automake helper script for installing software
ltmain.sh: libtool helper script for compiling shared libraries
missing: automake helper script to substitute for missing GNU programs
Subdirectories:
m4 subdirectory: GNU autoconf extensions used in building configure script
acx_blas.m4: check for a fast BLAS linear-algebra library
acx_mpi.m4: figure out how to compile/link code with MPI
ax_check_compiler_flags.m4: check whether FLAGS are accepted by the compiler
ax_compiler_vendor.m4: find vendor (gnu, intel, etc.) of the C/C++ compiler
ax_cxx_maxopt.m4: turn on optimization flags for the C++ compiler
ax_gcc_archflag.m4: find target architecture name for gcc -march/-mtune flags
ax_gcc_x86_cpuid.m4: run x86 cpuid instruction OP using gcc inline assembler
pkg.m4, libtool.m4, lt~obsolete.m4, ltoptions.m4, ltsugar.m4, ltversion.m4:
internal GNU libtool files produced by libtool and automake
libctl subdirectory: GNU Guile-based Scheme scripting interface for Meep
(uses SWIG simplified wrapper and interface generator
from www.swig.org, and also our libctl library
from ab-initio.mit.edu/libctl)
meep.scm.in: Scheme interface functions (used to generate meep.scm by
configure script)
casimir.scm: helper scripts for computing Casimir forces
meep.cpp: initialization routines and other wrappers for Scheme interface
structure.cpp: Scheme-callable routines to initialize simulation geometry
meep.i: input file for SWIG software which generates Scheme interface
from C++ header files
meep_renames.i, meep_enum_renames.i, meep_swig_bug_workaround.i,
meep_op_renames.i: overrides of SWIG naming conventions for various
interface functions (mostly automatically generated)
meep-ctl.hpp: header file for Scheme wrapper functions in C++
meep-ctl-const.hpp: some constants shared between C++ and Scheme
meep-ctl-swig.hpp: additional C++ functions exposed to Scheme via SWIG
meep_wrap.cxx: Scheme-callable wrappers for Meep C++ interface, generated
automatically by SWIG software
meep-enums.scm: Scheme versions of C++ constants and enums, generated
automatically
Makefile.am, Makefile.in: automake files, as described above
src subdirectory: main Meep source code
anisotropic_averaging.cpp: material initialization and subpixel averaging
bands.cpp: obsolete code to extract/output band diagrams from harminv
bicgstab.hpp: header file for biCGstab-L algorithm
bicgstab.cpp: implementation of biCGstab-L algorithm for CW solver
boundaries.cpp: routines to handle fields at chunk boundaries
casimir.cpp: routines to help compute quantum Casimir forces
control_c.cpp: routines to handle user termination requests during runs
cw_fields.cpp: routines for constant frequency solver
dft.cpp: routines for computing, storing, loading the discrete-time Fourier
transform of fields and related things like flux spectra
energy_and_flux.cpp: routines to compute energy and flux integrals
fields.cpp: basic method definitions for the fields and fields_chunk types
grace.cpp: (obsolete) routines for plotting datasets in Grace
h5fields.cpp: routines for outputting datasets in HDF5 format
h5file.cpp: routines for reading, writing, manipulating H5 files
initialize.cpp: routines for initializing currents and fields
integrate.cpp/integrate2.cpp: field integration routines
loop_in_chunks.cpp: generic function for looping over all points in chunk
monitor.cpp: (obsolete) routines for monitoring field(s) at a single point
mpb.cpp: routines for importing MPB eigenmodes as source
mympi.cpp: wrappers around MPI communications routines for parallel machines
output_directory.cpp: routines for creating directories for output
sources.cpp: routines for current sources
sphere-quad.h: header file for spherical quadrature routines
sphere-quad.cpp: implementation of spherical quadrature routines, used in
subpixel averaging
step.cpp: time stepping routines for fields
step_db.cpp: wrapper function for step curl routines
step_generic.cpp: implementation of step curl routines for D & B fields
and update E/H from D/B
step_generic_stride1.cpp: same as above, hard coded for stride=1
(automatically generated by Makefile)
stress.cpp: routines for computation of force spectrum via integration
of the Maxwell stress tensor of the Fourier transformed fields
structure.cpp: routines to initialize & manipulate structure chunks
susceptibility.cpp: polarization updates for various dispersive materials
time.cpp: routines for displaying time information
update_eh.cpp: wrapper function for update E/H from D/B
update_pols.cpp: updating polarization fields via susceptibility classes
vec.cpp: routines for initializing & manipulating vectors & volumes
meep.hpp: header file for all classes & functions in Meep API
meep_internals.hpp: header file for internal routines not part of Meep API
Makefile.am: input for GNU automake (used to produce makefiles)
Makefile.in: generated by automake from Makefile.am, used by configure
script to produce Makefile
meep subdirectory:
mympi.hpp: header file for mympi.cpp MPI wrappers
vec.hpp: header file for vector & volume types and loop macros
examples subdirectory: example Scheme input files, Meep tutorial
ring.ctl: calculating 2d ring-resonator modes
ring-cyl.ctl: calculating 2d ring-resonator modes using cylindrical
co-ordinates
material-dispersion.ctl: compute modes of homogeneous space filled with a
dispersive material
3rd-harm-1d.ctl: 1d simulation of a planewave propagating through a Kerr
medium and generating 3rd harmonic frequency component
bend-flux.ctl: transmission around a 90-degree waveguide bend in 2d
holey-wvg-bands.ctl: transmission & reflection through cavity formed by \\
periodic holes in dielectric waveguide with defect
holey-wvg-cavity.ctl: same as above
Makefile.am: input for GNU automake (used to produce makefiles)
Makefile.in: generated by automake from Makefile.am, used by configure
script to produce Makefile
tests subdirectory: self-test suite (run with 'make check')
known_results.cpp: time-stepping fields under multiple co-ordinates and
settings, comparing to hard-coded results for a fixed
specified tolerance
flux.cpp: multiple computations involving flux under different geometries
and conditions
cylindrical.cpp: cylindrical co-ordinates under various conditions
pml.cpp: verifying PML reflections converge to zero with resolution for all
co-ordinate systems, reflections show correct scaling with absorber
length
2D_convergence.cpp: bloch mode computation in 2d, compare to known result
and ensure quadratic convergence of eigenfrequency
bench.cpp: benchmark efficiency of time-stepping fields in multiple
co-ordinates and settings
bragg_transmission.cpp: comparing reflections and transmission in 1d bragg
grating to known analytical results
convergence_cyl_waveguide.cpp: block mode computation in cylindrical
co-ordinates, comparing to known result and
validating quadratic convergence
h5test.cpp: hdf5 file input and output operations
harmonics.cpp: nonlinear test program checking 2nd and 3rd order
harmonic generation
integrate.cpp: check of integration routines
one_dimensional.cpp: comparison of fields in 1d computational cell under
two different chunk splittings
physical.cpp: verifying field decay of radiating point source in 2d & 3d
using cw solver
symmetry.cpp: multiple computational cells under various conditions and
symmetries, comparing to unsymmeterized versions
three_d.cpp: 3d computational cell under various conditions with
different chunk splittings
two_dimensional.cpp: 2d computational cell under various conditions with
different chunk splittings
Makefile.am: input for GNU automake (used to produce makefiles)
Makefile.in: generated by automake from Makefile.am, used by configure
script to produce Makefile