Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects
Commit 090544aa authored by gsell's avatar gsell
Browse files

Merge branch '389-removed-unused-nsga2-directory' into 'master'

Resolve "removed unused nsga2 directory"

Closes #389

See merge request !201
parents 1d423599 dee4a211
No related branches found
No related tags found
1 merge request!201Resolve "removed unused nsga2 directory"
Showing
with 0 additions and 10087 deletions
# FinPhase3.data
#
# checked by Hao Zha in 15:33, 21/02/2011, with the data from *110217_1512.snap
# add quadrupoles by Hao Zha in 17:09, 27/02/2011. The data were from *110217_1512.snap
#
# CTF3 GUN
#
FINSS_RGUN_dphi -3.30 # Gun phase [deg] w.r.t autophase -3.25
FINSS_RGUN_volt 100.0 # Gun voltage [MV]
D_LAG_RGUN 0.0
#
#
# Traveling Wave Stuctures
#
FINSB01_RACC_dphi 0.0 # TW-Structure phase w.r.t autophase [deg]
FINSB02_RACC_dphi 0.0 # TW-Structure phase w.r.t autophase [deg]
FINSB03_RACC_dphi 0.0 # TW-Structure phase w.r.t autophase [deg]
FINSB04_RACC_dphi -34.2 # TW-Structure phase w.r.t autophase [deg]
FINXB_RACC_dphi 0.0 # X-band phase w.r.t autophase [deg]
FIND1_RTDC_dphi 0.0 # TDC at low energy
F10D1_RTDC_dphi 0.0 # TDC ay higher energy
D_LAG_B01 0.0
D_LAG_B02 0.0
#
FINSB01_RACC_volt 19 # TW-Structure voltage [MV]
FINSB02_RACC_volt 25 # TW-Structure voltage [MV]
FINSB03_RACC_volt 25 # TW-Structure voltage [MV]
FINSB04_RACC_volt 0.0 # TW-Structure voltage [MV]
#
FIND1_RTDC_volt 0.0 # TDC voltage [MV]
F10D1_RTDC_volt 0.0 # TDC voltage [MV]
#
FINXB_RACC_volt 0.0 # TW-Structure voltage [MV]
#
#
FIND1_MSOL10_i 116.5
#
# Solenoids over the
# first 2 TW Stuctures
#
FINSB01_MSOL10_ks 0.04 #
FINSB01_MSOL20_ks 0.04 #
FINSB01_MSOL30_ks 0.08 #
FINSB01_MSOL40_ks 0.08 #
#
FINSB02_MSOL10_ks 0.068 #
FINSB02_MSOL20_ks 0.068 #
FINSB02_MSOL30_ks 0.068 #
FINSB02_MSOL40_ks 0.068 #
#
FINSB03_MSOL10_ks 0.02 #
FINSB03_MSOL20_ks 0.02 #
FINSB03_MSOL30_ks 0.02 #
FINSB03_MSOL40_ks 0.02 #
#
FINSB04_MSOL10_ks 0.0 #
FINSB04_MSOL20_ks 0.0 #
FINSB04_MSOL30_ks 0.0 #
FINSB04_MSOL40_ks 0.0 #
#
#
FINXB_MQUA10_k1 -0.3663 #
FINXB_MQUA20_k1 2.8417 #
FINXB_MQUA30_k1 -2.7941 #
FINXB_MQUA40_k1 2.1990 #
FINXB_MQUA50_k1 -1.3724 # Hao : the original line is 'FINXB_MQUA10_k1', is this a spell mistake ?
F10D1_MQUA10_k1 0.0 #
F10D1_MQUA15_k1 0.0 #
F10D1_MQUA20_k1 0.0 #
F10D1_MQUA25_k1 0.0 #
F10D1_MQUA30_k1 0.0 #
F10D1_MQUA35_k1 0.0 #
F10D1_MQUA40_k1 0.0 #
F10D1_MQUA45_k1 0.0 #
F10D1_MQUA50_k1 0.0 #
F10D1_MQUA55_k1 0.0 #
F10D1_MQUA60_k1 0.0 #
F10D1_MQUA65_k1 0.0 #
F10D1_MQUA70_k1 0.0 #
F10D1_MQUA75_k1 0.0 #
F10D1_MQUA80_k1 0.0 #
F10D1_MQUA85_k1 0.0 #
F10D1_MQUA90_k1 0.0 #
F10D1_MQUA95_k1 0.0 #
#
#
TFWHM 6.03 # Laser fwhm time [ps]
TRISE 0.432 # Laser rise time [ps] Simona: it was 4.32
TFALL 0.432 # Laser fall time [ps] Simona: it was 4.32
CUTOFF 4.0 # Cutoff in units of sigma
#
SIGX 275 # Laser spot size (x) [um]
SIGY 275 # Laser spot size (y) [um]
#
EKIN 0.63 # kinetic energy of electrons at emission [eV]
QBUNCH 200 # Bunch charge [pC]
#
NBIN 8 # Number of energy bins (gun)
#
MX 2 # Mesh size in X Simona: it was 64
MY 2 # Mesh size in Y Simona: it was 64
MT 2 # Mesh size in T/Z Simona: it was 1024
#
NPART 1E8 # Number of simulation particles
#
DT 5.0 # time step in beamline [ps]
DTGUN 0.1 # time step in gun [ps]
#
ZSTOP 13.0 # z where simulation stops [m]
ZSTOPGUN 0.2 # z where simulation of the gun stops [m]
#
CORES 32 # number of cores (cpus) to use
#
FREQ 2997.912 # rf frequency Mhz
#
H5PSFQ 5000 # h5 phase space dump frequency Simona: it was 500
#
USEET -1 # flag for envelope-tracker (-1 == OPAL-t 1 == OPAL-e)
#
NSLICE 100 # number of slices for opal-e
#
FTOSCAMPLITUDE 1 # amplidude
#
FTOSCPERIODS 100 # periods
OPTION, ECHO=FALSE;
OPTION, INFO=FALSE;
OPTION, PSDUMPFREQ=10000000000;
OPTION, STATDUMPFREQ=10000000000;
// Now template file is according to the HL Phase2 from the Wicki, 16/2/2011 H. Zha, A. Adelmann
// add third track for drift AA
// add quadrupoles, 17:39, 27/02/2011, Hao Zha
// modify many errors, 03/03/2011, Hao Zha
// add a negitive offset for each TW solenoid, 09/03/2011, Hao Zha
// change the variable of gun solenoid from B field to current, 09/03/2011, Hao Zha
// modify the formular for gun solenoid according to the Wiki page, 15/03/2011, Hao Zha
// TYPE=NOAP prevents from beign autophased
TITLE, STRING="SwissFEL Injector, Phase 3 (January 2011) 1D TWS fieldmap";
REPARTFREQ = 500;
MINSTEPFORREBIN = 1000;
QB = _QBUNCH_;
BFREQ = _FREQ_;
BCURRENT = QB*BFREQ*1e6;
// Hao : I assume that this variable would be 0.0 when I check the ELEMEDGE of each element
TWFMAPSHIFT = 0.075; //To be compatible with ASTRA , Hao : modify it to align center, old = 0.05
TWSOLSHIFT = -0.375; //To align field center
USE_ET = 1;
// FIXME: emit_s always = 0
//d1: DVAR, VARIABLE="SIGX", LOWERBOUND="0.000250", UPPERBOUND="0.000290";
//d2: DVAR, VARIABLE="FIND1_MSOL10_i", LOWERBOUND="110", UPPERBOUND="120";
//d3: DVAR, VARIABLE="D_LAG_RGUN", LOWERBOUND="0.0", UPPERBOUND="0.05";
//d4: DVAR, VARIABLE="FINSB01_RACC_volt", LOWERBOUND="25", UPPERBOUND="40";
//d5: DVAR, VARIABLE="FINSB02_RACC_volt", LOWERBOUND="25", UPPERBOUND="40";
//d6: DVAR, VARIABLE="FINSB01_MSOL10_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d7: DVAR, VARIABLE="FINSB01_MSOL20_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d8: DVAR, VARIABLE="FINSB01_MSOL30_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d9: DVAR, VARIABLE="FINSB01_MSOL40_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d10: DVAR, VARIABLE="FINSB02_MSOL10_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d11: DVAR, VARIABLE="FINSB02_MSOL20_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d12: DVAR, VARIABLE="FINSB02_MSOL30_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//d13: DVAR, VARIABLE="FINSB02_MSOL40_ks", LOWERBOUND="0.1", UPPERBOUND="0.5";
//obj1: OBJECTIVE, EXPR="dE";
//obj2: OBJECTIVE, EXPR="emit_x";
//obj3: OBJECTIVE, EXPR="emit_s";
//c1: CONSTRAINT, EXPR="energy > 130";
//objs: OBJECTIVES = (obj1, obj2, obj3);
//dvars: DVARS = (d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13);
//constrs: CONSTRAINTS = (c1);
//opt: OPTIMIZE, OBJECTIVES=objs, DVARS=dvars, CONSTRAINTS=constrs;
IF (USE_ET > 0) {
OPTION, AUTOPHASE=0;
FINSS_RGUN_dphi = 2.23245;
FINSB01_RACC_dphi = 1.2482;
FINSB02_RACC_dphi = 1.1526;
FINSB03_RACC_dphi = 0.0/180.0*PI;
FINSB04_RACC_dphi = -34.2/180.0*PI;
FINXB_RACC_dphi = 0.0/180.0*PI;
FIND1_RTDC_dphi = 0.0/180.0*PI;
F10D1_RTDC_dphi = 0.0/180.0*PI;
}
else {
OPTION, AUTOPHASE=0;
FINSS_RGUN_dphi = _FINSS_RGUN_dphi_/180.0*PI;
FINSB01_RACC_dphi = _FINSB01_RACC_dphi_/180.0*PI;
FINSB02_RACC_dphi = _FINSB02_RACC_dphi_/180.0*PI;
FINSB03_RACC_dphi = _FINSB03_RACC_dphi_/180.0*PI;
FINSB04_RACC_dphi = _FINSB04_RACC_dphi_/180.0*PI;
FINXB_RACC_dphi = _FINXB_RACC_dphi_/180.0*PI;
FIND1_RTDC_dphi = _FIND1_RTDC_dphi_/180.0*PI;
F10D1_RTDC_dphi = _F10D1_RTDC_dphi_/180.0*PI;
}
// -----------------------------------------------------------------------------------------
// RF-COMPONENTS
// -----------------------------------------------------------------------------------------
// Hao: the L and ELEMEDGE of these elements were checked in 9:53 AM, 16-02-2011 from HI.Liste @ Phase 2
// Hao : I assume that the variable TWFMAOSHIFT would be 0.0 when I check the ELEMEDGE of each element
FINSS_RGUN: RFCAVITY, L = 0.25, VOLT = _FINSS_RGUN_volt_, FMAPFN = "FINSS-RGUN.dat",
ELEMEDGE = 0.0, TYPE = "STANDING", FREQ = _FREQ_,
LAG = FINSS_RGUN_dphi; // + _D_LAG_RGUN_;
FINSB01_RACC: TRAVELINGWAVE, L = 4.15, VOLT = _FINSB01_RACC_volt_, FMAPFN = "TWS_PSI_Sband_ASTRA.dat",
ELEMEDGE = 2.95+TWFMAPSHIFT, NUMCELLS = 120, MODE = 1/3,
ACCURACY = 39, FREQ = 2998.0, LAG = FINSB01_RACC_dphi;// + _D_LAG_B01_;
FINSB02_RACC: TRAVELINGWAVE, L = 4.15, VOLT = _FINSB02_RACC_volt_, FMAPFN = "TWS_PSI_Sband_ASTRA.dat",
ELEMEDGE = 7.95+TWFMAPSHIFT, NUMCELLS = 120, MODE = 1/3,
ACCURACY = 39, FREQ = 2998.0, LAG = FINSB02_RACC_dphi;// + _D_LAG_B02_;
FINSB03_RACC: TRAVELINGWAVE, L = 4.15, VOLT = _FINSB03_RACC_volt_, FMAPFN = "TWS_PSI_Sband_ASTRA.dat",
ELEMEDGE = 12.95+TWFMAPSHIFT, NUMCELLS = 120, MODE = 1/3,
ACCURACY = 39, FREQ = 2998.0, LAG = FINSB03_RACC_dphi;
FINSB04_RACC: TRAVELINGWAVE, L = 4.15, VOLT = _FINSB04_RACC_volt_, FMAPFN = "TWS_PSI_Sband_ASTRA.dat",// Hao : add quadrupoles
ELEMEDGE = 17.95+TWFMAPSHIFT, NUMCELLS = 120, MODE = 1/3,
ACCURACY = 39, FREQ = 2998.0, LAG = FINSB04_RACC_dphi; // Hao: this element cann't be found
FINXB_RACC: TRAVELINGWAVE, L = 0.965, VOLT = _FINXB_RACC_volt_, FMAPFN = "FINSB01-RACC.T7",
ELEMEDGE = 24.95+TWFMAPSHIFT, NUMCELLS = 120, MODE = 1/3,
ACCURACY = 39, FREQ = 11000.0, LAG = FINXB_RACC_dphi; // Hao: this element cann't be found
FIND1_RTDC: RFCavity, TYPE=NOAP, L = 0.1, VOLT = _FIND1_RTDC_volt_, FMAPFN = "FIND1_RTDC.h5part",
ELEMEDGE = 0.9665, TYPE = "STANDING", FREQ = 3003.13,
LAG = FIND1_RTDC_dphi;
F10D1_RTDC: RFCavity, TYPE=NOAP, L = 0.4388, VOLT = _F10D1_RTDC_volt_, FMAPFN = "FIND1_RTDC.h5part",
ELEMEDGE = 42.4711, TYPE = "STANDING", FREQ = 3003.13,
LAG = F10D1_RTDC_dphi; // Hao: old L = 0.441
// --------------------------------------------------------------------------------------------------------------
// SOLENOIDS
// --------------------------------------------------------------------------------------------------------------
// Hao: the L and ELEMEDGE of these elements were checked in 9:58 AM, 16-02-2011 from HI.Liste @ Phase 2
FIND1_MSOL10: SOLENOID, L = 0.26, KS = _FIND1_MSOL10_i_*0.38704/220 + 0.0022, FMAPFN = "NEW_SINGLE_SOL_NOFRINGE_OPAL.dat", ELEMEDGE = 0.3; // Hao: old L = 0.6, ELEMEDGE = 0.3
FINSB01_MSOL10: SOLENOID, L = 0.75, KS = _FINSB01_MSOL10_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 3.375 + TWSOLSHIFT;
FINSB01_MSOL20: SOLENOID, L = 0.75, KS = _FINSB01_MSOL20_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 4.225 + TWSOLSHIFT;
FINSB01_MSOL30: SOLENOID, L = 0.75, KS = _FINSB01_MSOL30_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 5.075 + TWSOLSHIFT;
FINSB01_MSOL40: SOLENOID, L = 0.75, KS = _FINSB01_MSOL40_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 5.925 + TWSOLSHIFT;
FINSB02_MSOL10: SOLENOID, L = 0.75, KS = _FINSB02_MSOL10_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 8.375 + TWSOLSHIFT;
FINSB02_MSOL20: SOLENOID, L = 0.75, KS = _FINSB02_MSOL20_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 9.225 + TWSOLSHIFT;
FINSB02_MSOL30: SOLENOID, L = 0.75, KS = _FINSB02_MSOL30_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 10.075 + TWSOLSHIFT;
FINSB02_MSOL40: SOLENOID, L = 0.75, KS = _FINSB02_MSOL40_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 10.925 + TWSOLSHIFT;
FINSB03_MSOL10: SOLENOID, L = 0.75, KS = _FINSB03_MSOL10_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 13.375 + TWSOLSHIFT;
FINSB03_MSOL20: SOLENOID, L = 0.75, KS = _FINSB03_MSOL20_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 14.225 + TWSOLSHIFT;
FINSB03_MSOL30: SOLENOID, L = 0.75, KS = _FINSB03_MSOL30_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 15.075 + TWSOLSHIFT;
FINSB03_MSOL40: SOLENOID, L = 0.75, KS = _FINSB03_MSOL40_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 15.925 + TWSOLSHIFT;
FINSB04_MSOL10: SOLENOID, L = 0.75, KS = _FINSB04_MSOL10_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 18.375 + TWSOLSHIFT; // Hao: this element cann't be found
FINSB04_MSOL20: SOLENOID, L = 0.75, KS = _FINSB04_MSOL20_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 19.225 + TWSOLSHIFT; // Hao: this element cann't be found
FINSB04_MSOL30: SOLENOID, L = 0.75, KS = _FINSB04_MSOL30_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 20.075 + TWSOLSHIFT; // Hao: this element cann't be found
FINSB04_MSOL40: SOLENOID, L = 0.75, KS = _FINSB04_MSOL40_ks_, FMAPFN = "INSB_MSLAC_Bz_NOFRINGE_OPAL.dat", ELEMEDGE = 20.925 + TWSOLSHIFT; // Hao: this element cann't be found
END: SOLENOID, L=0.01, KS = 0.0, ELEMEDGE=70., FMAPFN="INSB_MSLAC_Bz_NOFRINGE_OPAL.dat"; // Hao: this element cann't be found
// --------------------------------------------------------------------------------------------------------------
// QUADRUPOLES
// --------------------------------------------------------------------------------------------------------------
// Hao: the L and ELEMEDGE of these elements were checked in 10:01 AM, 16-02-2011 from HI.Liste @ Phase 2
FINXB_MQUA10: QUADRUPOLE, L = 0.15, K1= _FINXB_MQUA10_k1_, ELEMEDGE = 22.93;
FINXB_MQUA20: QUADRUPOLE, L = 0.15, K1= _FINXB_MQUA20_k1_, ELEMEDGE = 23.28;
FINXB_MQUA30: QUADRUPOLE, L = 0.15, K1= _FINXB_MQUA30_k1_, ELEMEDGE = 23.63;
FINXB_MQUA40: QUADRUPOLE, L = 0.15, K1= _FINXB_MQUA40_k1_, ELEMEDGE = 27.01;
FINXB_MQUA50: QUADRUPOLE, L = 0.15, K1= _FINXB_MQUA50_k1_, ELEMEDGE = 27.36; // Hao: the K1 of this must be MQUA50 ?
F10D1_MQUA10: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA10_k1_, ELEMEDGE = 39.652;
F10D1_MQUA15: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA15_k1_, ELEMEDGE = 40.011;
F10D1_MQUA20: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA20_k1_, ELEMEDGE = 40.611;
F10D1_MQUA25: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA25_k1_, ELEMEDGE = 41.211;
F10D1_MQUA30: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA30_k1_, ELEMEDGE = 41.811;
F10D1_MQUA35: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA35_k1_, ELEMEDGE = 43.511;
F10D1_MQUA40: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA40_k1_, ELEMEDGE = 44.087;
F10D1_MQUA45: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA45_k1_, ELEMEDGE = 44.687;
F10D1_MQUA50: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA50_k1_, ELEMEDGE = 45.437;
F10D1_MQUA55: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA55_k1_, ELEMEDGE = 46.037;
F10D1_MQUA60: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA60_k1_, ELEMEDGE = 47.043;
F10D1_MQUA65: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA65_k1_, ELEMEDGE = 48.543;
F10D1_MQUA70: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA70_k1_, ELEMEDGE = 50.043;
F10D1_MQUA75: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA75_k1_, ELEMEDGE = 51.543;
F10D1_MQUA80: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA80_k1_, ELEMEDGE = 53.043;
F10D1_MQUA85: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA85_k1_, ELEMEDGE = 54.543;
F10D1_MQUA90: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA90_k1_, ELEMEDGE = 56.043;
F10D1_MQUA95: QUADRUPOLE, L = 0.15, K1= _F10D1_MQUA95_k1_, ELEMEDGE = 57.543;
// --------------------------------------------------------------------------------------------------------------
// SCREENS
// --------------------------------------------------------------------------------------------------------------
// Hao, Andreas: these SCREENS were created in 10:20 AM, 16-02-2011 from HI.Liste @ Phase 2
FIND1_DSCR10: MONITOR, L=0.01, ELEMEDGE=0.902, OUTFN="FIND1_DSCR10.h5";
FIND1_DSCR20: MONITOR, L=0.01, ELEMEDGE=1.1259, OUTFN="FIND1_DSCR20.h5";
FIND100_DSCR10: MONITOR, L=0.01, ELEMEDGE=2.249, OUTFN="FIND100_DSCR10.h5";
FIND100_DSCR20: MONITOR, L=0.01, ELEMEDGE=2.735, OUTFN="FIND100_DSCR20.h5";
FINSB01_DSCR10: MONITOR, L=0.01, ELEMEDGE=7.5875, OUTFN="FINSB01_DSCR10.h5";
//FINSB02_DSCR10: MONITOR, L=0.01, ELEMEDGE=12.5505, OUTFN="FINSB02_DSCR10.h5";
FINSB02_DSCR10: MONITOR, L=0.01, ELEMEDGE=12.50, OUTFN="FINSB02_DSCR10.h5";
FINSB03_DSCR10: MONITOR, L=0.01, ELEMEDGE=17.5505, OUTFN="FINSB03_DSCR10.h5";
FINSB04_DSCR10: MONITOR, L=0.01, ELEMEDGE=22.5505, OUTFN="FINSB04_DSCR10.h5";
FINXB_DSCR10: MONITOR, L=0.01, ELEMEDGE=24.653, OUTFN="FINXB_DSCR10.h5";
FINXB_DSCR20: MONITOR, L=0.01, ELEMEDGE=26.212, OUTFN="FINXB_DSCR20.h5";
FINXB_DSCR30: MONITOR, L=0.01, ELEMEDGE=33.2775, OUTFN="FINXB_DSCR30.h5";
F10D1_DSCR10: MONITOR, L=0.01, ELEMEDGE=40.305, OUTFN="F10D1_DSCR10.h5";
F10D1_DSCR20: MONITOR, L=0.01, ELEMEDGE=42.272, OUTFN="F10D1_DSCR20.h5";
F10D1_DSCR30: MONITOR, L=0.01, ELEMEDGE=43.129, OUTFN="F10D1_DSCR30.h5";
F10D1_DSCR40: MONITOR, L=0.01, ELEMEDGE=46.615, OUTFN="F10D1_DSCR40.h5";
F10D1_DSCR45: MONITOR, L=0.01, ELEMEDGE=47.868, OUTFN="F10D1_DSCR45.h5";
F10D1_DSCR50: MONITOR, L=0.01, ELEMEDGE=49.368, OUTFN="F10D1_DSCR50.h5";
F10D1_DSCR55: MONITOR, L=0.01, ELEMEDGE=50.868, OUTFN="F10D1_DSCR55.h5";
F10D1_DSCR60: MONITOR, L=0.01, ELEMEDGE=52.368, OUTFN="F10D1_DSCR60.h5";
F10D1_DSCR65: MONITOR, L=0.01, ELEMEDGE=53.868, OUTFN="F10D1_DSCR65.h5";
F10D1_DSCR70: MONITOR, L=0.01, ELEMEDGE=55.368, OUTFN="F10D1_DSCR70.h5";
F10D1_DSCR75: MONITOR, L=0.01, ELEMEDGE=56.868, OUTFN="F10D1_DSCR75.h5";
F10D100_DSCR10: MONITOR, L=0.01, ELEMEDGE=60.824, OUTFN="F10D100_DSCR10.h5";
F10D101_DSCR10: MONITOR, L=0.01, ELEMEDGE=60.824, OUTFN="F10D101_DSCR10.h5";
SCREEN_END: MONITOR, L=0.01, ELEMEDGE=22.90, OUTFN="SCREEN_END.h5"; //Simona: added a screen at the end of the simulation
Screens: Line = (FIND1_DSCR10, FIND1_DSCR20, FIND100_DSCR10, FIND100_DSCR20,
FINSB01_DSCR10, FINSB02_DSCR10, FINSB03_DSCR10, FINSB04_DSCR10,
F10D1_DSCR45, F10D1_DSCR50, F10D1_DSCR55, F10D1_DSCR60, // Hao : add more screens
F10D1_DSCR65, F10D1_DSCR70, F10D1_DSCR75,SCREEN_END); //Simona: added a screen at 22.90 m
// --------------------------------------------------------------------------------------------------------------
if (USE_ET > 0) {
InjectorPhase3: Line = (FINSS_RGUN,FIND1_MSOL10,
FINSB01_RACC,FINSB01_MSOL10,FINSB01_MSOL20,FINSB01_MSOL30,FINSB01_MSOL40,
FINSB02_RACC,FINSB02_MSOL10,FINSB02_MSOL20,FINSB02_MSOL30,FINSB02_MSOL40,
END);
}
else {
InjectorPhase3: Line = (FINSS_RGUN,FIND1_MSOL10,
FINSB01_RACC,FINSB01_MSOL10,FINSB01_MSOL20,FINSB01_MSOL30,FINSB01_MSOL40,
FINSB02_RACC,FINSB02_MSOL10,FINSB02_MSOL20,FINSB02_MSOL30,FINSB02_MSOL40,
FINXB_MQUA10, FINXB_MQUA20, FINXB_MQUA30, FINXB_MQUA40, FINXB_MQUA50, // Hao : add quadrupoles
F10D1_MQUA10, F10D1_MQUA15, F10D1_MQUA20, F10D1_MQUA25, F10D1_MQUA30, // Hao : add quadrupoles
F10D1_MQUA35, F10D1_MQUA40, F10D1_MQUA45, F10D1_MQUA50, F10D1_MQUA55, // Hao : add quadrupoles
F10D1_MQUA60, F10D1_MQUA65, F10D1_MQUA70, F10D1_MQUA75, F10D1_MQUA80, // Hao : add quadrupoles
F10D1_MQUA85, F10D1_MQUA90, F10D1_MQUA95,
Screens,
END);
}
if (USE_ET > 0) {
Dist1: DISTRIBUTION, DISTRIBUTION = "GUNGAUSSFLATTOPTH",
SIGMAX = 2*_SIGX_, SIGMAPX = 0.0, CORRX = 0.0,
SIGMAY = 2*_SIGX_, SIGMAPY = 0.0, CORRY = 0.0,
SIGMAT = 0.0, PT = 0.0, SIGMAPT = 0.0, CORRT = 0.0,
TRISE = _TRISE_, TFALL = _TFALL_, TPULSEFWHM = _TFWHM_,
EKIN = _EKIN_, NBIN = _NBIN_;
}
else{
Dist1: DISTRIBUTION, DISTRIBUTION = "GUNGAUSSFLATTOPTH",
SIGMAX = 2*_SIGX_, SIGMAPX = 0.0, CORRX = 0.0,
SIGMAY = 2*_SIGY_, SIGMAPY = 0.0, CORRY = 0.0,
SIGMAT = 0.0, PT = 0.0, SIGMAPT = 0.0, CORRT = 0.0,
TRISE = _TRISE_, TFALL = _TFALL_, TPULSEFWHM = _TFWHM_,
EKIN = _EKIN_, NBIN = _NBIN_,
FTOSCAMPLITUDE=_FTOSCAMPLITUDE_ ,FTOSCPERIODS=_FTOSCPERIODS_,CUTOFF=_CUTOFF_;
}
Fs1: FIELDSOLVER, FSTYPE=NONE, MX=_MX_, MY=_MY_, MT=_MT_,
PARFFTX=true, PARFFTY=true, PARFFTT=true,
BCFFTX=open, BCFFTY=open, BCFFTT=open,
BBOXINCR=1, GREENSF=INTEGRATED;
if (USE_ET > 0) {
beam1: BEAM, PARTICLE=ELECTRON, pc=P0, NSLICE=_NSLICE_, BFREQ=BFREQ, BCURRENT=BCURRENT, CHARGE=-1;
SELECT, LINE = InjectorPhase3;
TRACK, LINE=InjectorPhase3, BEAM=beam1, MAXSTEPS=1000000, DT=_DT_, ZSTOP=_ZSTOP_;
RUN, METHOD = "PARALLEL-SLICE", BEAM = beam1, FIELDSOLVER = Fs1, DISTRIBUTION = Dist1;
ENDTRACK;
//// TRACK, LINE=InjectorPhase3, BEAM=beam1, MAXSTEPS=1000000, DT=_DT_, ZSTOP=_ZSTOP_;
//// RUN, METHOD = "PARALLEL-SLICE", BEAM=beam1, FIELDSOLVER=Fs1;
//// ENDTRACK;
}
else {
beam1: BEAM, PARTICLE=ELECTRON, pc=P0, NPART=_NPART_, BFREQ=BFREQ, BCURRENT=BCURRENT, CHARGE=-1;
SELECT, LINE = InjectorPhase3;
TRACK, LINE=InjectorPhase3, BEAM=beam1, MAXSTEPS=1000000, DT=_DTGUN_, ZSTOP=_ZSTOPGUN_;
RUN, METHOD = "PARALLEL-T", BEAM = beam1, FIELDSOLVER = Fs1, DISTRIBUTION = Dist1;
ENDTRACK;
TRACK, LINE=InjectorPhase3, BEAM=beam1, MAXSTEPS=1000000, DT=_DT_, ZSTOP=_ZSTOP_;
RUN, METHOD = "PARALLEL-T", BEAM=beam1, FIELDSOLVER=Fs1;
ENDTRACK;
}
QUIT;
1DProfile1 5 5 1.50
-6.1 -1.6 2.9 1
22.1000 26.6000 31.1000 1
-0.0170
1.8055
-0.2819
0.5680
0.3817
0.0966
-0.017
1.8055
-0.2819
0.5680
0.3817
0.0966
1DDynamic 20
0 17.493 1000
2998.
0.0 1.0 100
0.838962699
0.838962699
0.839033677
0.83923537
0.839527028
0.839906902
0.840381073
0.840948078
0.841606383
0.842354409
0.843186109
0.844096938
0.845090173
0.846163014
0.847305329
0.848513626
0.849787452
0.851124694
0.852522349
0.853976363
0.85547948
0.857023871
0.858608189
0.860230727
0.861885852
0.863569164
0.865276982
0.867001664
0.868736181
0.870478597
0.872228458
0.873985003
0.875738695
0.877478727
0.879203805
0.880913358
0.88260504
0.884274921
0.885918076
0.887529256
0.88910463
0.890642938
0.89214109
0.893594058
0.894995438
0.896341661
0.897636512
0.898875777
0.900047769
0.901155766
0.902204922
0.903184313
0.904088048
0.904920355
0.9056776
0.906352835
0.906946812
0.907460582
0.907892059
0.908235713
0.908485542
0.908646375
0.908720348
0.908695638
0.908569639
0.908349303
0.908030039
0.907604965
0.907076404
0.906446127
0.905712636
0.904870569
0.903915051
0.902851533
0.901681167
0.900394356
0.89899033
0.897473879
0.895840119
0.894085458
0.892215804
0.890231032
0.888124167
0.885889469
0.883526166
0.881045397
0.87844735
0.875717262
0.872852688
0.869857862
0.866733778
0.863483396
0.860113008
0.856614024
0.852970672
0.849186626
0.84526995
0.841224538
0.837047798
0.832732227
0.828274829
0.823674827
0.818932302
0.814053798
0.809051078
0.803914231
0.79862583
0.793184586
0.787599639
0.78188845
0.77604175
0.770036847
0.763879412
0.757582874
0.751157676
0.74459529
0.737874343
0.730999324
0.723980838
0.716817652
0.709513461
0.702077823
0.69450187
0.686770206
0.67887916
0.670841554
0.662687578
0.654405642
0.645963114
0.637367874
0.628632594
0.619752579
0.61072819
0.601567144
0.592270642
0.582836827
0.573266334
0.563559152
0.553713263
0.543732256
0.533623459
0.523383693
0.513008781
0.502505914
0.491879109
0.481124843
0.470246677
0.459251945
0.44813728
0.436898993
0.425542231
0.414073612
0.402499062
0.390815961
0.379019444
0.367117619
0.355118422
0.343022023
0.330830293
0.318547064
0.306170326
0.293698865
0.281144752
0.268516179
0.255810032
0.243025742
0.230166207
0.217237407
0.20424652
0.191200588
0.178099621
0.164935428
0.151716951
0.138461121
0.125164111
0.111821574
0.098443375
0.085036295
0.071601737
0.058144505
0.044669292
0.031172084
0.01766301
0.004180543
-0.009285743
-0.022785888
-0.036304989
-0.049808082
-0.063294863
-0.076767644
-0.090221448
-0.103650159
-0.117048072
-0.130414285
-0.143748013
-0.157044042
-0.170297273
-0.183503693
-0.196659401
-0.209760196
-0.222800352
-0.235776367
-0.248690359
-0.261540994
-0.274322593
-0.287030009
-0.299659203
-0.312208874
-0.324676706
-0.337057533
-0.349347289
-0.361543749
-0.373649052
-0.385663468
-0.397576262
-0.409383438
-0.421092782
-0.432700406
-0.444195506
-0.45557841
-0.466851248
-0.478011215
-0.489055112
-0.499980421
-0.510787342
-0.521476692
-0.532045215
-0.542490814
-0.55281565
-0.563017455
-0.573089771
-0.583030828
-0.59284203
-0.602527674
-0.612088114
-0.621516564
-0.630809802
-0.639968666
-0.648998257
-0.657897313
-0.666643276
-0.675242528
-0.683739035
-0.692115212
-0.700330431
-0.708413775
-0.716380631
-0.724196022
-0.731865463
-0.739420147
-0.746851855
-0.754142272
-0.761279436
-0.768277005
-0.775161644
-0.78190771
-0.788495069
-0.794962367
-0.801313115
-0.807512096
-0.813573077
-0.819517661
-0.825324629
-0.830988659
-0.836530546
-0.841945949
-0.847222307
-0.852368804
-0.857392319
-0.862289205
-0.867053232
-0.871680698
-0.876183065
-0.880564434
-0.884810623
-0.888925677
-0.892924323
-0.896798254
-0.900541054
-0.904164707
-0.907665923
-0.911030374
-0.914273584
-0.917408289
-0.920412281
-0.923284845
-0.926049943
-0.928702158
-0.931226294
-0.933620848
-0.93589271
-0.938054351
-0.940101859
-0.942026107
-0.943832474
-0.945522965
-0.947090811
-0.948542535
-0.949888445
-0.951115243
-0.952215821
-0.953204731
-0.954085147
-0.954850565
-0.95549978
-0.956033724
-0.956453941
-0.956761667
-0.956957153
-0.957036621
-0.956998304
-0.956849401
-0.956593877
-0.9562302
-0.955753202
-0.955159073
-0.954452973
-0.953637909
-0.952712002
-0.951674548
-0.95052591
-0.949267207
-0.947898349
-0.946417345
-0.944824811
-0.943123084
-0.941313734
-0.939395162
-0.937361178
-0.935216982
-0.932972829
-0.930614643
-0.92813469
-0.925555962
-0.922877536
-0.920076551
-0.917160372
-0.914141303
-0.911011359
-0.907769314
-0.904423535
-0.90096832
-0.89739478
-0.893706761
-0.889912708
-0.886021813
-0.882023197
-0.877902263
-0.873674818
-0.869346032
-0.864895277
-0.860331053
-0.855674593
-0.850904916
-0.846011261
-0.841022924
-0.835932483
-0.830708864
-0.825378737
-0.819963518
-0.814427953
-0.80876331
-0.802992652
-0.797126726
-0.7911619
-0.785072651
-0.778863345
-0.77257036
-0.76617413
-0.759645276
-0.753016458
-0.746297273
-0.739453208
-0.732496521
-0.725454998
-0.718299056
-0.71101778
-0.703650242
-0.696190258
-0.688604133
-0.680897397
-0.67309005
-0.665204616
-0.657226627
-0.649120874
-0.640913979
-0.632628267
-0.624226117
-0.61571014
-0.607123099
-0.598446573
-0.589650604
-0.580751997
-0.571762457
-0.562675004
-0.553492894
-0.544224721
-0.534864076
-0.525404863
-0.515853738
-0.506216548
-0.496495495
-0.486687569
-0.476789118
-0.46680592
-0.456743114
-0.446599699
-0.436374092
-0.426065556
-0.415678999
-0.405219873
-0.394686636
-0.384079108
-0.373401379
-0.362653704
-0.351834187
-0.340948
-0.330000477
-0.318990117
-0.307916635
-0.296782863
-0.285592103
-0.274346791
-0.263044382
-0.251685662
-0.24028169
-0.228834857
-0.217338059
-0.205795234
-0.194213674
-0.182590245
-0.170925526
-0.159230731
-0.147507802
-0.13575059
-0.123960273
-0.11214144
-0.100299129
-0.088436683
-0.076554881
-0.064654953
-0.052739046
-0.040811737
-0.028874966
-0.016922652
-0.004967814
0.006957342
0.018874411
0.030823874
0.042784739
0.054732373
0.066670066
0.078599574
0.090517473
0.102418564
0.114299259
0.126164364
0.138012959
0.149832142
0.161620343
0.17338456
0.185120737
0.196822175
0.208487514
0.220115419
0.231703326
0.243249182
0.254751093
0.266205934
0.277611954
0.288971324
0.300281796
0.311536286
0.322734762
0.333879258
0.344963747
0.355983671
0.366940992
0.377835368
0.3886637
0.399423165
0.410111862
0.420730325
0.431278609
0.44175505
0.452154614
0.462471337
0.472708089
0.482868459
0.492949451
0.502947628
0.512860566
0.522688353
0.532431808
0.542088055
0.55165472
0.561132744
0.570521991
0.579820374
0.589022424
0.598125428
0.607142923
0.616073312
0.624884799
0.633587449
0.642205096
0.650735437
0.659155686
0.667488055
0.675761178
0.683887528
0.691913644
0.699834479
0.707654158
0.715425055
0.723047716
0.730564525
0.73797562
0.745284663
0.752482464
0.759622214
0.766620241
0.773522301
0.780307277
0.786984647
0.793591512
0.800076451
0.806443265
0.812707719
0.818861113
0.824926919
0.830891134
0.836731144
0.842462187
0.848098453
0.853626208
0.859069609
0.864377076
0.869584995
0.874688561
0.879688611
0.884609708
0.889386023
0.894073386
0.898656414
0.903120079
0.907518709
0.911785159
0.915950709
0.920003057
0.923952858
0.927802701
0.931571816
0.93522519
0.938761448
0.942200546
0.945541053
0.948795708
0.951931702
0.954960023
0.957886968
0.960719367
0.963458872
0.966088408
0.968618061
0.971046351
0.973371627
0.975610836
0.977746026
0.979776634
0.981709538
0.983537328
0.985278418
0.986942822
0.98848772
0.989939218
0.991215102
0.992467119
0.993625919
0.994693087
0.995649764
0.996520578
0.997284568
0.997963053
0.99854058
0.999017849
0.999383004
0.999684804
0.999882219
0.999984916
0.99999713
0.999908433
0.999737045
0.999464955
0.999093731
0.9986367
0.998116864
0.99747424
0.996742715
0.995919241
0.995007307
0.993992427
0.992896645
0.991709392
0.990426051
0.989044981
0.987647859
0.986137912
0.984501492
0.982778348
0.980964882
0.979059568
0.977071625
0.975000265
0.972836641
0.970580038
0.96827417
0.965974336
0.963456462
0.960876688
0.958199852
0.955446292
0.952604513
0.949684265
0.946675739
0.943601734
0.940421199
0.937360638
0.934041865
0.930637101
0.927148519
0.923585886
0.91995191
0.91623446
0.91243944
0.90857372
0.904603476
0.90075033
0.896762972
0.892585456
0.888355315
0.884052838
0.879679414
0.875236264
0.870721801
0.866147255
0.861499648
0.856842784
0.852310368
0.847442255
0.842556593
0.837588689
0.832572048
0.8274841
0.822349317
0.817150939
0.811902518
0.806597091
0.801256171
0.795871517
0.790436849
0.784954261
0.779425221
0.77385628
0.76823317
0.762565105
0.756864245
0.751115686
0.745331106
0.739507344
0.733637176
0.727748038
0.721815521
0.715854535
0.709862892
0.703841087
0.69778914
0.691708562
0.685609627
0.679484311
0.673346867
0.667182612
0.66100039
0.654803245
0.648591282
0.642362933
0.636128563
0.629884836
0.62362517
0.617365318
0.611101444
0.604827414
0.598553007
0.592290739
0.586018605
0.579747083
0.57348685
0.567232329
0.560984701
0.554747866
0.548513729
0.542305609
0.536099552
0.529909041
0.523742315
0.517596191
0.511464502
0.505349547
0.499261507
0.49319229
0.487156695
0.481138116
0.475159964
0.469199187
0.463274148
0.457383271
0.451511519
0.445683266
0.439887578
0.434132877
0.42840296
0.42272638
0.417075587
0.411465965
0.405902219
0.400370435
0.394884653
0.389443327
0.384049333
0.378687646
0.373381506
0.368109706
0.362897638
0.357721026
0.352591822
0.347512863
0.34249145
0.337504397
0.332575821
0.327691112
0.322850611
0.318067142
0.313331598
0.308652551
0.304008676
0.299428987
0.294900682
0.290417116
0.285978838
0.281601147
0.277275857
0.27298961
0.268767741
0.264594931
0.260467002
0.25638606
0.252361915
0.248388247
0.244468707
0.240592093
0.236773892
0.233001745
0.22927416
0.225598314
0.221976214
0.218397186
0.214876518
0.211381947
0.208024624
0.204786732
0.201431626
0.198144263
0.194891983
0.191698242
0.188539437
0.18544024
0.182374336
0.179359626
0.176382441
0.173449732
0.170571829
0.167728383
0.164921909
0.162165845
0.159447312
0.156772481
0.154138656
0.151547366
0.14899289
0.146482991
0.143998412
0.141568341
0.139167328
0.136801702
0.134483268
0.132200542
0.129946774
0.12773652
0.125556408
0.123405487
0.121293484
0.119216351
0.117181781
0.115166436
0.113194746
0.11124951
0.109335589
0.107454704
0.105603547
0.10378398
0.10199425
0.100233702
0.098502698
0.096800417
0.095125499
0.093480294
0.091860797
0.090269497
0.088704321
0.087166231
0.08565341
0.084166046
0.082704013
0.081266579
0.079854374
0.078465068
0.077099623
0.075757041
0.074438457
0.073141835
0.07186691
0.070615016
0.069383203
0.068173598
0.066983791
0.065815328
0.064667396
0.063537793
0.062428704
0.061339337
0.060267976
0.059215415
0.058181078
0.057163892
0.056166295
0.055184299
0.054220133
0.053273105
0.052342745
0.051428351
0.050529402
0.049646843
0.048779248
0.047927482
0.047090807
0.046268609
0.045460337
0.044666907
0.043887415
0.043122085
0.0423693
0.041630225
0.040904761
0.040191572
0.039491743
0.038803862
0.038128092
0.037464397
0.036812761
0.036173099
0.035544283
0.034927222
0.034320377
0.033725387
0.03313999
0.03256623
0.032001692
0.031448009
0.030903951
0.030369977
0.029845384
0.029331172
0.028825596
0.028328525
0.027841723
0.027362577
0.026893456
0.026432123
0.025978594
0.025534297
0.02509828
0.024669763
0.024248736
0.023836452
0.023430819
0.023033281
0.022643149
0.022260435
0.021883479
0.021515243
0.021152896
0.020797263
0.020448388
0.020106519
0.01977106
0.019441605
0.019118183
0.0188008
0.018489455
0.018184143
0.017884872
0.017591665
0.017304152
0.017021691
0.016744516
0.016472863
0.01620606
0.015945054
0.015688852
0.015438372
0.01519207
0.014951581
0.014714656
0.014483469
0.014256359
0.014033303
0.013815736
0.013602709
0.013392913
0.013188745
0.012987788
0.012791499
0.012599779
0.012411672
0.012226419
0.012046857
0.011870183
0.01169706
0.011528662
0.011363805
0.011201864
0.011044155
0.010889806
0.010739015
0.010591573
0.010447647
0.010306936
0.010169651
0.01003556
0.009904757
0.009777108
0.009652626
0.009531321
0.009412922
0.009297681
0.00918538
0.009076025
0.008969606
0.008866038
0.008765446
0.008667503
0.008572517
0.008480208
0.00839064
0.008303655
0.008219495
0.008137936
0.008058988
0.007982589
0.007908829
0.007837628
0.007768861
0.007702669
0.00763899
0.007577715
0.007518857
0.007462414
0.007408384
0.007356777
0.007307526
0.007260596
0.007216116
0.007173797
0.007133875
0.007096295
0.007060936
0.007027841
0.006997054
0.00696845
0.006942108
0.006918131
0.006896223
0.006876604
0.006859226
0.006843934
0.006831006
0.006820122
0.006811592
0.006805137
0.006800874
0.006798918
This diff is collapsed.
AstraMagnetoStatic 50
-3.0000000e-01 0.0000000e+00
-2.9800000e-01 2.9075045e-05
-2.9600000e-01 5.9367702e-05
-2.9400000e-01 9.0866460e-05
-2.9200000e-01 1.2374798e-04
-2.9000000e-01 1.5799850e-04
-2.8800000e-01 1.9377892e-04
-2.8600000e-01 2.3112877e-04
-2.8400000e-01 2.7014139e-04
-2.8200000e-01 3.1088083e-04
-2.8000000e-01 3.5359608e-04
-2.7800000e-01 3.9822382e-04
-2.7600000e-01 4.4500253e-04
-2.7400000e-01 4.9403154e-04
-2.7200000e-01 5.4545474e-04
-2.7000000e-01 5.9939124e-04
-2.6800000e-01 6.5610326e-04
-2.6600000e-01 7.1566965e-04
-2.6400000e-01 7.7835938e-04
-2.6200000e-01 8.4438516e-04
-2.6000000e-01 9.1389663e-04
-2.5800000e-01 9.8718554e-04
-2.5600000e-01 1.0645379e-03
-2.5400000e-01 1.1461817e-03
-2.5200000e-01 1.2325443e-03
-2.5000000e-01 1.3238477e-03
-2.4800000e-01 1.4205625e-03
-2.4600000e-01 1.5230723e-03
-2.4400000e-01 1.6318053e-03
-2.4200000e-01 1.7472857e-03
-2.4000000e-01 1.8699953e-03
-2.3800000e-01 2.0006220e-03
-2.3600000e-01 2.1397290e-03
-2.3400000e-01 2.2880970e-03
-2.3200000e-01 2.4464516e-03
-2.3000000e-01 2.6157186e-03
-2.2800000e-01 2.7967889e-03
-2.2600000e-01 2.9907735e-03
-2.2400000e-01 3.1987634e-03
-2.2200000e-01 3.4221574e-03
-2.2000000e-01 3.6621965e-03
-2.1800000e-01 3.9208202e-03
-2.1600000e-01 4.1994821e-03
-2.1400000e-01 4.5003818e-03
-2.1200000e-01 4.8255562e-03
-2.1000000e-01 5.1775876e-03
-2.0800000e-01 5.5592660e-03
-2.0600000e-01 5.9731564e-03
-2.0400000e-01 6.4241407e-03
-2.0200000e-01 6.9147611e-03
-2.0000000e-01 7.4506679e-03
-1.9800000e-01 8.0372709e-03
-1.9600000e-01 8.6796199e-03
-1.9400000e-01 9.3837728e-03
-1.9200000e-01 1.0157004e-02
-1.9000000e-01 1.1007598e-02
-1.8800000e-01 1.1944901e-02
-1.8600000e-01 1.2979796e-02
-1.8400000e-01 1.4124258e-02
-1.8200000e-01 1.5392354e-02
-1.8000000e-01 1.6799658e-02
-1.7800000e-01 1.8364302e-02
-1.7600000e-01 2.0106835e-02
-1.7400000e-01 2.2050575e-02
-1.7200000e-01 2.4222728e-02
-1.7000000e-01 2.6653397e-02
-1.6800000e-01 2.9377860e-02
-1.6600000e-01 3.2435001e-02
-1.6400000e-01 3.5869987e-02
-1.6200000e-01 3.9733289e-02
-1.6000000e-01 4.4081609e-02
-1.5800000e-01 4.8979881e-02
-1.5600000e-01 5.4498620e-02
-1.5400000e-01 6.0717798e-02
-1.5200000e-01 6.7722743e-02
-1.5000000e-01 7.5608367e-02
-1.4800000e-01 8.4475638e-02
-1.4600000e-01 9.4430877e-02
-1.4400000e-01 1.0558751e-01
-1.4200000e-01 1.1805725e-01
-1.4000000e-01 1.3195441e-01
-1.3800000e-01 1.4738415e-01
-1.3600000e-01 1.6444547e-01
-1.3400000e-01 1.8322284e-01
-1.3200000e-01 2.0377516e-01
-1.3000000e-01 2.2614368e-01
-1.2800000e-01 2.5032656e-01
-1.2600000e-01 2.7629226e-01
-1.2400000e-01 3.0395627e-01
-1.2200000e-01 3.3319071e-01
-1.2000000e-01 3.6382243e-01
-1.1800000e-01 3.9563322e-01
-1.1600000e-01 4.2835885e-01
-1.1400000e-01 4.6170079e-01
-1.1200000e-01 4.9533800e-01
-1.1000000e-01 5.2893668e-01
-1.0800000e-01 5.6216526e-01
-1.0600000e-01 5.9470847e-01
-1.0400000e-01 6.2627730e-01
-1.0200000e-01 6.5662400e-01
-1.0000000e-01 6.8554240e-01
-9.8000000e-02 7.1288086e-01
-9.6000000e-02 7.3853303e-01
-9.4000000e-02 7.6244261e-01
-9.2000000e-02 7.8459008e-01
-9.0000000e-02 8.0499772e-01
-8.8000000e-02 8.2371555e-01
-8.6000000e-02 8.4081291e-01
-8.4000000e-02 8.5638088e-01
-8.2000000e-02 8.7051628e-01
-8.0000000e-02 8.8332348e-01
-7.8000000e-02 8.9490355e-01
-7.6000000e-02 9.0536585e-01
-7.4000000e-02 9.1480522e-01
-7.2000000e-02 9.2331899e-01
-7.0000000e-02 9.3099525e-01
-6.8000000e-02 9.3791682e-01
-6.6000000e-02 9.4415727e-01
-6.4000000e-02 9.4978641e-01
-6.2000000e-02 9.5486654e-01
-6.0000000e-02 9.5945273e-01
-5.8000000e-02 9.6359676e-01
-5.6000000e-02 9.6734318e-01
-5.4000000e-02 9.7073303e-01
-5.2000000e-02 9.7380108e-01
-5.0000000e-02 9.7658087e-01
-4.8000000e-02 9.7910017e-01
-4.6000000e-02 9.8138475e-01
-4.4000000e-02 9.8345740e-01
-4.2000000e-02 9.8533836e-01
-4.0000000e-02 9.8704517e-01
-3.8000000e-02 9.8859409e-01
-3.6000000e-02 9.8999912e-01
-3.4000000e-02 9.9127278e-01
-3.2000000e-02 9.9242659e-01
-3.0000000e-02 9.9347029e-01
-2.8000000e-02 9.9441265e-01
-2.6000000e-02 9.9526142e-01
-2.4000000e-02 9.9602362e-01
-2.2000000e-02 9.9670499e-01
-2.0000000e-02 9.9731105e-01
-1.8000000e-02 9.9784678e-01
-1.6000000e-02 9.9831596e-01
-1.4000000e-02 9.9872233e-01
-1.2000000e-02 9.9906840e-01
-1.0000000e-02 9.9935741e-01
-8.0000000e-03 9.9959088e-01
-6.0000000e-03 9.9977079e-01
-4.0000000e-03 9.9989841e-01
-2.0000000e-03 9.9997448e-01
-0.0000000e+00 1.0000000e+00
0.0000000e+00 1.0000000e+00
2.0000000e-03 9.9997448e-01
4.0000000e-03 9.9989841e-01
6.0000000e-03 9.9977079e-01
8.0000000e-03 9.9959088e-01
1.0000000e-02 9.9935741e-01
1.2000000e-02 9.9906840e-01
1.4000000e-02 9.9872233e-01
1.6000000e-02 9.9831596e-01
1.8000000e-02 9.9784678e-01
2.0000000e-02 9.9731105e-01
2.2000000e-02 9.9670499e-01
2.4000000e-02 9.9602362e-01
2.6000000e-02 9.9526142e-01
2.8000000e-02 9.9441265e-01
3.0000000e-02 9.9347029e-01
3.2000000e-02 9.9242659e-01
3.4000000e-02 9.9127278e-01
3.6000000e-02 9.8999912e-01
3.8000000e-02 9.8859409e-01
4.0000000e-02 9.8704517e-01
4.2000000e-02 9.8533836e-01
4.4000000e-02 9.8345740e-01
4.6000000e-02 9.8138475e-01
4.8000000e-02 9.7910017e-01
5.0000000e-02 9.7658087e-01
5.2000000e-02 9.7380108e-01
5.4000000e-02 9.7073303e-01
5.6000000e-02 9.6734318e-01
5.8000000e-02 9.6359676e-01
6.0000000e-02 9.5945273e-01
6.2000000e-02 9.5486654e-01
6.4000000e-02 9.4978641e-01
6.6000000e-02 9.4415727e-01
6.8000000e-02 9.3791682e-01
7.0000000e-02 9.3099525e-01
7.2000000e-02 9.2331899e-01
7.4000000e-02 9.1480522e-01
7.6000000e-02 9.0536585e-01
7.8000000e-02 8.9490355e-01
8.0000000e-02 8.8332348e-01
8.2000000e-02 8.7051628e-01
8.4000000e-02 8.5638088e-01
8.6000000e-02 8.4081291e-01
8.8000000e-02 8.2371555e-01
9.0000000e-02 8.0499772e-01
9.2000000e-02 7.8459008e-01
9.4000000e-02 7.6244261e-01
9.6000000e-02 7.3853303e-01
9.8000000e-02 7.1288086e-01
1.0000000e-01 6.8554240e-01
1.0200000e-01 6.5662400e-01
1.0400000e-01 6.2627730e-01
1.0600000e-01 5.9470847e-01
1.0800000e-01 5.6216526e-01
1.1000000e-01 5.2893668e-01
1.1200000e-01 4.9533800e-01
1.1400000e-01 4.6170079e-01
1.1600000e-01 4.2835885e-01
1.1800000e-01 3.9563322e-01
1.2000000e-01 3.6382243e-01
1.2200000e-01 3.3319071e-01
1.2400000e-01 3.0395627e-01
1.2600000e-01 2.7629226e-01
1.2800000e-01 2.5032656e-01
1.3000000e-01 2.2614368e-01
1.3200000e-01 2.0377516e-01
1.3400000e-01 1.8322284e-01
1.3600000e-01 1.6444547e-01
1.3800000e-01 1.4738415e-01
1.4000000e-01 1.3195441e-01
1.4200000e-01 1.1805725e-01
1.4400000e-01 1.0558751e-01
1.4600000e-01 9.4430877e-02
1.4800000e-01 8.4475638e-02
1.5000000e-01 7.5608367e-02
1.5200000e-01 6.7722743e-02
1.5400000e-01 6.0717798e-02
1.5600000e-01 5.4498620e-02
1.5800000e-01 4.8979881e-02
1.6000000e-01 4.4081609e-02
1.6200000e-01 3.9733289e-02
1.6400000e-01 3.5869987e-02
1.6600000e-01 3.2435001e-02
1.6800000e-01 2.9377860e-02
1.7000000e-01 2.6653397e-02
1.7200000e-01 2.4222728e-02
1.7400000e-01 2.2050575e-02
1.7600000e-01 2.0106835e-02
1.7800000e-01 1.8364302e-02
1.8000000e-01 1.6799658e-02
1.8200000e-01 1.5392354e-02
1.8400000e-01 1.4124258e-02
1.8600000e-01 1.2979796e-02
1.8800000e-01 1.1944901e-02
1.9000000e-01 1.1007598e-02
1.9200000e-01 1.0157004e-02
1.9400000e-01 9.3837728e-03
1.9600000e-01 8.6796199e-03
1.9800000e-01 8.0372709e-03
2.0000000e-01 7.4506679e-03
2.0200000e-01 6.9147611e-03
2.0400000e-01 6.4241407e-03
2.0600000e-01 5.9731564e-03
2.0800000e-01 5.5592660e-03
2.1000000e-01 5.1775876e-03
2.1200000e-01 4.8255562e-03
2.1400000e-01 4.5003818e-03
2.1600000e-01 4.1994821e-03
2.1800000e-01 3.9208202e-03
2.2000000e-01 3.6621965e-03
2.2200000e-01 3.4221574e-03
2.2400000e-01 3.1987634e-03
2.2600000e-01 2.9907735e-03
2.2800000e-01 2.7967889e-03
2.3000000e-01 2.6157186e-03
2.3200000e-01 2.4464516e-03
2.3400000e-01 2.2880970e-03
2.3600000e-01 2.1397290e-03
2.3800000e-01 2.0006220e-03
2.4000000e-01 1.8699953e-03
2.4200000e-01 1.7472857e-03
2.4400000e-01 1.6318053e-03
2.4600000e-01 1.5230723e-03
2.4800000e-01 1.4205625e-03
2.5000000e-01 1.3238477e-03
2.5200000e-01 1.2325443e-03
2.5400000e-01 1.1461817e-03
2.5600000e-01 1.0645379e-03
2.5800000e-01 9.8718554e-04
2.6000000e-01 9.1389663e-04
2.6200000e-01 8.4438516e-04
2.6400000e-01 7.7835938e-04
2.6600000e-01 7.1566965e-04
2.6800000e-01 6.5610326e-04
2.7000000e-01 5.9939124e-04
2.7200000e-01 5.4545474e-04
2.7400000e-01 4.9403154e-04
2.7600000e-01 4.4500253e-04
2.7800000e-01 3.9822382e-04
2.8000000e-01 3.5359608e-04
2.8200000e-01 3.1088083e-04
2.8400000e-01 2.7014139e-04
2.8600000e-01 2.3112877e-04
2.8800000e-01 1.9377892e-04
2.9000000e-01 1.5799850e-04
2.9200000e-01 1.2374798e-04
2.9400000e-01 9.0866460e-05
2.9600000e-01 5.9367702e-05
2.9800000e-01 2.9075045e-05
3.0000000e-01 0.0000000e+00
This diff is collapsed.
seed 11
tournament 2
\ No newline at end of file
#!/bin/sh
./nsga2 nsga2_param.txt ../PISA_ 0.1
#!/bin/bash
ulimit -m 1800000 -v 1800000
export FIELDMAPS=`pwd`/fieldmaps
export TEMPLATES=`pwd`
export SIMTMPDIR=`pwd`/tmp_sim
# cleanup
if stat -t *_results.dat* >/dev/null 2>&1
then
rm *_results.dat*
fi
if stat -t PISA_* >/dev/null 2>&1
then
rm PISA_*
fi
if stat -t *.trace.* >/dev/null 2>&1
then
rm *.trace.*
fi
if test -d "tmp_sim"; then
rm -rf tmp_sim
fi
mkdir tmp_sim
mpirun -np 3 ${OPT_BUILD_DIR}/Drivers/homotopy-opal/homotopy-opal.exe \
--inputfile=FiPha3Opt1.tmpl --outfile=results.dat --outdir=./ \
--iterations=10 --num-points=100 --num-objectives=3 --num-design-vars=13 \
--num-masters=1 --num-coworkers=1 --sol-synch=1
#!/bin/bash
ulimit -m 1800000 -v 1800000
export FIELDMAPS=`pwd`/fieldmaps
export TEMPLATES=`pwd`
export SIMTMPDIR=`pwd`/tmp_sim
# cleanup
if stat -t *_results.dat* >/dev/null 2>&1
then
rm *_results.dat*
fi
if stat -t PISA_* >/dev/null 2>&1
then
rm PISA_*
fi
if stat -t *.trace.* >/dev/null 2>&1
then
rm *.trace.*
fi
if test -d "tmp_sim"; then
rm -rf tmp_sim
fi
mkdir tmp_sim
mpirun -np 6 ${OPT_BUILD_DIR}/Drivers/pisa-opal/pisa-opal.exe \
--inputfile=FiPha3Opt1.tmpl --outfile=results.dat --outdir=./ \
--maxGenerations=10 --initialPopulation=10 \
--num-masters=2 --num-coworkers=1 --sol-synch=5 \
--selector=${OPT_BUILD_DIR}/extlib/nsga2/nsga2
d1: DVAR, VARIABLE="x", LOWERBOUND="-1.0", UPPERBOUND="1.0";
d2: DVAR, VARIABLE="y", LOWERBOUND="-1.0", UPPERBOUND="1.0";
d3: DVAR, VARIABLE="z", LOWERBOUND="-1.0", UPPERBOUND="1.0";
//obj1: OBJECTIVE, EXPR="FON(x,y,z,1)";
//obj2: OBJECTIVE, EXPR="FON(x,y,z,2)";
obj1: OBJECTIVE, EXPR="1.0 - exp(-1.0 * (sq(x - 1.0/sqrt(3.0)) + sq(y - 1.0/sqrt(3.0)) + sq(z - 1.0/sqrt(3.0)) ))";
obj2: OBJECTIVE, EXPR="1.0 - exp(-1.0 * (sq(x + 1.0/sqrt(3.0)) + sq(y + 1.0/sqrt(3.0)) + sq(z + 1.0/sqrt(3.0)) ))";
objs: OBJECTIVES = (obj1, obj2);
dvars: DVARS = (d1, d2, d3);
constrs: CONSTRAINTS = ();
opt: OPTIMIZE, OBJECTIVES=objs, DVARS=dvars, CONSTRAINTS=constrs;
seed 11
tournament 2
\ No newline at end of file
#!/bin/bash
# cleanup
if stat -t *_results.dat* >/dev/null 2>&1
then
rm *_results.dat*
fi
if stat -t PISA_* >/dev/null 2>&1
then
rm PISA_*
fi
if stat -t *.trace.* >/dev/null 2>&1
then
rm *.trace.*
fi
folder=`date +'%d-%m-%Y-%H-%M'`
mpirun -np 6 ${OPT_BUILD_DIR}/Drivers/pisa-standalone/pisa-standalone.exe \
--inputfile=Problem.in --outfile=results.dat --outdir=./$folder \
--maxGenerations=10000 --initialPopulation=100 \
--expected-hypervol=0.6575 --epsilon=2e-4 --one-pilot-converge=1 \
--num-masters=2 --num-coworkers=1 --sol-synch=100 \
--selector=${OPT_BUILD_DIR}/extlib/nsga2/nsga2
add_subdirectory( wfgHypervolume )
add_subdirectory( nsga2 )
add_executable(nsga2 nsga2.c nsga2_functions.c nsga2_io.c)
target_link_libraries( nsga2 "-lm")
alpha 20
mu 10
lambda 10
dim 2
/*========================================================================
PISA (www.tik.ee.ethz.ch/pisa/)
========================================================================
Computer Engineering (TIK)
ETH Zurich
========================================================================
NSGA2
Implementation in C for the selector side.
Implements Petri net.
file: nsga2.c
author: Marco Laumanns, laumanns@tik.ee.ethz.ch
revision by: Stefan Bleuler, bleuler@tik.ee.ethz.ch
last change: $date$
========================================================================
*/
/* CAUTION: <unistd.h> is not standard C
It is used only for sleep() and usleep() in wait().
In Windows use Sleep() in <windows.h> or implement busy waiting.
*/
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <math.h>
#include "nsga2.h"
#ifdef PISA_UNIX
#include <unistd.h>
#endif
#ifdef PISA_WIN
#include <windows.h>
#endif
/*------------------------------| main() |-------------------------------*/
int main(int argc, char* argv[])
{
/* command line parameters */
char paramfile[FILE_NAME_LENGTH]; /* file with local parameters */
char filenamebase[FILE_NAME_LENGTH]; /* filename base,
e.g., "dir/test." */
double poll = 1.0; /* polling interval in seconds */
/* other variables */
int state = -1;
char *statefile;
int result;
/* reading command line parameters */
if (argc != 4)
PISA_ERROR("Selector: wrong number of arguments");
sscanf(argv[1], "%s", paramfile);
sscanf(argv[2], "%s", filenamebase);
sscanf(argv[3], "%lf", &poll);
/* generate name of statefile */
asprintf(&statefile, "%ssta", filenamebase);
/* main loop */
while (state != 6) /* stop state for selector */
/* Caution: if reading of the statefile fails
(e.g. no permission) this is an infinite loop */
{
state = read_flag(statefile);
if (state == 1) /* inital selection */
{
initialize(paramfile, filenamebase);
result = read_ini(); /* read ini file */
if (result == 0) /* reading ini file successful */
{
select_initial(); /* do selection */
write_arc(); /* write arc file (all individuals
that could ever be used again) */
write_sel(); /* write sel file */
state = 2;
write_flag(statefile, state);
} /* else don't do anything and wait again */
}
else if (state == 3) /* selection */
{
if(check_arc() == 0 && check_sel() == 0)
{
result = read_var(); /* read var file */
if (result == 0) /*reading var file successful */
{
select_normal(); /* do selection */
write_arc(); /* write arc file (all individuals
that could ever be used again) */
write_sel(); /* write sel file */
state = 2;
write_flag(statefile, state);
} /* else don't do anything and wait again */
else
printf("read_var failed\n");
} /* else don't do anything and wait again */
}
else if (state == 5) /* variator just terminated,
here you can do what you want */
{
state = 6; /* e.g., terminate too */
write_flag(statefile, state);
}
else if (state == 9) /* variator ready for reset,
here you can do what you want */
{
state = 10; /* e.g., get ready for reset too */
write_flag(statefile, state);
}
else if (state == 10) /* reset */
{
free_memory();
state = 11;
write_flag(statefile, state);
}
else /* state == -1 (reading failed) or state concerns variator */
{
nsga_wait(poll);
}
} /* state == 6 (stop) */
free_memory();
state = 7;
write_flag(statefile, state);
return (0);
}
/*--------------------| functions for control flow |---------------------*/
void write_flag(char* filename, int flag)
/* Write the state flag to given file. */
{
FILE *fp;
assert(0 <= flag && flag <= 11);
fp = fopen(filename, "w");
assert(fp != NULL);
fprintf(fp, "%d", flag);
fclose(fp);
}
int read_flag(char* filename)
/* Read state flag from given file. */
{
int result;
int flag = -1;
FILE *fp;
fp = fopen(filename, "r");
if (fp != NULL)
{
result = fscanf(fp, "%d", &flag);
fclose(fp);
if (result == 1) /* excatly one element read */
{
if (flag < 0 || flag > 11)
PISA_ERROR("Selector: Invalid state read from file.");
}
}
return (flag);
}
void nsga_wait(double sec)
/* Makes the calling process sleep. */
/* pre: sec >= 0.01 */
{
#ifdef PISA_UNIX
unsigned int int_sec;
unsigned int usec;
assert(sec > 0);
int_sec = (unsigned int) floor(sec);
usec = (unsigned int) floor((sec - floor(sec)) * 1e6);
/* split it up, usleep can fail if argument greater than 1e6 */
/* two asserts to make sure your file server doesn't break down */
assert(!((int_sec == 0) && (usec == 0))); /* should never be 0 */
assert((int_sec * 1e6) + usec >= 10000); /* you might change this one
if you know what you are
doing */
sleep(int_sec);
usleep(usec);
#endif
#ifdef PISA_WIN
unsigned int msec;
assert(sec > 0);
msec = (unsigned int) floor(sec * 1e3);
assert(msec >= 10); /* making sure we are really sleeping for some time*/
Sleep(msec);
#endif
}
/*========================================================================
PISA (www.tik.ee.ethz.ch/pisa/)
========================================================================
Computer Engineering (TIK)
ETH Zurich
========================================================================
NSGA2
Implementation in C for the selector side.
Header file.
file: nsga2.h
author: Marco Laumanns, laumanns@tik.ee.ethz.ch
revision by: Stefan Bleuler, bleuler@tik.ee.ethz.ch
last change: $date$
========================================================================
*/
#ifndef NSGA2_H
#define NSGA2_H
/*-----------------------| specify Operating System |------------------*/
/* necessary for wait() */
/* #define PISA_WIN */
#define PISA_UNIX
/*----------------------------| macro |----------------------------------*/
#define PISA_ERROR(x) fprintf(stderr, "\nError: " x "\n"), fflush(stderr), exit(EXIT_FAILURE)
/*---------------------------| constants |-------------------------------*/
#define FILE_NAME_LENGTH 128 /* maximal length of filenames */
#define CFG_ENTRY_LENGTH 128 /* maximal length of entries in cfg file */
#define PISA_MAXDOUBLE 1E99 /* Internal maximal value for double */
/*----------------------------| structs |--------------------------------*/
typedef struct ind_st /* an individual */
{
int index;
double *f; /* objective vector */
double fitness;
} ind;
typedef struct pop_st /* a population */
{
int size;
int maxsize;
ind **ind_array;
} pop;
/*-------------| functions for control flow (in nsga2.c) |------------*/
void write_flag(char *filename, int flag);
int read_flag(char *filename);
void nsga_wait(double sec);
/*---------| initialization function (in nsga2_functions.c) |---------*/
void initialize(char *paramfile, char *filenamebase);
/*--------| memory allocation functions (in nsga2_functions.c) |------*/
void* chk_malloc(size_t size);
pop* create_pop(int size, int dim);
ind* create_ind(int dim);
void free_memory(void);
void free_pop(pop *pp);
void complete_free_pop(pop *pp);
void free_ind(ind *p_ind);
/*-----| functions implementing the selection (nsga2_functions.c) |---*/
void selection();
void mergeOffspring();
void calcFitnesses();
void calcDistances();
int getNN(int index, int k);
double getNNd(int index, int k);
void environmentalSelection();
void truncate_nondominated();
void truncate_dominated();
void matingSelection();
void select_initial();
void select_normal();
int dominates(ind *p_ind_a, ind *p_ind_b);
int is_equal(ind *p_ind_a, ind *p_ind_b);
double calcDistance(ind *p_ind_a, ind *p_ind_b);
int irand(int range);
/*--------------------| data exchange functions |------------------------*/
/* in nsga2_functions.c */
int read_ini(void);
int read_var(void);
void write_sel(void);
void write_arc(void);
int check_sel(void);
int check_arc(void);
/* in nsga2_io.c */
int read_pop(char *filename, pop *pp, int size, int dim);
void write_pop(char *filename, pop *pp, int size);
int check_file(char *filename);
#endif /* NSGA2_H */
========================================================================
PISA (www.tik.ee.ethz.ch/pisa/)
========================================================================
Computer Engineering (TIK)
ETH Zurich
========================================================================
NSGA2 - Nondominated Sorting GA II
Implementation in C for the selector side.
Documentation
file: nsga2_documentation.txt
author: Marco Laumanns, laumanns@tik.ee.ethz.ch
last change: $date$
========================================================================
The Optimizer
=============
NSGA2 in an elitist multiobjective evolutionary algorithm and has been
proposed by Prof. Kalyanmoy Deb at the KanGAL. Here, we present a
PISA-implementation of the algorithm based on the description in the
cited paper.
@InProceedings{DAPM2000,
author = {K. Deb and Samir Agrawal and Amrit Pratap and T. Meyarivan},
title = {A Fast Elitist Non-Dominated Sorting Genetic Algorithm for
Multi-Objective Optimization: {NSGA-II}},
booktitle = {Parallel Problem Solving from Nature -- {PPSN VI}},
pages = {849--858},
year = {2000},
editor = {Marc Schoenauer and K. Deb and G.
Rudolph and Xin Yao and Evelyne Lutton and Juan
Julian Merelo and Hans-Paul Schwefel},
address = {Berlin},
publisher = {Springer}
}
The Parameters
==============
NSGA2 uses the following values for the common parameters.
These parameters are specified in 'PISA_cfg'.
alpha (population size)
mu (number of parent individuals)
lambda (number of offspring individuals)
dim (number of objectives)
NSGA2 takes two local parameter which is given in a parameter
file. The name of this parameter file is passed to NSGA2 as command
line argument. (See 'nsga2_param.txt' for an example.)
seed (seed for the random number generator)
tournament (tournament size for mating selection)
Source Files
============
The source code for LOTZ is divided into four files:
'nsga2.h' is the header file.
'nsga2.c' contains the main function and implements the control flow.
'nsga2_io.c' implements the file i/o functions.
'nsga2_functions.c' implements all other functions including the
selection.
Additionally a Makefile, a PISA_configuration file with common
parameters and a PISA_parameter file with local parameters are
contained in the tar file.
Depending on whether you compile on Windows or on Unix (any OS having
<unistd.h>) uncomment the according '#define' in the 'spea2.h' file.
Usage
=====
Start NSGA2 with the following arguments:
nsga2 paramfile filenamebase poll
paramfile: specifies the name of the file containing the local
parameters (e.g. nsga2_param.txt)
filenamebase: specifies the name (and optionally the directory) of the
communication files. The filenames of the communication files and the
configuration file are built by appending 'sta', 'var', 'sel','ini',
'arc' and 'cfg' to the filenamebase. This gives the following names for
the 'PISA_' filenamebase:
PISA_cfg - configuration file
PISA_ini - initial population
PISA_sel - individuals selected for variation (PISA_
PISA_var - variated individuals (offspring)
PISA_arc - individuals in the archive
Caution: the filenamebase must be consistent with the name of
the configuration file and the filenamebase specified for the NSGA2
module.
poll: gives the value for the polling time in seconds (e.g. 0.5). This
polling time must be larger than 0.01 seconds.
Limitations
===========
None limitations are known so far.
Stopping and Resetting
======================
The behaviour in state 5 and 9 is not determined by the interface but
by each variator module specifically. NSGA2 behaves as follows:
state 5 (= variator terminated): set state to 6 (terminate as well).
state 9 (= variator resetted): set state to 10 (reset as well).
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment