aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/engineering.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/engineering.scm')
-rw-r--r--gnu/packages/engineering.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index a9b41757d7..e854878fab 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -64,6 +64,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@@ -905,3 +906,44 @@ determines the frequencies, decay constants, amplitudes, and phases of those sin
"Libctl is a Guile-based library implementing flexible control files
for scientific simulations.")
(license license:gpl2+)))
+
+(define-public mpb
+ (package
+ (name "mpb")
+ (version "1.5")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "http://ab-initio.mit.edu/mpb/mpb-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1mqb2d8jq957nksayjygq58iy8i42vjryzg9iy5fpfay31wzxsix"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-libctl="
+ (assoc-ref %build-inputs "libctl")
+ "/share/libctl"))))
+ (native-inputs
+ `(("fortran" ,gfortran)
+ ("pkg-config" ,pkg-config)
+ ("swig" ,swig)))
+ (inputs
+ `(("fftw" ,fftw)
+ ("gsl" ,gsl)
+ ("guile" ,guile-2.2)
+ ("hdf5" ,hdf5)
+ ("lapack" ,lapack)
+ ("libctl" ,guile-libctl)
+ ("readline" ,readline)
+ ("zlib" ,zlib)))
+ (home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
+ (synopsis "Computes band structures and electromagnetic modes of dielectric
+structures")
+ (description
+ "MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
+of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
+fully-vectorial and three-dimensional methods.")
+ (license license:gpl2+)))