(set! geometry-lattice (make lattice (size 100 100 no-size)))
(set! geometry
(list
(make block
(center -9 -9)
(size 0.1 0.1)
(material (make medium (epsilon 1.1)))
)
)
)
(set! sources
(list
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 0)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 1)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -1)
)
)
)
(set! pml-layers (list (make pml (thickness 1.0))))
(set! resolution 10)
(run-until 50
(at-beginning output-epsilon)
(to-appended "ez" (at-every 1.0 output-efield-z))
)
(set! geometry-lattice (make lattice (size 100 100 no-size)))
(set! geometry
(list
(make block
(center -9 -9)
(size 0.1 0.1)
(material (make medium (epsilon 1.1)))
)
)
)
(set! sources
(list
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 0)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 1)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -1)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 2)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -2)
)
)
)
(set! pml-layers (list (make pml (thickness 1.0))))
(set! resolution 10)
(run-until 50
(at-beginning output-epsilon)
(to-appended "ez" (at-every 1.0 output-efield-z))
)
(set! geometry-lattice (make lattice (size 100 100 no-size)))
(set! geometry
(list
(make block
(center -9 -9)
(size 0.1 0.1)
(material (make medium (epsilon 1.1)))
)
)
)
(set! sources
(list
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 0)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 1)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -1)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 2)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -2)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 3)
)
(make source
(src (make continuous-src (frequency 0.5)))
(component Ez)
(center 0 -3)
)
)
)
(set! pml-layers (list (make pml (thickness 1.0))))
(set! resolution 10)
(run-until 50
(at-beginning output-epsilon)
(to-appended "ez" (at-every 1.0 output-efield-z))
)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main( int argc, const char* argv[] )
{
double pi=2.0*asin(1.0);
double sx=100.0,sy=100.0,d=0.1,Om=0.5;
int Nsources=50,isources;
double source_iy=-25.0,source_fy=25.0,dsource_y,source_y;
ofstream myfile100;myfile100.open ("a001.ctl");
myfile100 << "(define-param sx " << sx << ")" << "\n";
myfile100 << "(define-param sy " << sy << ")" << "\n";
myfile100 << "(define-param d " << d << ")" << "\n";
myfile100 << "(define-param Om " << Om << ")" << "\n";
myfile100 << "(set! geometry-lattice" << "\n";
myfile100 << " (make lattice (size sx sy no-size))" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! geometry " << "\n";
myfile100 << " (list " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center -49 -49)" << "\n";
myfile100 << " (size d d infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 1.1))) " << "\n";
myfile100 << " )" << "\n";
myfile100 << " )" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! sources" << "\n";
myfile100 << " (list" << "\n";
dsource_y=(source_fy-source_iy)/float(Nsources);
cout<<dsource_y<<"\n";
for (isources=0 ; isources<=Nsources ; isources++)
{
source_y = source_iy+float(isources)*dsource_y;
cout<<isources<<" "<<source_y<<"\n";
myfile100 << " (make source" << "\n";
myfile100 << " (src (make continuous-src (frequency 0.5)))"<< "\n";
myfile100 << " (component Ez)" << "\n";
myfile100 << " (center 0 "<<source_y<<")" << "\n";
myfile100 << " (amplitude +1.0)" << "\n";
myfile100 << " )" << "\n";
}
myfile100 << " )" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! pml-layers" << "\n";
myfile100 << " (list (make pml (thickness 1.0)))" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! resolution 10)" << "\n";
myfile100 << "(run-until 100" << "\n";
myfile100 << " (at-beginning output-epsilon)" << "\n";
myfile100 << " (to-appended \"ez\"" << "\n";
myfile100 << " (at-every 1.0 output-efield-z))" << "\n";
myfile100 << ")" << "\n";
myfile100.close();
//system("meep a001.ctl > a001.out");
//system("h5topng -t 0:99 -R -Zc dkbluered -a yarg -A a001-eps-000000.00.h5 a001-ez.h5");
//system("convert a001*.png a001.gif");
}
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main( int argc, const char* argv[] )
{
double pi=2.0*asin(1.0);
double sx=100.0,sy=100.0,d=0.1,Om=0.5;
int Nsources=50,isources;
double source_i=-25.0,source_f=25.0,dsource,source;
double ang,source_x,source_y;
ang = 30.0*(pi/180.0);
ofstream myfile100;myfile100.open ("b001.ctl");
myfile100 << "(define-param sx " << sx << ")" << "\n";
myfile100 << "(define-param sy " << sy << ")" << "\n";
myfile100 << "(define-param d " << d << ")" << "\n";
myfile100 << "(define-param Om " << Om << ")" << "\n";
myfile100 << "(set! geometry-lattice" << "\n";
myfile100 << " (make lattice (size sx sy no-size))" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! geometry " << "\n";
myfile100 << " (list " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center -49 -49)" << "\n";
myfile100 << " (size d d infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 1.1))) " << "\n";
myfile100 << " )" << "\n";
myfile100 << " )" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! sources" << "\n";
myfile100 << " (list" << "\n";
dsource=(source_f-source_i)/float(Nsources);
for (isources=0 ; isources<=Nsources ; isources++)
{
source = source_i+float(isources)*dsource;
if(source<0)
{
source_x=+sin(ang)*abs(source);
source_y=-cos(ang)*abs(source);
}
if(source>=0)
{
source_x=-sin(ang)*abs(source);
source_y=+cos(ang)*abs(source);
}
cout<<isources<<" "<<source<<" "<<source_x<<" "<<source_y <<" \n";
myfile100 << " (make source" << "\n";
myfile100 << " (src (make continuous-src (frequency 0.5)))"<< "\n";
myfile100 << " (component Ez)" << "\n";
myfile100 << " (center "<<source_x<<" "<<source_y<<")" << "\n";
myfile100 << " (amplitude +1.0)" << "\n";
myfile100 << " )" << "\n";
}
myfile100 << " )" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! pml-layers" << "\n";
myfile100 << " (list (make pml (thickness 1.0)))" << "\n";
myfile100 << ")" << "\n";
myfile100 << "(set! resolution 10)" << "\n";
myfile100 << "(run-until 100" << "\n";
myfile100 << " (at-beginning output-epsilon)" << "\n";
myfile100 << " (to-appended \"ez\"" << "\n";
myfile100 << " (at-every 1.0 output-efield-z))" << "\n";
myfile100 << ")" << "\n";
myfile100.close();
//system("meep a001.ctl > a001.out");
//system("h5topng -t 0:99 -R -Zc dkbluered -a yarg -A a001-eps-000000.00.h5 a001-ez.h5");
//system("convert a001*.png a001.gif");
}