#include "interfconfigs.h" //----------------------------------------------------------------------------------- //----------------------------------------------------------------------------------- // Fonctions de creation de configuration d'interfero avec des dishs //----------------------------------------------------------------------------------- /* --Fonction -- */ vector CreateFilledSqConfig(int nd, double Ddish, double Eta) { vector vd; int cnt=0; for(int i=0; i>>CreateFilledSqConfig(" << nd << "," << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateSemiFilledSqConfig(int nd, double Ddish, double Eta) { vector vd; int cnt=0; int fgst=1; for(int i=0; i>>CreateSemiFilledSqConfig(" << nd << "," << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigA(double Ddish, double Eta) { vector vd; int cnt=0; for(int i=0; i<18; i++) { cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, i*Ddish, 17.*Ddish,Eta*Ddish)); if ((i>0)&&(i<17)) { cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,17.*Ddish,i*Ddish,Eta*Ddish)); } } cout << ">>>CreateConfigA(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigB(double Ddish, double Eta) { vector vd; int cnt=0; /* for(int i=0; i<13; i++) { cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, i*Ddish, 12.*Ddish,Eta*Ddish)); if ((i>0)&&(i<12)) { cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,12.*Ddish,i*Ddish,Eta*Ddish)); } } for(int i=0; i<5; i++) { cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish,4.*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 8.*Ddish,Eta*Ddish)); if ((i>0)&&(i<4)) { cnt++; vd.push_back(Dish(cnt,4.*Ddish,(i+4)*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,8.*Ddish,(i+4)*Ddish,Eta*Ddish)); } } */ for(int i=0; i<11; i++) { cnt++; vd.push_back(Dish(cnt, i*Ddish,0.,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, i*Ddish, 10.*Ddish,Eta*Ddish)); if ((i>0)&&(i<10)) { cnt++; vd.push_back(Dish(cnt,0.,i*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,10.*Ddish,i*Ddish,Eta*Ddish)); } } for(int i=0; i<7; i++) { cnt++; vd.push_back(Dish(cnt, (i+2)*Ddish, 2.*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, (i+2)*Ddish, 8.*Ddish,Eta*Ddish)); if ((i>0)&&(i<6)) { cnt++; vd.push_back(Dish(cnt,2.*Ddish,(i+2)*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,8.*Ddish,(i+2)*Ddish,Eta*Ddish)); } } for(int i=0; i<3; i++) { cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 4.*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt, (i+4)*Ddish, 6.*Ddish,Eta*Ddish)); if ((i>0)&&(i<2)) { cnt++; vd.push_back(Dish(cnt,4.*Ddish,(i+4)*Ddish,Eta*Ddish)); cnt++; vd.push_back(Dish(cnt,6.*Ddish,(i+4)*Ddish,Eta*Ddish)); } } cout << ">>>CreateConfigB(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigC(double Ddish, double Eta) { vector lesx, lesy; int max = 16; for(int i=0; i<4; i++) for(int j=0; j<4; j++) { lesx.push_back(i); lesy.push_back(j); lesx.push_back(max-i); lesy.push_back(max-j); lesx.push_back(i); lesy.push_back(max-j); lesx.push_back(max-i); lesy.push_back(j); } for(int i=5; i<12; i+=2) { lesx.push_back(i); lesy.push_back(0); lesx.push_back(i); lesy.push_back(max); lesx.push_back(0); lesy.push_back(i); lesx.push_back(max); lesy.push_back(i); } for(int i=4; i<=12; i+=2) for(int j=4; j<=12; j+=2) { lesx.push_back(i); lesy.push_back(j); } for(int i=5; i<=11; i+=2) { lesx.push_back(i); lesy.push_back(4); lesx.push_back(i); lesy.push_back(max-4); lesx.push_back(4); lesy.push_back(i); lesx.push_back(max-4); lesy.push_back(i); } EnumeratedSequence esx,esy; esx = 2,5; esy = 5,2; for(int k=0; k>>CreateConfigC(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigD(double Ddish, double Eta) { EnumeratedSequence es; es = 0,1,3,4,6,8,10,12,14,16,18,20,22,24,25,27,28; vector lesx, lesy; for(int k=0; k>>CreateConfigD(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigNancay12(double Ddish, double Eta) { EnumeratedSequence esx,esy; esx = 0,1,3; esy = 0,1,2,3; vector vd; int cnt=0; for(int ix=0; ix>>CreateConfigNancay12(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigNancay24(double Ddish, double Eta) { EnumeratedSequence esx,esy; esx = 0,1,3,5; esy = 0,1,2,3,4,5; vector vd; int cnt=0; for(int ix=0; ix>>CreateConfigNancay24(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigNancay36(double Ddish, double Eta) { EnumeratedSequence esx,esy; esx = 0,1,2,3,4,5; esy = 0,1,2,3,4,5; vector vd; int cnt=0; for(int ix=0; ix>>CreateConfigNancay36(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigNancay40(double Ddish, double Eta) { EnumeratedSequence esx,esy; esx = 0,1,3,5,7; esy = 0,1,2,3,4,5,6,7; vector vd; int cnt=0; for(int ix=0; ix>>CreateConfigNancay40(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateConfigNancay128(double Ddish, double Eta) { EnumeratedSequence esx,esy; esx = 0,1,3,4,7,10,13,15; esy = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; vector vd; int cnt=0; for(int ix=0; ix>>CreateConfigNancay128(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateFilledCylConfig(int ncyl, int nRL, double cylW, double cylRL, double etaW, double etaRL, bool fgscid) { vector vd; int cnt=0; for(int i=0; i>>CreateFilledCylConfig(" << ncyl << "," << nRL << "," << cylW << "," << cylRL << "," << etaW << "," << etaRL << "," << ((fgscid)?" RId=CylNum":"Cnt") << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateCrossConfig(double Ddish, double base, double Eta) { vector vd; int cnt=0; EnumeratedSequence esx,esy; esx = -6.,-2.,1.,3.,5.; esy = -5.,-1.,2.,4.,6.; cnt++; vd.push_back(Dish(cnt, 0., 0., Eta*Ddish)); for(int k=0; k>>CreateCrossConfig(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; } /* --Fonction -- */ vector CreateDoubleHexagonConfig(double Ddish, double radius1, double radius2, double Eta) { vector vd; int cnt=0; double ang=0.; for(int i=0; i<6; i++) { double x=cos(ang)*radius1; double y=sin(ang)*radius1; cnt++; vd.push_back(Dish(cnt, x, y, Eta*Ddish)); ang += M_PI/3.; } ang=M_PI/6.; for(int i=0; i<6; i++) { double x=cos(ang)*radius2; double y=sin(ang)*radius2; cnt++; vd.push_back(Dish(cnt, x, y, Eta*Ddish)); ang += M_PI/3.; } cout << ">>>CreateDoubleHexagonConfig(" << Ddish << "," << Eta << ") ---> NDishes=" << vd.size() << endl; return vd; }