Dear Ardavan, You just saved my day. Adding things into the scheme interface has been a mission impossible for me...
My last question would be: if I would like to implement a specific problem at a C++ level, are the following steps right? 1) put all the code in /src folder in code::Block or any other IDE, ignore the files in /libctl folder. 2) Write a class file that defines the structure, cavity, source etc. 3) Write a main function in that new class file to implement the solving process flow. I am going to implement this particular problem(s). http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Band_diagram%2C_resonant_modes%2C_and_transmission_in_a_holey_waveguide My supervisor would like me to explore how to interact with MEEP and do some development by myself. He would like to know the process of development in detail so that he can extend from meep and solve specific problems when necessary. Thank you so much again. -- Bin Huang (Bryan) MIT Graduate Student '10 Computation for Design and Optimization (+65)98947649 ________________________________________ From: Ardavan Oskooi [[email protected]] Sent: Monday, September 13, 2010 10:58 PM To: Bin Huang Cc: Nizamov Shawkat; [email protected] Subject: Re: [Meep-discuss] MEEP development Bin, Your timing is fortuitous. We are in the midst of finalizing a release that incorporates support for multilevel atomic media having an arbitrary number of levels, coupling matrix and inter-level transitions (generalizing the result from the Bermel et al. paper that you referenced). The next Meep release consolidates the dispersive polarization class succinctly into just one file which now unfortunately is scattered over multiple files in the source code (boundary conditions, timestepping, etc). We have removed all of the old code and rewritten large parts of it into a single new "susceptibility" class which contains all of the information needed for any kind of dispersive susceptibility. We even have a Scheme front end interface for this feature and will include an example of its usage in the tutorial section of the wiki when it is finally released. Currently, we are testing and debugging this feature and hope to have it released soon. Please be patient as we finalize this. Ardavan Bin Huang wrote: > Hi, > > Thanks for your reply again. > > You got me right. > 1) Now I am having a hard time trying to figure out how the Scheme objects > are linked to C++ classes. Which files do I need to add the definition for > ActiveRegion class? > > 2) After that, I need to figure out where to add the additional solver into > the existing C++ code. I am going to define an active region between the > cavities and solve the additional equations in this paper together with the > Maxwell Equations: > Active materials embedded in photonic crystals and coupled to electromagnetic > radiation (Pater Bermel et al). > > I would be really grateful if the original meep developers can enlighten me a > little bit on this. > -- > Bin Huang (Bryan) > MIT Graduate Student '10 > Computation for Design and Optimization > (+65)98947649 > ________________________________________ > From: Nizamov Shawkat [[email protected]] > Sent: Monday, September 13, 2010 2:41 AM > To: Bin Huang > Cc: [email protected] > Subject: Re: [Meep-discuss] MEEP development > > Hi! > > If I correctly understand you, you want to extend the simulation and > perform custom specific fields calculations, made on specified > regions, along the FDTD calculations. > > In this case you have several choices, all of them are undocumented, > but may be figured out looking through sources. If you deliberately > want to use Scheme for this, I think you have to figure the correct > sequence of timestepping code, implement it in Scheme and perform your > code when appropriate. You may also locate the timestepping code in > the C++ library and insert the callback for external procedure in > Scheme, but it is quite challenging. > All C++ implementation would be much easier. > > Maybe meep developers can suggest better approaches ? > > Hope it helps, > Shavkat Nizamov > > _______________________________________________ > meep-discuss mailing list > [email protected] > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss > _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

