src issueshttps://gitlab.psi.ch/OPAL/src/-/issues2021-06-10T18:19:31+02:00https://gitlab.psi.ch/OPAL/src/-/issues/1AMTS Implementation / MTS OPAL-cycl2021-06-10T18:19:31+02:00adelmannAMTS Implementation / MTS OPAL-cycl### Summary
Implement adaptive multiple time step (MTS) tracking.### Summary
Implement adaptive multiple time step (MTS) tracking.adelmannwinklehner_dadelmannhttps://gitlab.psi.ch/OPAL/src/-/issues/44Adding outer aperture to elements2021-06-10T18:11:27+02:00krausAdding outer aperture to elementsCurrently OPAL-T only knows one aperture: if a particle is outside this aperture then it doesn't see the effect of the element, but it isn't stopped. We can't just kill all particles that are "outside" the element since the elements are ...Currently OPAL-T only knows one aperture: if a particle is outside this aperture then it doesn't see the effect of the element, but it isn't stopped. We can't just kill all particles that are "outside" the element since the elements are placed in 3D space (consider circular lattices of e.g. ERLs). Solution an outer aperture. Kill the particle if it is inside the outer but outside the inner aperture. Use 10 * beta * c * dt as default for thickness of outer aperture.krauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/352Collection of simple and commented input files2021-06-10T18:10:11+02:00krausCollection of simple and commented input files1. Start with external distribution, FROMFILE, (self generated, elegant, astra,...)
2. simple optimization of beamline with multi-part goal, e.g. to minimize 6D phase space
3. OPAL with CSR
4. OPAL with 3D Fields (RBend)
5. OPAL with arb...1. Start with external distribution, FROMFILE, (self generated, elegant, astra,...)
2. simple optimization of beamline with multi-part goal, e.g. to minimize 6D phase space
3. OPAL with CSR
4. OPAL with 3D Fields (RBend)
5. OPAL with arbitrary short range wakes
J. Knedelhttps://gitlab.psi.ch/OPAL/src/-/issues/100Kickers with field maps2021-06-10T18:07:13+02:00krausKickers with field mapsKickers at bERLinPro are far from perfect dipoles. Instead they have a strong higher order components. The current implementation only provides a hard-edge model. Let the user add field maps to better model them.Kickers at bERLinPro are far from perfect dipoles. Instead they have a strong higher order components. The current implementation only provides a hard-edge model. Let the user add field maps to better model them.krauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/250Store stat files of Sampler (and Optimizer?) in a single file2021-06-10T17:58:47+02:00krausStore stat files of Sampler (and Optimizer?) in a single fileThe stat files should be stored into a single file such that all data from all runs can be evaluated in post processing. The data should be supplemented with the values of the design variables. File formats that come into considerations ...The stat files should be stored into a single file such that all data from all runs can be evaluated in post processing. The data should be supplemented with the values of the design variables. File formats that come into considerations are HDF5, SDDS, a NoSQL database, zip/tar gunzip etc.krausadelmanngsellkraushttps://gitlab.psi.ch/OPAL/src/-/issues/260Implement improved and low energy CSR methods2021-06-18T11:28:29+02:00krausImplement improved and low energy CSR methodsThe formulas to compute the CSR kick that is current used workes only for high energy beams. Better formulas such as [D. Sagan's](http://accelconf.web.cern.ch/AccelConf/e06/PAPERS/THPCH024.PDF) exist and are well tested.The formulas to compute the CSR kick that is current used workes only for high energy beams. Better formulas such as [D. Sagan's](http://accelconf.web.cern.ch/AccelConf/e06/PAPERS/THPCH024.PDF) exist and are well tested.ext-neveu_next-neveu_nhttps://gitlab.psi.ch/OPAL/src/-/issues/279Trimcoil: PHIMIN and PHIMAX as arrays2021-06-10T17:57:30+02:00frey_mTrimcoil: PHIMIN and PHIMAX as arraysIn order to have one instance of a trim coil instead of multiple instances it is better having the arguments PHIMIN and PHIMAX as arrays. Otherwise one needs to specify the same trim coil n-times for n-sectors.In order to have one instance of a trim coil instead of multiple instances it is better having the arguments PHIMIN and PHIMAX as arrays. Otherwise one needs to specify the same trim coil n-times for n-sectors.snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/286Cyclotron elements geometry option: annulus sector2023-01-27T11:45:55+01:00snuverink_jjochem.snuverink@psi.chCyclotron elements geometry option: annulus sectorSuggested by @matlocha_t: provide an annulus sector as a geometry option for the cyclotron elements (CColimator, Septum, Stripper):
![image](/uploads/9cff1d89a79d8cee66dcd30aa9d21e95/image.png)
The shape can be described as in ANSYS (h...Suggested by @matlocha_t: provide an annulus sector as a geometry option for the cyclotron elements (CColimator, Septum, Stripper):
![image](/uploads/9cff1d89a79d8cee66dcd30aa9d21e95/image.png)
The shape can be described as in ANSYS (https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/ans_cmd/Hlp_C_CYL4.html) with a centre position (x,y), two radii (r1, r2) and two angles.snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/297Suggestion for improvements to the Optimiser2021-06-10T17:56:24+02:00snuverink_jjochem.snuverink@psi.chSuggestion for improvements to the OptimiserSome suggestions and observations to improve usability of the optimiser by Michael Abo-Bakr (as far as not already covered in other issues):
* [ ] For 1 or 2 optimisation parameters there is no hypervolume calculation.
* [ ] It would be...Some suggestions and observations to improve usability of the optimiser by Michael Abo-Bakr (as far as not already covered in other issues):
* [ ] For 1 or 2 optimisation parameters there is no hypervolume calculation.
* [ ] It would be very nice to get at the end a final best solution in the output (defined with some cost function)
* [ ] .json format is not always ideal for reading or writing new generation files (as starting condition)
* [ ] Not all individuals appear to be really new.
* [ ] Option to adaptively change optimisation parameters (mutation, crossover etc.)snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/327General field map reader2022-01-26T19:47:13+01:00ext-neveu_nGeneral field map reader### Summary
Requesting capability to provide a field map with real and imaginary parts.
i.e. see field map here for LCLS TW structure (~3m long):
https://www.slac.stanford.edu/~lizh/link/lcls/sband-1d-field-map/lcls1-sband-1d-field-m...### Summary
Requesting capability to provide a field map with real and imaginary parts.
i.e. see field map here for LCLS TW structure (~3m long):
https://www.slac.stanford.edu/~lizh/link/lcls/sband-1d-field-map/lcls1-sband-1d-field-map-complex-field.datkrauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/354Add Analytic model of a transverse deflecting cavity (TCAV)2021-06-10T17:54:19+02:00adelmannAdd Analytic model of a transverse deflecting cavity (TCAV)adelmannkrausext-neveu_nadelmannhttps://gitlab.psi.ch/OPAL/src/-/issues/359CCollimator not properly implemented for horizontal cut2021-06-10T17:53:04+02:00frey_mCCollimator not properly implemented for horizontal cutAs far as I understand, the CCollimator checks the [vertical direction](https://gitlab.psi.ch/OPAL/src/blob/master/src/Classic/AbsBeamline/CCollimator.cpp#L60) in order to find out if the bunch is close to the collimator. However, this o...As far as I understand, the CCollimator checks the [vertical direction](https://gitlab.psi.ch/OPAL/src/blob/master/src/Classic/AbsBeamline/CCollimator.cpp#L60) in order to find out if the bunch is close to the collimator. However, this only works for vertical collimators (consisting of 2 CCollimator elements, i.e. upper and lower plate). In case of horizontal collimators this does not apply.frey_msnuverink_jjochem.snuverink@psi.chfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/457Dipoles in Opal-T to support quadrupole component field gradients2021-12-27T11:30:52+01:00snuverink_jjochem.snuverink@psi.chDipoles in Opal-T to support quadrupole component field gradientsThe following discussion from !269 should be addressed:
- @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/269#note_16644): (+3 comments)
> The commenting out was introduced by @kraus in 595b4b83 ....The following discussion from !269 should be addressed:
- @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/269#note_16644): (+3 comments)
> The commenting out was introduced by @kraus in 595b4b83 .. perhaps he can comment. Note that the class at that time was called `Bend` : https://gitlab.psi.ch/OPAL/src/blob/595b4b83818596b5f7a72e086cbbda4325f70aa8/src/Classic/AbsBeamline/Bend.cpp
- @kraus The dipoles in Opal-T used to support field gradients in version 1.6 and before. When I rewrote Opal-T I disabled it to speed up the development. However it was my intention to re-enable it (but didn't happen). I still think that we should support the quadruple component.https://gitlab.psi.ch/OPAL/src/-/issues/616Enable H5 files as input for FROMFILE distributions2021-06-10T17:35:43+02:00krausEnable H5 files as input for FROMFILE distributionsIf one wants to use the distribution from a "temporal" monitor or from the regular phase space dump then one has to export the phase space of the HDF5 file to Ascii. Instead we should allow to use the HDF5 directly.If one wants to use the distribution from a "temporal" monitor or from the regular phase space dump then one has to export the phase space of the HDF5 file to Ascii. Instead we should allow to use the HDF5 directly.https://gitlab.psi.ch/OPAL/src/-/issues/686Use a library that provides dimensional analysis and unit/quantity manipulation.2023-07-24T11:02:38+02:00krausUse a library that provides dimensional analysis and unit/quantity manipulation.Once we switch to c++20 then we should use [this library](https://github.com/mpusz/units) to make unit convertions safe. Ideally we also provide units for the parser such that the user can provide quantities in different units than meter...Once we switch to c++20 then we should use [this library](https://github.com/mpusz/units) to make unit convertions safe. Ideally we also provide units for the parser such that the user can provide quantities in different units than meter, seconds etc.
See also [here](https://mpusz.github.io/units/introduction.html) and [here](https://www.youtube.com/watch?v=7dExYGSOJzo).https://gitlab.psi.ch/OPAL/src/-/issues/688Make element MultipoleT useable from Opal-t2021-10-24T18:12:24+02:00krausMake element MultipoleT useable from Opal-tMultipoleT currently only supports Opal-cycl even though in the documentation it was stated that its only supports Opal-t (corrected 21.10.2021). Multipoles with fringe fields are also useful for Opal-t.MultipoleT currently only supports Opal-cycl even though in the documentation it was stated that its only supports Opal-t (corrected 21.10.2021). Multipoles with fringe fields are also useful for Opal-t.https://gitlab.psi.ch/OPAL/src/-/issues/705Enabling 3DDynamics to accept complex field2022-01-26T20:26:07+01:00ext-piot_pEnabling 3DDynamics to accept complex field### Summary
Right now OPAL only allows for 3D map to be real-values. For a project at AWA we need the map to be complex values. I would like to implement by introducing a 3DDynamicsComplex flat in the external map describing the field w...### Summary
Right now OPAL only allows for 3D map to be real-values. For a project at AWA we need the map to be complex values. I would like to implement by introducing a 3DDynamicsComplex flat in the external map describing the field with columns being Re(Ex), Re(Ey) Re(Ez), Im(Ex), Im(Ey) Im(Ez), Re(Hx), Re(Hy) Re(Hz), Im(Hx), Im(Hy) Im(Hz) . I will try to implement this in the next few days -- this is related to the question from one of my colleagues (Seong-Yeol). Any better suggestion?ext-piot_pext-piot_phttps://gitlab.psi.ch/OPAL/src/-/issues/749More geometries for cyclotron elements2023-01-27T17:57:31+01:00snuverink_jjochem.snuverink@psi.chMore geometries for cyclotron elementsFrom @zhang_h: It would be better if the collimators in forms other than a rectangular could also be defined in OPAL_cycl. The collimators in Ring or Injector2 or COMET could be in forms of a trapezoid, a triangle, a circle, and an ellipse.From @zhang_h: It would be better if the collimators in forms other than a rectangular could also be defined in OPAL_cycl. The collimators in Ring or Injector2 or COMET could be in forms of a trapezoid, a triangle, a circle, and an ellipse.https://gitlab.psi.ch/OPAL/src/-/issues/757Zero field should create a warning2023-04-12T10:58:36+02:00adelmannZero field should create a warning### Summary
In case a zero field is read in, a warning should be issued.
Such almost zero fields make sense however one field component must be non zero.
The attached example shows the zero field and the fixed zero field.
[zero-field-...### Summary
In case a zero field is read in, a warning should be issued.
Such almost zero fields make sense however one field component must be non zero.
The attached example shows the zero field and the fixed zero field.
[zero-field-example.zip](/uploads/334c29c62cd2efbaff2e81f244885022/zero-field-example.zip)2023.1adelmannadelmann