src issueshttps://gitlab.psi.ch/OPAL/src/-/issues2020-08-14T00:46:41+02:00https://gitlab.psi.ch/OPAL/src/-/issues/580opal.el not working2020-08-14T00:46:41+02:00krausopal.el not workingkrauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/576Emit particles from position of Source element2021-08-11T14:35:52+02:00krausEmit particles from position of Source elementCurrently the particles are always emitted from `z = 0` even if the source element is shifted.Currently the particles are always emitted from `z = 0` even if the source element is shifted.https://gitlab.psi.ch/OPAL/src/-/issues/575SAAMG: Review of the BoxCornerDomain2021-06-10T18:27:14+02:00frey_mSAAMG: Review of the BoxCornerDomainThe following discussion from !372 should be addressed:
- [ ] @winklehner_d started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/372#note_24735): (+2 comments)
> Is this what the BoxCorner geometry is supposed to l...The following discussion from !372 should be addressed:
- [ ] @winklehner_d started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/372#note_24735): (+2 comments)
> Is this what the BoxCorner geometry is supposed to look like?
>
> ![BoxCorner_Cartoon](/uploads/2248077c4f3749aacfaea715b1023638/BoxCorner_Cartoon.png)https://gitlab.psi.ch/OPAL/src/-/issues/567Segmentation fault simulation2020-07-16T08:47:53+02:00ext-calvo_ppedro.calvo@ciemat.esSegmentation fault simulationAfter !395 I've got a segmentation fault
```
*** Process received signal ***
Signal: Segmentation fault (11)
Signal code: Invalid permissions (2)
Failing at address: 0x15c69b0
[ 0] /lib64/libpthread.so.0[0x30b520f130]
[ 1] opal(_ZTVN10_...After !395 I've got a segmentation fault
```
*** Process received signal ***
Signal: Segmentation fault (11)
Signal code: Invalid permissions (2)
Failing at address: 0x15c69b0
[ 0] /lib64/libpthread.so.0[0x30b520f130]
[ 1] opal(_ZTVN10__cxxabiv120__si_class_type_infoE+0x10)[0x15c69b0]
*** End of error message ***
ViolaciĆ³n de segmento (`core' generado)
```
The opal compilation was correct. I don't know the cause of the error
cc: @frey\_m @snuverink\_j https://gitlab.psi.ch/OPAL/src/-/issues/562General elements for electrostatitic and magnetostatic fields2021-06-10T17:47:02+02:00krausGeneral elements for electrostatitic and magnetostatic fields### Summary
Currently not every element can be modeled with a specific element in Opal. Instead one has to use 3D field maps and either a solenoid (only for magneto static fields) or an rf cavity. This isn't very intuitive. Instead we c...### Summary
Currently not every element can be modeled with a specific element in Opal. Instead one has to use 3D field maps and either a solenoid (only for magneto static fields) or an rf cavity. This isn't very intuitive. Instead we could provide "blank" elements for the general case, e.g. GENERALELECTROSTATIC and GENERALMAGNETOSTATIC.https://gitlab.psi.ch/OPAL/src/-/issues/557Optimizer gets stuck2021-06-10T19:16:54+02:00snuverink_jjochem.snuverink@psi.chOptimizer gets stuckAs reported by Finn O'Shea: the optimizer get stuck from time to time with the following example:
[fdopt.in](/uploads/e8ef7cb47cc60dcfbb8daab723b461df/fdopt.in)
[fdopt.data](/uploads/2f965a6b27a71ba36ab64519a5d8c74d/fdopt.data)
[fdopt.t...As reported by Finn O'Shea: the optimizer get stuck from time to time with the following example:
[fdopt.in](/uploads/e8ef7cb47cc60dcfbb8daab723b461df/fdopt.in)
[fdopt.data](/uploads/2f965a6b27a71ba36ab64519a5d8c74d/fdopt.data)
[fdopt.tmpl](/uploads/6e7dc37c7fe54832e01c0d7a41755e2f/fdopt.tmpl)snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/555Move Distribution attribute from the TrackRun command to the Beam command.2021-06-10T17:47:27+02:00krausMove Distribution attribute from the TrackRun command to the Beam command.It seems more logic to have them together since the distribution describes the beam of particles.It seems more logic to have them together since the distribution describes the beam of particles.https://gitlab.psi.ch/OPAL/src/-/issues/552Replacing variables containing strings2020-06-08T16:58:39+02:00krausReplacing variables containing stringsCurrently replacing variables in strings, e.g. `FIELDMAP="${test}"` only works with variables containing reals. However users also try to replace variables of strings. Booleans could also replaced although I see no use for that yet.Currently replacing variables in strings, e.g. `FIELDMAP="${test}"` only works with variables containing reals. However users also try to replace variables of strings. Booleans could also replaced although I see no use for that yet.krauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/550Replace hardcoded data directory with OpalData function2020-06-08T16:58:39+02:00frey_mReplace hardcoded data directory with OpalData functionIn MR https://gitlab.psi.ch/OPAL/src/merge_requests/376 we introduced the function `getAuxiliaryOutputDirectory` in order to avoid hard-coded directory names. All `data` need to be replaced.In MR https://gitlab.psi.ch/OPAL/src/merge_requests/376 we introduced the function `getAuxiliaryOutputDirectory` in order to avoid hard-coded directory names. All `data` need to be replaced.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/549Output format of electric field with DBG_SCALARFIELD=TRUE2020-06-03T16:24:25+02:00frey_mOutput format of electric field with DBG_SCALARFIELD=TRUEWhen enabling `DBG_SCALARFIELD=TRUE` OPAL prints the scalar and vector fields to files. In case of a vector field the brackets and commas a written, making it unnecessarily difficult to parse with Python. An example is the electric field...When enabling `DBG_SCALARFIELD=TRUE` OPAL prints the scalar and vector fields to files. In case of a vector field the brackets and commas a written, making it unnecessarily difficult to parse with Python. An example is the electric field with
following output format:
```bash
x y z ( Ex , Ey , Ez )
```
I discussed it with @winklehner\_d and he okayed to change it.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/547Replace all plain pointers with smart pointers2022-11-05T23:09:24+01:00krausReplace all plain pointers with smart pointersWe should replace all plain pointers with smart pointers, either from std or from boost.
#### Some random notes
- Each class `T` for which a shared pointer `std::shared_ptr<T>` is used should feature a `typedef std::shared_ptr<T> SP`. T...We should replace all plain pointers with smart pointers, either from std or from boost.
#### Some random notes
- Each class `T` for which a shared pointer `std::shared_ptr<T>` is used should feature a `typedef std::shared_ptr<T> SP`. This reduces the amount of code we have to write.
- Cyclic references have to be avoided using weak pointers.
#### ToDos
- [ ] `ElementBase *` -> `std::shared_ptr<ElementBase>`
- [ ] return type of Object::clone
- [ ] (almost) all occurrences of the keyword `new`
- [ ] replace (occurrences of) `Pointer` class
- [ ] replace pointers in Classic/Fields with smart pointers (#744)
- [ ] replace plain pointers in Classic/AbsBeamline with smart pointers (#746)https://gitlab.psi.ch/OPAL/src/-/issues/540Nice logo for OPAL2020-06-10T08:28:33+02:00bellotti_rNice logo for OPALI think OPAL is a very nice software and has deserved a logo of its own. That would make it much more recognisable, especially in presentations. I made a small suggestion, perhaps we can collect several and then pick the best one. :)
![...I think OPAL is a very nice software and has deserved a logo of its own. That would make it much more recognisable, especially in presentations. I made a small suggestion, perhaps we can collect several and then pick the best one. :)
![opal_logo_handmade](/uploads/af868b4a2649ba46b1287a96096229b0/opal_logo_handmade.png)
What are your thoughts?https://gitlab.psi.ch/OPAL/src/-/issues/539BeamStripping: use unit meter internally to avoid conversions2020-05-19T11:10:39+02:00ext-calvo_ppedro.calvo@ciemat.esBeamStripping: use unit meter internally to avoid conversionsThe following discussion from !368 should be addressed:
- [x] @ext-calvo_p started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/368#note_21762):
> This modification will affect also to `BeamStripping`. I will updat...The following discussion from !368 should be addressed:
- [x] @ext-calvo_p started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/368#note_21762):
> This modification will affect also to `BeamStripping`. I will update units in a new issue
For #357 the beam stripping element should use unit `m` instead of `mm`ext-calvo_ppedro.calvo@ciemat.esext-calvo_ppedro.calvo@ciemat.eshttps://gitlab.psi.ch/OPAL/src/-/issues/536Follow-up from "Part of "Static code analysis of OPAL""2020-05-15T11:09:03+02:00ext-calvo_ppedro.calvo@ciemat.esFollow-up from "Part of "Static code analysis of OPAL""The following discussion from !363 should be addressed:
- [x] @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/363#note_21650): (+1 comment)
> @ext\-calvo\_p : this include shouldn't have been remo...The following discussion from !363 should be addressed:
- [x] @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/363#note_21650): (+1 comment)
> @ext\-calvo\_p : this include shouldn't have been removed as line 95 uses `gettimeofday` which is part of <sys/time.h>: https://linux.die.net/man/2/gettimeofday. On Mac I get a compile error without the include.ext-calvo_ppedro.calvo@ciemat.esext-calvo_ppedro.calvo@ciemat.eshttps://gitlab.psi.ch/OPAL/src/-/issues/529Follow-up from "Resolve "Add missing ENABLE_AMR""2020-04-29T16:04:31+02:00frey_mFollow-up from "Resolve "Add missing ENABLE_AMR""The following discussion from !347 should be addressed:
- [x] @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/347#note_20849): (+8 comments)
> @frey\_m : why do have `Options::amr` only if `ENABLE...The following discussion from !347 should be addressed:
- [x] @snuverink_j started a [discussion](https://gitlab.psi.ch/OPAL/src/merge_requests/347#note_20849): (+8 comments)
> @frey\_m : why do have `Options::amr` only if `ENABLE_AMR=TRUE` ?
>
> Would it not be easier to have this bool always available and set it to false if `ENABLE_AMR` is not defined and true by default otherwise?
>
> Also you don't actually need to expose the option (those in BasicActions/Option.h) to the parser, I was merely talking
> about the internal variable.
>
Answer by @gsell:
> @snuverink_j yes, maybe this is the right way to go. Internal variables for options/features should be available but
> not exposed to the parser. This simplifies the code and we can handle this (by throwing an exception) in the parser.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/528Add missing ENABLE_AMR2020-04-29T10:10:14+02:00frey_mAdd missing ENABLE_AMRThere's a missing preprocessor directive causing the compilation to fail if AMR is not enabled (i.e. `ENABLE_AMR=FALSE`).
This error was introduced with !312.There's a missing preprocessor directive causing the compilation to fail if AMR is not enabled (i.e. `ENABLE_AMR=FALSE`).
This error was introduced with !312.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/518CMakeList change on NERSC2021-06-10T17:48:54+02:00ext-neveu_nCMakeList change on NERSCWhen compiling on Cori at NERSC, I had trouble pointing to the boost module.
NERSC support recommended I add this line to the [CMakList.txt](https://gitlab.psi.ch/OPAL/src/blob/master/CMakeLists.txt) after line 136:
`set(Boost_LIBRA...When compiling on Cori at NERSC, I had trouble pointing to the boost module.
NERSC support recommended I add this line to the [CMakList.txt](https://gitlab.psi.ch/OPAL/src/blob/master/CMakeLists.txt) after line 136:
`set(Boost_LIBRARIES Boost::headers Boost::chrono Boost::filesystem Boost::iostreams Boost::regex Boost::serialization Boost::system Boost::timer)`
Adding this allowed me to compile and run OPAL. Should we consider adding this?
Shouldn't the find command already have set these?gsellgsellhttps://gitlab.psi.ch/OPAL/src/-/issues/517Outdated example in Wiki2020-04-22T08:13:03+02:00albajacas_aarnau.albajacas@psi.chOutdated example in WikiThe Rf photo injector [example](https://gitlab.psi.ch/OPAL/src/wikis/RFPhotoInjector) in the Wiki is outdated and doesn't work with the current OPAL version.
This is confusing for new users. Is this kept like this for a reason, or can w...The Rf photo injector [example](https://gitlab.psi.ch/OPAL/src/wikis/RFPhotoInjector) in the Wiki is outdated and doesn't work with the current OPAL version.
This is confusing for new users. Is this kept like this for a reason, or can we update it?
I have attached a fixed version that works with OPAL 2.3
[RFphotoinjector.in](/uploads/a52c7ffdd03f63d6ec6a14535ee47e8a/RFphotoinjector.in)adelmannadelmannhttps://gitlab.psi.ch/OPAL/src/-/issues/515Not all (Opal-T) field maps expect same origin for position2020-07-16T22:35:05+02:00krausNot all (Opal-T) field maps expect same origin for positionIn the method `getFieldstrength` some field maps expect the origin of the position at which the field should be evaluated to be at the beginning of the field map others at the origin of the element (`z = 0` in the field map).
All field ...In the method `getFieldstrength` some field maps expect the origin of the position at which the field should be evaluated to be at the beginning of the field map others at the origin of the element (`z = 0` in the field map).
All field maps should expect the position to be at the origin of the element.krauskraushttps://gitlab.psi.ch/OPAL/src/-/issues/504File header for Optimiser classes2020-04-08T16:57:44+02:00frey_mFile header for Optimiser classesThis issue adds the file header according to #482 to the optimiser classes.This issue adds the file header according to #482 to the optimiser classes.frey_mfrey_m