Varias fuentes



(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");
    }