Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure without libctl and guile #9

Closed
amrit-poudel opened this issue Oct 18, 2015 · 8 comments
Closed

configure without libctl and guile #9

amrit-poudel opened this issue Oct 18, 2015 · 8 comments

Comments

@amrit-poudel
Copy link

I would like to compile MPB to use it as a C++ library. However, the configure script keeps throwing guile-not-on-the-path error.

Is there a way to compile this library without libctl and guile?

Thanks.

@stevengj
Copy link
Collaborator

No, not currently.

@amrit-poudel
Copy link
Author

Thanks for the note.

While I can look at the source code to run mpb as a C++ library, is there already an example on how to calculate the band structure of photonics crystal using mpb as a C++ library?

@stevengj
Copy link
Collaborator

Only in the Meep source code. The usage of MPB as a library is pretty low-level and undocumented; I mainly enabled building of MPB as a library (long after MPB was written) for calling from Meep.

@amrit-poudel
Copy link
Author

I was looking for something like that. Thanks.

Is there a way to compile meep with mpb? I could not find anything about mpb on the link below.
http://ab-initio.mit.edu/wiki/index.php/Meep_Installation

@stevengj
Copy link
Collaborator

I should probably add a section to the Meep installation manual (feel free to file an issue), but if you configure Meep on a machine where MPB is already installed in a standard directory like /usr/local/lib (or you can use LDFLAGS and CPPFLAGS to specify additional paths, as described in the "installation paths" section of the manual), then it will automatically compile with MPB.

See also the eigenmode-source in the Meep reference manual, which uses MPB.

@amrit-poudel
Copy link
Author

I looked through the source code mpb.cpp, and it appears to me that it will compute one of the eigenmodes of a periodic system and will use that mode as an amplitude of the source in FDTD calculation.

Does this mean I will need to add another function to compute all (or up to certain energy range) the eigenmodes if I want to plot the band structure?

Thanks.

@stevengj
Copy link
Collaborator

What exactly are you trying to do?

If you want to plot band structures, why not run MPB directly?

@amrit-poudel
Copy link
Author

I was trying to avoid installing libctl and guile before I install MPB, but looks like MEEP needs MPB fully installed, so there is no way around libctl and guile.

(I can certainly use MPB to plot the band structure after I install libctl and guile)

I will close this issue.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants