Add linear scaling for batch recipes #82821
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Features "Add another form of scaling for batch recipes, enabling creation of bulk recipes"
Purpose of change
Resolves #82744 by allowing creation of bulk threshing recipes.
As discussed in #82795
Describe the solution
Allow specifying recipe scaling as either
logistic
(the existing mode) or linear with a max batch size.For linear scaling with offset
T
, and a max batch size of M, the time taken for batch ofn
is(ceil(n/M) * T) + (n * (time - T)))
.Move recipe batch information to it's own struct, with a variant of substructures specifying the data for whichever mode is selected.
Testing
Examine the batch time taken for the bulk and non-bulk threshed oats recipes, see that they match (e.g. 1 bulk oats is 10 oats, and so on until 5/50).