src issueshttps://gitlab.psi.ch/OPAL/src/-/issues2021-06-10T19:16:54+02:00https://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/365Bug in Variator::variate()2019-10-16T15:26:19+02:00snuverink_jjochem.snuverink@psi.chBug in Variator::variate()Observed by @ext-kranjcevic_m:
> I've been looking at [..] commits c21cfcf1 and 29790810.
>In Optimizer/EA/Variate.h, in variate, the individual can be declared infeasible (lines 221, 224). However, I don't see that it is then also rem...Observed by @ext-kranjcevic_m:
> I've been looking at [..] commits c21cfcf1 and 29790810.
>In Optimizer/EA/Variate.h, in variate, the individual can be declared infeasible (lines 221, 224). However, I don't see that it is then also removed from individualsToEvaluate_m, which can result in a segmentation fault in dispatch_forward_solves, because ind (line 459 in Optimizer/EA/FixedPisaNsga2.tcc) can be a null pointer. Fortunately, when the number of tries in the variator is high enough (e.g., 100 tries), this is unlikely to happen.
>Executing lines 460-485 in Optimizer/EA/FixedPisaNsga2.tcc only if (ind != NULL) should fix the problem.snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/364Optimizer stops to write to disk after a couple of configurations2019-10-08T10:16:18+02:00bellotti_rOptimizer stops to write to disk after a couple of configurationsI'm having problems with the configurations in [this repo](https://gitlab.psi.ch/bellotti_r/awa_masters), in the directory ```optim-quads```.
Steps to reproduce
==================
- Run the batch job provided in the repo (change the pat...I'm having problems with the configurations in [this repo](https://gitlab.psi.ch/bellotti_r/awa_masters), in the directory ```optim-quads```.
Steps to reproduce
==================
- Run the batch job provided in the repo (change the path to OPAL to your path)
- The job runs normally, but after 2min or so, nothing is written to the disk anymore, even if you wait 20min
- Problems do not arise if ```--ntasks=8``` is set in the Slurm file
- The same job runs fine with OPAL 2.0, so it is not a bad configurationhttps://gitlab.psi.ch/OPAL/src/-/issues/337Sampler fails due to static variable in MueLuBottomSolver2020-07-14T10:29:45+02:00frey_mSampler fails due to static variable in MueLuBottomSolver### Summary
As in #336 the sampler crashes when dispatching new individuals after some finished.
### Steps to reproduce
Run the sampler with AMR Trilinos and the smoothed aggregation algebraic multigrid solver for the linear system o...### Summary
As in #336 the sampler crashes when dispatching new individuals after some finished.
### Steps to reproduce
Run the sampler with AMR Trilinos and the smoothed aggregation algebraic multigrid solver for the linear system of
equations.
### What is the current *bug* behavior?
The sampler crashes.
### What is the expected *correct* behavior?
The sampler runs smoothly.
### Possible fixes
Remove the static variable.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/257GA interface is appending new generation output to new json file, rather than...2019-07-04T17:15:48+02:00ext-edelen_aGA interface is appending new generation output to new json file, rather than having one generation output per json fileaccording to the input file:
```
INITIALPOPULATION=100,
MAXGENERATIONS=2,
NUM_MASTERS=1,
NUM_COWORKERS=8,
SIMTMPDIR="tmp",
TEMPLATEDIR="tmpl",
FIELDMAPDIR="fieldm...according to the input file:
```
INITIALPOPULATION=100,
MAXGENERATIONS=2,
NUM_MASTERS=1,
NUM_COWORKERS=8,
SIMTMPDIR="tmp",
TEMPLATEDIR="tmpl",
FIELDMAPDIR="fieldmaps",
NUM_IND_GEN=100,
GENE_MUTATION_PROBABILITY=0.8,
MUTATION_PROBABILITY=0.8,
RECOMBINATION_PROBABILITY=0.2;
```
It seems like this should be 200 samples (100 in population x 2 generations)
However, using mldb to convert to pk reports 300 samples:
```
OPAL ML Database Generator
Found 2 json files.
Write ML-Database 1nCGA-small-test.pk
xDim = 6 -> ['G0', 'G1', 'K0', 'K1', 'PH0', 'PH1']
yDim = 7 -> ['DE', 'EMITS', 'EMITX', 'EMITY', 'RMSS', 'RMSX', 'RMSY']
generations = 2
Data points = 300
```
Looking at the json files:
- 1_1nCGA_0.json has 100 individuals
- 2_1nCGA_0.json has 200 individuals
And if we compare the first individual in each case, they are both the same:
```
"G0": 63.7949,
"G1": 17.5757,
"K0": 474.876,
"K1": 185.284,
"PH0": -8.94274,
"PH1": -2.44182
```
So it looks like new data is just being appended to the new json file in subsequent generations rather than creating a new file for each generation with only that generation's data in it.snuverink_jjochem.snuverink@psi.chkraussnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/248Problems with flexible collimator when used with optimizer2018-11-20T20:30:57+01:00adelmannProblems with flexible collimator when used with optimizerI am getting messages like this:
```
░No reference point provided: using the origin
Individual not viable, I try again: iter= 0
Individual not viable, I try again: iter= 0
░No reference point provided: using the origin
Individua...I am getting messages like this:
```
░No reference point provided: using the origin
Individual not viable, I try again: iter= 0
Individual not viable, I try again: iter= 0
░No reference point provided: using the origin
Individual not viable, I try again: iter= 0
Individual not viable, I try again: iter= 1
Individual not viable, I try again: iter= 2
```
and then the optimisation is killed with
```
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 61951 RUNNING AT bdw-0026
= EXIT CODE: 9
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
Intel(R) MPI Library troubleshooting guide:
https://software.intel.com/node/561764
===================================================================================
```
No further information !
All simulation in progress, at the time when the optimisation is killed,
are terminating just fine.
There is the new flexible collimator involved and a constraint w.r.t. number of particles.
When removing the flexible collimator the optimisation works just fine.
Will add input files later. Need to catch my airplane now!krausadelmannkraushttps://gitlab.psi.ch/OPAL/src/-/issues/235Optimiser occasional crashes with HDF5 enabled.2018-12-10T14:33:54+01:00snuverink_jjochem.snuverink@psi.chOptimiser occasional crashes with HDF5 enabled.@ext-neveu_n reported crashes with the optimizer. It turned out that the crashes were coming from the HDF5 output (with `ENABLEHDF5=FALSE` there were no more crashes).
Stack trace:
```
H5PartWrapper::storeCavityInformation()
H5PartWrapp...@ext-neveu_n reported crashes with the optimizer. It turned out that the crashes were coming from the HDF5 output (with `ENABLEHDF5=FALSE` there were no more crashes).
Stack trace:
```
H5PartWrapper::storeCavityInformation()
H5PartWrapper::open(int)
h5_open_file2
h5_error
h5_report_errorhandler
```
`H5PartWrapper::open(int)`:
```c++
void H5PartWrapper::open(h5_int32_t flags) {
close();
h5_prop_t props = H5CreateFileProp ();
MPI_Comm comm = Ippl::getComm();
h5_err_t h5err = H5SetPropFileMPIOCollective (props, &comm);
#if defined (NDEBUG)
(void)h5err;
#endif
assert (h5err != H5_ERR);
file_m = H5OpenFile (fileName_m.c_str(), flags, props);
assert (file_m != (h5_file_t)H5_ERR);
H5CloseProp (props);
}
```
So the opening of the file failed for some reason (Perhaps the optimiser has deleted the directory?).https://gitlab.psi.ch/OPAL/src/-/issues/233Optimiser: Parsing of expressions2018-12-10T14:34:25+01:00frey_mOptimiser: Parsing of expressionsI added the new function ```infNormRadialPeak```. However, it's not recognized. It crashes with ```Parsing failed!```. I do not see a difference to other expressions.
According to [line 180](https://gitlab.psi.ch/OPAL/src/blob/master/op...I added the new function ```infNormRadialPeak```. However, it's not recognized. It crashes with ```Parsing failed!```. I do not see a difference to other expressions.
According to [line 180](https://gitlab.psi.ch/OPAL/src/blob/master/optimizer/Expression/Expression.h#L180) it checks
```
if (success && iter != end) {
std::cout << "Parsing failed!" << std::endl;
throw new OptPilotException("Expression::parse()",
"Parsing failed!");
}
```
I think it should be ```!success``` and ```ìter == end``` instead. A first test confirms my proposal, i.e. it still works with
e.g. ```sumErrSqRadialPeak``` but now also with ```infNormRadialPeak```.frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/230Non-existing objective gives segfault2018-06-22T11:11:14+02:00snuverink_jjochem.snuverink@psi.chNon-existing objective gives segfaultAs seen with @frey_m: in the `OPTIMIZE` command, a non-existing objective gives a segfault. Rather a warning should be printed.
```
OPAL{0}> opal opt-pilot/optRing.in --inputfile=template/Ring.tmpl --outfile=RingOpt --outdir=RingOpt --i...As seen with @frey_m: in the `OPTIMIZE` command, a non-existing objective gives a segfault. Rather a warning should be printed.
```
OPAL{0}> opal opt-pilot/optRing.in --inputfile=template/Ring.tmpl --outfile=RingOpt --outdir=RingOpt --initialPopulation=31 --num-masters=1 --num-coworkers=1 --num-ind-gen=31 --maxGenerations=30 --gene-mutation-probability=0.5 --mutation-probability=0.5 --recombination-probability=0.5 --simtmpdir=/home/scratch/AMAS-BDSModels/PSI-Ring/tmp --templates=/home/scratch/AMAS-BDSModels/PSI-Ring/template
[pc12290:09252] *** Process received signal ***
[pc12290:09252] Signal: Segmentation fault (11)
[pc12290:09252] Signal code: Address not mapped (1)
[pc12290:09252] Failing at address: 0x10
[pc12290:09249] *** Process received signal ***
[pc12290:09249] Signal: Segmentation fault (11)
[pc12290:09249] Signal code: Address not mapped (1)
[pc12290:09249] Failing at address: 0x10
[pc12290:09252] [ 0] [pc12290:09249] [ 0] /lib64/libpthread.so.0[0x3ab660f7e0]
[pc12290:09249] [ 1] /lib64/libpthread.so.0[0x3ab660f7e0]
[pc12290:09252] [ 1] opal(_ZNK9Objective13getExpressionB5cxx11Ev+0x1)[0x710301]
[pc12290:09252] opal(_ZNK9Objective13getExpressionB5cxx11Ev+0x1)[0x710301]
[pc12290:09249] [ 2] [ 2] -------------------------------------------------------
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
-------------------------------------------------------
opal(_ZN11OptimizeCmd7executeEv+0x24cb)[0x6d679b]
[pc12290:09249] [ 3] opal(_ZN11OptimizeCmd7executeEv+0x24cb)[0x6d679b]
[pc12290:09252] [ 3] opal(_ZNK10OpalParser7executeEP6ObjectRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x3a)[0x6c8b1a]
[pc12290:09249] [ 4] opal(_ZNK10OpalParser11parseActionER9Statement+0x142)[0x6cce92]
[pc12290:09249] [ 5] opal(_ZNK10OpalParser5parseER9Statement+0x173)[0x6cc733]
[pc12290:09249] [ 6] opal(_ZNK10OpalParser3runEv+0x2c)[0x6c87bc]
[pc12290:09249] [ 7] opal(_ZNK10OpalParser3runEP11TokenStream+0x70)[0x6cd5b0]
[pc12290:09249] [ 8] opal(main+0x1e8f)[0x618bef]
[pc12290:09249] [ 9] /lib64/libc.so.6(__libc_start_main+0xfd)[0x3ab5e1ed1d]
[pc12290:09249] [10] opal[0x60b559]
[pc12290:09249] *** End of error message ***
opal(_ZNK10OpalParser7executeEP6ObjectRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x3a)[0x6c8b1a]
[pc12290:09252] [ 4] opal(_ZNK10OpalParser11parseActionER9Statement+0x142)[0x6cce92]
[pc12290:09252] [ 5] opal(_ZNK10OpalParser5parseER9Statement+0x173)[0x6cc733]
[pc12290:09252] [ 6] opal(_ZNK10OpalParser3runEv+0x2c)[0x6c87bc]
[pc12290:09252] [ 7] opal(_ZNK10OpalParser3runEP11TokenStream+0x70)[0x6cd5b0]
[pc12290:09252] [ 8] opal(main+0x1e8f)[0x618bef]
[pc12290:09252] [ 9] /lib64/libc.so.6(__libc_start_main+0xfd)[0x3ab5e1ed1d]
[pc12290:09252] [10] opal[0x60b559]
[pc12290:09252] *** End of error message ***
```snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/179opt-pilot CONSTRAINT command not known2017-11-07T10:03:58+01:00snuverink_jjochem.snuverink@psi.chopt-pilot CONSTRAINT command not knownA opt-pilot constraint such as:
```
c1: CONSTRAINT, EXPR="fabs(rms_x)<1.5e-2";
constrs: CONSTRAINTS = (c1);
```
gives:
```
Error>
Error> *** Parse error detected by function "OpalParser::parseDefine()"
Error> *** in line 46 of file "...A opt-pilot constraint such as:
```
c1: CONSTRAINT, EXPR="fabs(rms_x)<1.5e-2";
constrs: CONSTRAINTS = (c1);
```
gives:
```
Error>
Error> *** Parse error detected by function "OpalParser::parseDefine()"
Error> *** in line 46 of file "RingOpt.in" before token ",":
Error> The object "CONSTRAINT" is unknown.
```
This is because the keyword CONSTRAINT is not skipped in [AbsFileStream](https://gitlab.psi.ch/OPAL/src/blob/master/src/Classic/Parser/AbsFileStream.cpp#L42).
I will fix this there.
One concern is that CONSTRAINT is also a keyword in the match routine: https://gitlab.psi.ch/OPAL/src/blob/master/src/Match/MatchParser.cpp.
However, as far as I can see this is currently not in OPAL? Quoting the manual: "Please note this is not yet available in: `DOPAL-t` and `DOPAL-cycl`." @adelmann can you confirm?snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/164Compiling OPAL on Daint causes internal compiler error2017-09-18T10:18:43+02:00frey_mCompiling OPAL on Daint causes internal compiler errorWhen compiling OPAL on Piz Daint one obtains an internal compiler error
```
/users/freym/git/opal/src/opt-pilot/Util/MPIHelper.cpp:36:11: required from here
/users/freym/git/opal/src/opt-pilot/Util/Types.h:50:16: internal compiler err...When compiling OPAL on Piz Daint one obtains an internal compiler error
```
/users/freym/git/opal/src/opt-pilot/Util/MPIHelper.cpp:36:11: required from here
/users/freym/git/opal/src/opt-pilot/Util/Types.h:50:16: internal compiler error: Segmentation fault
typedef struct {
^
0xb0248f crash_signal
../../cray-gcc-5.3.0/gcc/toplev.c:383
0xafa0ff layout_decl(tree_node*, unsigned int)
../../cray-gcc-5.3.0/gcc/stor-layout.c:783
0x660ba4 require_complete_types_for_parms
../../cray-gcc-5.3.0/gcc/cp/decl.c:11148
0x660ba4 check_function_type
../../cray-gcc-5.3.0/gcc/cp/decl.c:13297
0x660ba4 start_preparsed_function(tree_node*, tree_node*, int)
../../cray-gcc-5.3.0/gcc/cp/decl.c:13471
0x70f654 synthesize_method(tree_node*)
../../cray-gcc-5.3.0/gcc/cp/method.c:798
0x6b29f3 mark_used(tree_node*, int)
../../cray-gcc-5.3.0/gcc/cp/decl2.c:5196
0x651dc4 build_over_call
../../cray-gcc-5.3.0/gcc/cp/call.c:7536
0x650976 build_new_method_call_1
../../cray-gcc-5.3.0/gcc/cp/call.c:8252
0x650976 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int)
../../cray-gcc-5.3.0/gcc/cp/call.c:8322
0x64a6ba build_special_member_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, int)
../../cray-gcc-5.3.0/gcc/cp/call.c:7862
0x709877 build_value_init(tree_node*, int)
../../cray-gcc-5.3.0/gcc/cp/init.c:358
0x70de58 perform_member_init
../../cray-gcc-5.3.0/gcc/cp/init.c:646
0x70de58 emit_mem_initializers(tree_node*)
../../cray-gcc-5.3.0/gcc/cp/init.c:1167
0x684656 tsubst_expr
../../cray-gcc-5.3.0/gcc/cp/pt.c:13962
0x6844fc tsubst_expr
../../cray-gcc-5.3.0/gcc/cp/pt.c:14142
0x683267 instantiate_decl(tree_node*, int, bool)
../../cray-gcc-5.3.0/gcc/cp/pt.c:20589
0x6b271d mark_used(tree_node*, int)
../../cray-gcc-5.3.0/gcc/cp/decl2.c:5217
0x651dc4 build_over_call
../../cray-gcc-5.3.0/gcc/cp/call.c:7536
0x650976 build_new_method_call_1
../../cray-gcc-5.3.0/gcc/cp/call.c:8252
Please submit a full bug report,
```frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/153Constraints validation fails2017-11-08T10:25:08+01:00frey_mConstraints validation failsI tried out the constraints with the condition that the number of particles should be greater than zero.
```
...
//c1: CONSTRAINT, EXPR="numParticles > 0";
//objs: OBJECTIVES=(dpeak1,dpeak2,dpeak3_5);
//constrs: CONSTRAINTS = (c1);...I tried out the constraints with the condition that the number of particles should be greater than zero.
```
...
//c1: CONSTRAINT, EXPR="numParticles > 0";
//objs: OBJECTIVES=(dpeak1,dpeak2,dpeak3_5);
//constrs: CONSTRAINTS = (c1);
//opt: OPTIMIZE, OBJECTIVES = objs, DVARS = dvars, CONSTRAINTS = constrs;
...
```
This is a dummy constraint since in our simulation we lose no particles. 'numParticles' is part of the SDDS file, i.e. *.stat file (OPAL 1.6).
For some reason -- I do not understand -- I get following message in [opt.trace.0](/uploads/71d42dd821ddfcc95d3fa165cb5ef5ad/opt.trace.0):
```
invalid individual, constraint "c1" failed to yield true; result: 0
```
OPT-Pilot never finds a solution. Without the constraint, it works fine. The template and data file attached:
[Ring.tmpl](/uploads/c94789c099aa26a0d20acd0daca29f93/Ring.tmpl)
[Ring.data](/uploads/95c2dac28b6a7785e708cc363977957c/Ring.data)
Best,
Matthias :bug:snuverink_jjochem.snuverink@psi.chsnuverink_jjochem.snuverink@psi.chhttps://gitlab.psi.ch/OPAL/src/-/issues/152More than 1 coworker2019-01-10T09:37:22+01:00adelmannMore than 1 coworker**--num-coworkers=2** does not work. Simulation of first generation is not terminating**--num-coworkers=2** does not work. Simulation of first generation is not terminatingYves IneichenYves Ineichenhttps://gitlab.psi.ch/OPAL/src/-/issues/318Optimizer: Generalizing objectives with sddsVariableAt2019-06-26T16:56:20+02:00frey_mOptimizer: Generalizing objectives with sddsVariableAt### Summary
Currently, the optimizer allows to evaluate an objective in the stat-file with ```sddsVariableAt``` according to ```spos```
only. I'd like to use other quantities as well.### Summary
Currently, the optimizer allows to evaluate an objective in the stat-file with ```sddsVariableAt``` according to ```spos```
only. I'd like to use other quantities as well.frey_mfrey_mhttps://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/278add option to load initial population for GA2019-03-15T11:13:52+01:00ext-edelen_aadd option to load initial population for GAWe'd like to be able to specify an initial population to use in the OPAL GA.We'd like to be able to specify an initial population to use in the OPAL GA.frey_msnuverink_jjochem.snuverink@psi.chadelmannkrausfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/269Halo evaluation as objective2018-12-11T09:14:40+01:00frey_mHalo evaluation as objectiveIt would be nice having a halo evaluation as an objective for the sampler and optimizer. I also think about multi-bunch simulations. We need either the halo written to the stat-file or evaluate it using the H5 file. In case of multi-bunc...It would be nice having a halo evaluation as an objective for the sampler and optimizer. I also think about multi-bunch simulations. We need either the halo written to the stat-file or evaluate it using the H5 file. In case of multi-bunch simulations where particles are assigned to energy bins, we'd need a stat file for every energy bin. Therefore, I think, it's easier to add new objective funtion.
I suggest something like this
```c++
halo(dir, step, bin)
```
where ```dir=x,y,z``` and ```bin``` the energy bin (default: 0).frey_mfrey_mhttps://gitlab.psi.ch/OPAL/src/-/issues/251Allow optimizer and sampler runs to restart from given h5 file2019-02-25T08:43:02+01:00krausAllow optimizer and sampler runs to restart from given h5 fileRestart currently doesn't work for runs when launched from the optimizer / sampler. This feature should be relatively easy to implement. Reported by M. Abo-Bakr.Restart currently doesn't work for runs when launched from the optimizer / sampler. This feature should be relatively easy to implement. Reported by M. Abo-Bakr.krausfrey_mkraushttps://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/239Remove requirement of data file for SAMPLER and OPTIMIZER2020-06-22T09:42:35+02:00adelmannRemove requirement of data file for SAMPLER and OPTIMIZERWe still use the runOPAL.py scheme with template / data file. However the design variables could be easily looked up in the dictionary or we invent new types: DvarReal etc.
[Edit: this has been moved to a separate issue, see #249! If we...We still use the runOPAL.py scheme with template / data file. However the design variables could be easily looked up in the dictionary or we invent new types: DvarReal etc.
[Edit: this has been moved to a separate issue, see #249! If we could define quantities of interest (a la optimizer) and write them to the json file lengthly post processing would be avoided.]
Edit:
- [x] remove the need for a data file (!288)
- [x] write a json file containing the values of the DVARs and objectives (#249)OPAL 2.4.0frey_mfrey_m