“机械动力机器数值分析”的版本间的差异

来自TeamMoeg官方WIKI
跳到导航 跳到搜索
[未复核版本][未复核版本]
第2行: 第2行:


=== 粉碎轮 ===
=== 粉碎轮 ===
==== 分析 ====
粉碎轮速度相关的代码为
粉碎轮速度相关的代码为
inventory.remainingTime = recipe.isPresent() ? recipe.get().getProcessingDuration() : 100;


crushingspeed = compound.getFloat("Speed");
crushingspeed = compound.getFloat("Speed");
第20行: 第24行:
clamp的作用是限定范围,高于最大值就等于最大值,小于最小值就等于最小值,这里的上下限是0.25和20
clamp的作用是限定范围,高于最大值就等于最大值,小于最小值就等于最小值,这里的上下限是0.25和20


为了方便讨论,我们提出一个问题,假设我要总共处理a个物品,单个机器单次处理b个,转速x,机器数量k个,求处理总用时t
为了方便讨论,我们提出一个问题,假设我要总共处理a个物品,可用应力为定值b,单个机器单次处理y个,转速x,求处理总用时t
 
已知单个机器(两个粉碎轮)rpm为16,由此可以得可用机器数量k=b/16x
 
我们先假设clamp函数不起作用,不难列出如下公式
[[文件:FGS01.png|无|缩略图]]
其中a,b,T为问题一开始就确立的定值,可操作变量为x,y
 
易得处理总时在一定的总应力下与转速无关,单个机器单次处理量越大处理总需时越小
 
在这个结论的基础上我们再讨论clamp函数的影响
 
易知单个机器处理初始速度为
[[文件:Gs01.png|无|缩略图]]
另v分别等于0.25与20,我们可以得出,上方公式的适用范围
[[文件:01F.png|无|缩略图|纵坐标转速,横坐标处理量]]
高于红线则转速无效,低于蓝线则有增益(但是0.3速)
 
==== 人话 ====
在确定总应力下,处理耗时只与单次处理量有关
 
直接用智能溜槽喂64是最佳选择


不难列出如下公式
粉碎轮转速不得过高,在64堆叠处理下速度不应超过30速

2023年1月28日 (六) 16:04的版本

冬季救援整合包里面的应力相对来说获取困难。为了极致地利用应力以及做好机器匹配,我查阅了相关代码并对其进行了分析。由于本人代码水平也不是很好,也没有编写java的经验,难免有解读错误的地方,望大佬继续补充。

粉碎轮

分析

粉碎轮速度相关的代码为

inventory.remainingTime = recipe.isPresent() ? recipe.get().getProcessingDuration() : 100;

crushingspeed = compound.getFloat("Speed");

float speed = crushingspeed * 4;

float processingSpeed =Mth.clamp((speed) / (!inventory.appliedRecipe ? Mth.log2(inventory.getStackInSlot(0).getCount()) : 1), .25f, 20);

inventory.remainingTime -= processingSpeed;

其中crushingspeed就是我们给的速度,这个速度我不是很清楚是取速度快还是慢的轮,所以我们统一按两轮等速讨论

首先看条件,假如已经吸入了物品(即不是掉落物形态),除数为log2(物品数量),否则按1

但实际上这个没啥用,因为我们都采用溜槽等方式直接跳过了吸入过程,去除了吸入所需时间,因此我们直接按着已吸入计算即可

clamp的作用是限定范围,高于最大值就等于最大值,小于最小值就等于最小值,这里的上下限是0.25和20

为了方便讨论,我们提出一个问题,假设我要总共处理a个物品,可用应力为定值b,单个机器单次处理y个,转速x,求处理总用时t

已知单个机器(两个粉碎轮)rpm为16,由此可以得可用机器数量k=b/16x

我们先假设clamp函数不起作用,不难列出如下公式

FGS01.png

其中a,b,T为问题一开始就确立的定值,可操作变量为x,y

易得处理总时在一定的总应力下与转速无关,单个机器单次处理量越大处理总需时越小

在这个结论的基础上我们再讨论clamp函数的影响

易知单个机器处理初始速度为

Gs01.png

另v分别等于0.25与20,我们可以得出,上方公式的适用范围

纵坐标转速,横坐标处理量

高于红线则转速无效,低于蓝线则有增益(但是0.3速)

人话

在确定总应力下,处理耗时只与单次处理量有关

直接用智能溜槽喂64是最佳选择

粉碎轮转速不得过高,在64堆叠处理下速度不应超过30速