PSI-PR-08-02 The OPAL Framework (Object Oriented Parallel Accelerator Library) Version 1.1.91 User’s Reference Manual AndreasAdelmann,AchimGsell,ChristofKraus(PSI) YvesIneichen(IBM), SteveRussell(LANL), YuanjieBi,ChuanWang,JianjunYang(CIAE), HaoZha(ThinghuaUniversity) SuzanneSheehy,ChrisRogers(RAL)and ChristopherMayes(Cornell) Abstract OPAL is a tool for charged-particle optics in accelerator structures and beam lines. Using the MAD languagewithextensions, OPAL isderivedfrom MAD9P andisbasedontheCLASSICclass library,whichwasstartedin1995byaninternationalcollaboration. IPPL(IndependentParallelPar- ticleLayer)istheframeworkwhichprovidesparallelparticlesandfieldsusingdataparallelansatz. OPAL is built from the ground up as a parallel application exemplifying the fact that HPC (High PerformanceComputing)isthethirdlegofscience,complementingtheoryandtheexperiment. HPC ismadepossiblenowthroughtheincreasinglysophisticatedmathematicalmodelsandevolvingcom- puterpoweravailableonthedesktopandinsupercomputercentres. OPAL runsonyourlaptopas wellasonthelargestHPCclustersavailabletoday. The OPAL framework makes it easy to add new features in the form of new C++ classes. It comesinthefollowingflavours: OPAL-CYCLtracksparticleswith3Dspacechargeincludingneighbouringturnsincyclotronswith timeastheindependentvariable. OPAL-T is a superset of IMPACT-T [40] and can be used to model guns, injectors and complete XFEL’sexcludingtheundulator. ItshouldbenotedthatnotallfeaturesofOPALareavailableinallflavours. TheiconDOPAL-T meansthatafeatureisnotyetavailableinOPAL-T. Similariconsareusedfortheotherflavours. 1ReleaseDate:February13,2013 2 Contents 1 Introduction 13 1.1 AimofOPALandHistory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2 ParallelProcessingCapabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 QualityManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 FieldMapsfromtheFemaxx3DEigenmodeSolver . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.6 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.7 Citation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 Conventions 19 2.1 PhysicalUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Tutorial 21 3.1 StartingOPAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 RestartMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 AutophaseExample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 ExamplesofBeamLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.1 PSIXFEL250MeVInjector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4.2 PSIInjectorIICyclotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.4.3 PSIRingCyclotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 OPAL-T 31 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 VariablesinOPAL-T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 IntegrationoftheEquationofMotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 EnvelopeTracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.5 SpaceCharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.6 WakeFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 MultipleSpecies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5 OPAL-CYCL 35 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2 Trackingmodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2.1 SingleParticleTrackingmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2.2 TuneCalculationmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2.3 Multi-particletrackingmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3 VariablesinOPAL-CYCL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3.1 Theinitialdistributioninthelocalreferenceframe . . . . . . . . . . . . . . . . . . . . . 37 5.4 FieldMaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.4.1 CARBONCYCLtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3 4 CONTENTS 5.4.2 CYCIAEtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.4.3 BANDRFtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.4.4 DefaultPSIformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.4.5 user’sownfieldmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.5 RFfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.5.1 ReadRFvoltageprofile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.5.2 Read3DRFfieldmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.6 ParticleTrackingandAcceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.7 SpaceCharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.8 Multi-bunchesIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.9 Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.10 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6 CommandFormat 45 6.1 StatementsandComments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.2 IdentifiersorLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.3 CommandAttributeTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.4 StringAttributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6.5 LogicalExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.6 RealExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.7 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.8 OperandsinExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8.1 LiteralConstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8.2 Symbolicconstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8.3 Variablelabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8.4 Elementorcommandattributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.8.5 DeferredExpressionsandRandomValues . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.8.6 TableReferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.9 ElementSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.9.1 ElementSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.9.2 RangeSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.10 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.11 VariableNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.12 RegularExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.13 TokenList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.14 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.14.1 LogicalArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.14.2 RealArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.14.3 StringArrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.14.4 TokenListArrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 7 ControlStatements 61 7.1 GettingHelp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.1.1 HELPCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.1.2 SHOWCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.1.3 WHATCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.2 STOP/QUITStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.3 OPTIONStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.4 ParameterStatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4.1 VariableDefinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4.2 SymbolicConstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 CONTENTS 5 7.4.3 VectorValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.4.4 AssignmenttoVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.4.5 VALUE:OutputofExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.4.6 H5merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.5 MiscellaneousCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.5.1 ECHOStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.5.2 SYSTEM:ExecuteSystemCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.5.3 SYSTEMCommandunderUNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.6 TITLEStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.7 FileHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.7.1 CALLStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.7.2 SAVEStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.7.3 MAKESEQStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.8 IF:ConditionalExecution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.9 WHILE:RepeatedExecution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.10 MACRO:MacroStatements(Subroutines) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8 Elements 73 8.1 ElementInputFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.2 CommonAttributesforallElements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.3 DriftSpaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.4 BendingMagnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 8.5 Quadrupole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.6 Sextupole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.7 Octupole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.8 GeneralMultipole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.9 Solenoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.10 Cyclotron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 8.11 RFCavities(OPAL-TandOPAL-CYCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.11.1 OPAL-Tmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.11.2 OPAL-CYCLmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.12 TravelingWaveStructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.13 Monitors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.14 Collimators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.14.1 OPAL-Tmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.14.2 OPAL-CYCLmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.15 Septum(OPAL-CYCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 8.16 Probe(OPAL-CYCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 8.17 Stripper(OPAL-CYCL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9 BeamLines 97 9.1 SimpleBeamLines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.2 Sub-lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 10 PhysicsCommands 99 10.1 BEAMCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6 CONTENTS 11 DistributionCommand 101 11.1 CorrelationsforGaussianDistribution(Experimental) . . . . . . . . . . . . . . . . . . . . . . . . 103 11.1.1 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 11.2 ThermalEmittance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 11.3 FlattopDistribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 11.3.1 LegacyMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 12 Fieldsolver 107 12.1 FieldsolverCommand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.2 DefinetheFieldsolvertobeused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.3 DefineDomainDecomposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.4 DefineNumberofGridpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.5 DefineBoundaryConditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.6 DefineGreensFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 12.7 DefineBoundingBoxEnlargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 12.8 DefineGeometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 12.9 DefineIterativeSolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 12.10DefineInterpolationforBoundaryPoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 12.11DefineTolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 12.12DefineMaximalIterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 12.13DefinePreconditionerBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 12.14DefinethenumberofEnergyBinstouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 13 Wakefields 111 13.1 WakefieldCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.2 DefinetheWakefieldtobeused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.3 Definethewakefieldtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 13.4 Definethenumberofbins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.5 Definethebunchlengthtobeconstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.6 Definetheconductivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.7 Definetheimpedance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.8 Definetheformofthebeampipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.9 Definetheradiusofthebeampipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.10Definetheσofthebeampipe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.11Definetherelaxationtime(τ)ofthebeampipe . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.12Importawakefieldfromafile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 13.13WakeFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 13.14Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 14 Geometry 117 14.1 GeometryCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 14.2 DefinetheGeometryFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 14.3 DefinetheLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 14.4 DefinetheStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 14.5 DefinetheSemi-MajorAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 14.6 DefinetheSemi-MinorAxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 15 Tracking 119 15.1 TrackMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 15.1.1 TrackaRandomMachine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 CONTENTS 7 16 FieldEmission 123 16.1 FieldEmissionCommand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 17 Multipacting 125 17.1 CommandsRelatedtoMultipactingSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 17.2 RunParallelPlateBenchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 17.3 PostProcessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 18 PhysicsModelsUsedintheParticleMatterInteractionModel 135 18.1 TheEnergyLoss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 18.2 TheCoulombScattering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 18.2.1 MultipleCoulombScattering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 18.2.2 LargeAngleRutherfordScattering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 18.3 TheFlowDiagramofCollimatorPhysicsClassinOPAL . . . . . . . . . . . . . . . . . . . . . . 137 18.3.1 TheSubsteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 18.4 ExampleofanInputFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 18.5 ASimpleTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 A Installation 143 A.1 BuildandinstallOPALonaMac&Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 A.1.1 SupportingLibraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 A.1.2 EnvironmentVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 A.1.3 InstallingOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 A.2 CrayXE6Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 A.2.1 .bash profile.extFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 A.2.2 .bashrc.extFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 A.2.3 OPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 A.3 Usingpre-buildBinaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 A.4 EnablingtheMultigridSpaceChargeSolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 A.5 DebugFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 A.6 OPALasaLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 A.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 B OPALLanguageSyntax 153 C OPAL-TFieldMaps 163 C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 C.2 TypesandFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 C.3 1DMagnetoStatic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 C.4 AstraMagnetostatic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 C.5 1DDynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 C.6 AstraDynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 C.7 1DProfile1&1DProfile2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 C.8 2DElectroStatic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 C.9 2DMagnetoStatic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 C.10 2DDynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 C.11 3DDynamic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8 CONTENTS List of Tables 2.1 PhysicalUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.1 StringOperatorinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.2 StringFunctioninOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.3 LogicalOperatorsinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.4 RealOperatorsinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.5 RealFunctionsinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.6 RealFunctionswithoneinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.7 RealFunctionsofArraysinOPAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.8 PredefinedSymbolicConstants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.9 RealArrayFunctionsinOPAL(actingcomponent-wise) . . . . . . . . . . . . . . . . . . . . . . 59 7.1 DefaultSettingsforOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 11.1 Differentdistributionsspecifiedbyasingleparameterm . . . . . . . . . . . . . . . . . . . . . . 101 11.2 ParametersfortheDISTRIBUTIONcommand . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 11.3 Parametersofthedistributioncommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 12.1 Fieldsolvercommandsummary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 12.2 Preconditionerbahaviourcommandsummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 13.1 Wakefieldcommandsummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 14.1 Geometrycommandsummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 15.1 CommandsacceptedinTrackingMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 16.1 FieldEmissionCommandsummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 17.1 MultipactingRelatedCommandSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 A.1 Debugflags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 9 10 LISTOFTABLES
Description: