File: meep-ctl-swig.hpp

package info (click to toggle)
meep 1.2.1-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 4,420 kB
  • ctags: 6,821
  • sloc: cpp: 62,027; sh: 11,405; lisp: 238; makefile: 194
file content (46 lines) | stat: -rw-r--r-- 1,677 bytes parent folder | download | duplicates (5)
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
// -*- C++ -*-
/* These are functions for the libctl front-end which are exported
   via SWIG. */

#ifndef MEEP_CTL_SWIG_HPP
#define MEEP_CTL_SWIG_HPP 1

vector3 vec_to_vector3(const meep::vec &);
meep::vec vector3_to_vec(const vector3 v3);
void set_dimensions(int dims);

meep::structure *make_structure(int dims, vector3 size, vector3 center,
				double resolution, bool enable_averaging,
				double subpixel_tol, int subpixel_maxeval,
				bool ensure_periodicity_p,
				ctlio::geometric_object_list geometry,
				ctlio::material_type_list extra_materials,
				ctlio::material_type default_mat,
				const char *eps_input_file,
				ctlio::pml_list pml_layers,
				ctlio::symmetry_list symmetries,
				int num_chunks, double Courant,
				double global_D_conductivity_diag_,
				double global_B_conductivity_diag_);

ctlio::cvector3_list do_harminv(ctlio::cnumber_list vals, double dt, 
				double fmin, double fmax, int maxbands);

ctlio::number_list dft_flux_flux(meep::dft_flux *f);
ctlio::number_list dft_force_force(meep::dft_force *f);
ctlio::number_list dft_ldos_ldos(meep::dft_ldos *f);
ctlio::cnumber_list dft_ldos_F(meep::dft_ldos *f);
ctlio::cnumber_list dft_ldos_J(meep::dft_ldos *f);

ctlio::cnumber_list make_casimir_g(double T, double dt, double sigma, meep::field_type ft,
				   complex<double> (*eps_func)(complex<double> omega) = 0,
				   double Tfft = 0);

ctlio::cnumber_list make_casimir_g_kz(double T, double dt, double sigma, meep::field_type ft);

// wrapper around constructor to fool SWIG
meep::volume_list *make_volume_list(const meep::volume &v,
				    int c, complex<double> weight,
				    meep::volume_list *next);

#endif // MEEP_CTL_SWIG_HPP