v13n13a11
#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,desp_x;
int NL,iNL;
ang = 0.0*(pi/180.0);
desp_x = -0.4*sx;
NL = 20;
ofstream myfile100;myfile100.open ("b005.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";
for (iNL=0 ; iNL<=NL ; iNL++)
{
myfile100 << " " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center "<<0.25+iNL<<" 0)" << "\n";
myfile100 << " (size 0.5 sy infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 5.52))) " << "\n";
myfile100 << " )" << "\n";
myfile100 << " " << "\n";
myfile100 << " " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center "<<0.75+iNL<<" 0)" << "\n";
myfile100 << " (size 0.5 sy infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 2.13))) " << "\n";
myfile100 << " )" << "\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);
}
source_x=source_x+desp_x;
cout<<isources<<" "<<source<<" "<<source_x<<" "<<source_y <<" \n";
myfile100 << " (make source" << "\n";
myfile100 << " (src (make continuous-src (frequency 0.4)))"<< "\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 200" << "\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,desp_x;
int NL,iNL;
ang = 0.0*(pi/180.0);
desp_x = -0.4*sx;
NL = 20;
ofstream myfile100;myfile100.open ("b005.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";
for (iNL=0 ; iNL<=NL ; iNL++)
{
myfile100 << " " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center "<<0.25+iNL<<" 0)" << "\n";
myfile100 << " (size 0.5 sy infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 5.52))) " << "\n";
myfile100 << " )" << "\n";
myfile100 << " " << "\n";
myfile100 << " " << "\n";
myfile100 << " (make block " << "\n";
myfile100 << " (center "<<0.75+iNL<<" 0)" << "\n";
myfile100 << " (size 0.5 sy infinity) " << "\n";
myfile100 << " (material (make medium (epsilon 2.13))) " << "\n";
myfile100 << " )" << "\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);
}
source_x=source_x+desp_x;
cout<<isources<<" "<<source<<" "<<source_x<<" "<<source_y <<" \n";
myfile100 << " (make source" << "\n";
myfile100 << " (src (make continuous-src (frequency 0.53)))"<< "\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 200" << "\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");
}