- Function returns: caseSetupDicts that can be reduced but are not continuations, caseSetupDicts that are continuations and caseSetupDicts that can't be reduced. I'd like to make it an iterator, but I guess returning a Vec is good enough (specially since we need to sort the files in the file system to find out the continuations).
- Problem: Variations need to be sorta-kinda expanded, 'cause they have more/replace caseSetupDicts
- So Reducer needs to know about variations and the merge space from the Expander, and Expander needs to know about reductability from the Reducer.
- (All this to know how many run-dirs we need...)
- Default doesn't have long run (all caseSetupDicts are static); variation have short and long run (at least oneCaseSetupDict is reducible).
- Rename the run-dir after expansion, if found anything that can be reduced?
- Expand the short and long run-dirs always, and then just ignore/delete the long one if the case isn't reducible?
- We need to remove it if it doesn't have a long validation either.
- **Need to document this properly** [[#0.20 Documentation]]
# verificationDict/validationDict
Idea for a Foam-formated file for Verify
```foam
validation {
variables ("phi" "meanT");
// Validation is run in sequence: "long" and "infinite" will not run if "short" passes its thresholds.
// Names are free form, and we could use them to defined the run-dir, e.g., "short" validation will be run in ".run-short", "long" in ".run-long" and "infinite" in ".run-infinite".
short {
steps 10;
generatedFile "postProcessing/10/blah";
referenceFile "verification/10/blah";
// No tolerances mean "it will warn if the values are not the same"
// This makes the continuations explicit, by specificing files that form a single run.
continuations (
"system/caseSetupDict.initial"
"system/caseSetupDict.continuation1"
"system/caseSetupDict.continuation2"
)
}
long {
steps 100;
generatedFile "postProcessing/100/blah";
referenceFile "verification/100/blah";
failIf {
absolute 10;
relative 10;
operator and; // will fail is the absolute difference is above 10 AND the relative difference is above 10;
}
}
infinite {
// With no steps, there is no reduction
// (maybe we need something to tell that there is no reduction explicitly?)
generatedFile: "postProcessing/20000/blah;"
referenceFile "verification/20000/blah";
failIf {
absolute 20;
relative 20;
// no operator means OR, so example will fail if the absolute different is above 20 OR the relative difference is above 20
- Current pipeline still exists, a new pipeline is build next to it with the new actors, with the new structures and "finder" sends requests depending on found files.
- What about reporter?
- No actors?
- New design is in early stages and I'm not sure how long till they are both feature compatible.