toji 2.26.0 → 2.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/example/calendar.ipynb +33 -41
- data/example/calendar_file.ipynb +32 -40
- data/example/example_core.rb +18 -12
- data/example/koji_progress.ipynb +14 -23
- data/example/koji_progress.rb +1 -1
- data/example/koji_progress.yaml +13 -16
- data/example/koji_progress_multi.ipynb +16 -25
- data/example/moromi_progress.ipynb +22 -31
- data/example/moromi_progress.rb +1 -1
- data/example/moromi_progress.yaml +25 -25
- data/example/moto_progress.ipynb +13 -22
- data/lib/toji.rb +11 -1
- data/lib/toji/processing/soaked_rice.rb +1 -1
- data/lib/toji/progress/base_progress.rb +1 -1
- data/lib/toji/progress/base_state.rb +33 -1
- data/lib/toji/progress/graph/progress_note.rb +1 -1
- data/lib/toji/progress/koji_progress.rb +1 -1
- data/lib/toji/progress/koji_state.rb +0 -16
- data/lib/toji/progress/moromi_progress.rb +1 -1
- data/lib/toji/progress/moromi_state.rb +2 -16
- data/lib/toji/progress/moto_progress.rb +1 -1
- data/lib/toji/progress/moto_state.rb +2 -15
- data/lib/toji/psychrometry_to_relative_humidity.rb +24 -0
- data/lib/toji/recipe.rb +6 -0
- data/lib/toji/swvp.rb +12 -0
- data/lib/toji/swvp/base.rb +8 -0
- data/lib/toji/swvp/sonntag.rb +23 -0
- data/lib/toji/swvp/tetens.rb +17 -0
- data/lib/toji/swvp/wagner.rb +25 -0
- data/lib/toji/version.rb +1 -1
- metadata +8 -2
@@ -3,29 +3,16 @@ module Toji
|
|
3
3
|
module MotoState
|
4
4
|
include BaseState
|
5
5
|
|
6
|
-
|
7
|
-
:temps,
|
8
|
-
:preset_temp,
|
9
|
-
:room_temp,
|
10
|
-
:room_psychrometry,
|
11
|
-
|
6
|
+
KEYS = (BaseState::KEYS + [
|
12
7
|
:baume,
|
13
8
|
:acid,
|
14
|
-
|
15
9
|
:warmings,
|
16
|
-
|
17
|
-
].freeze
|
18
|
-
|
19
|
-
# @dynamic temps
|
20
|
-
# @dynamic preset_temp
|
21
|
-
# @dynamic room_temp
|
22
|
-
# @dynamic room_psychrometry
|
10
|
+
]).freeze
|
23
11
|
|
24
12
|
# @dynamic baume
|
25
13
|
# @dynamic acid
|
26
14
|
|
27
15
|
# @dynamic warmings
|
28
|
-
# @dynamic note
|
29
16
|
end
|
30
17
|
end
|
31
18
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'toji/swvp'
|
2
|
+
|
3
|
+
module Toji
|
4
|
+
# 乾湿差から相対湿度へ変換
|
5
|
+
class PsychrometryToRelativeHumidity
|
6
|
+
attr_reader :swvp
|
7
|
+
attr_reader :pressure
|
8
|
+
attr_reader :k
|
9
|
+
|
10
|
+
def initialize(swvp: Swvp.default, pressure: 1013, k: 0.000662)
|
11
|
+
@swvp = swvp
|
12
|
+
@pressure = pressure
|
13
|
+
@k = k
|
14
|
+
end
|
15
|
+
|
16
|
+
def convert(t_wet, t_dry)
|
17
|
+
p_wet = swvp.calc(t_wet)
|
18
|
+
p_dry = swvp.calc(t_dry)
|
19
|
+
|
20
|
+
p_w = p_wet - pressure * k * (t_dry - t_wet)
|
21
|
+
p_w / p_dry
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/toji/recipe.rb
CHANGED
@@ -56,6 +56,12 @@ module Toji
|
|
56
56
|
steps.map(&:compact!)
|
57
57
|
steps.select! {|step| 0<step.ingredients.to_a.length}
|
58
58
|
|
59
|
+
indexes = steps.map{|step| {index: step.index, subindex: step.subindex}}
|
60
|
+
duplicates = indexes - indexes.uniq
|
61
|
+
if 0<duplicates.length
|
62
|
+
raise DuplicateStepIndexError.new(duplicates)
|
63
|
+
end
|
64
|
+
|
59
65
|
ab_expects.select! {|ab| ab.alcohol && ab.nihonshudo}
|
60
66
|
ab_expects.uniq! {|ab| [ab.alcohol, ab.nihonshudo]}
|
61
67
|
|
data/lib/toji/swvp.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'toji/swvp/base'
|
2
|
+
require 'toji/swvp/tetens'
|
3
|
+
require 'toji/swvp/wagner'
|
4
|
+
require 'toji/swvp/sonntag'
|
5
|
+
|
6
|
+
module Toji
|
7
|
+
# 飽和水蒸気圧 SWVP: saturation water vapor pressure
|
8
|
+
module Swvp
|
9
|
+
cattr_accessor :default
|
10
|
+
self.default = Wagner.instance
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'toji/swvp/base'
|
2
|
+
|
3
|
+
module Toji
|
4
|
+
module Swvp
|
5
|
+
|
6
|
+
# Sonntagの式
|
7
|
+
class Sonntag
|
8
|
+
include Base
|
9
|
+
include Singleton
|
10
|
+
|
11
|
+
A = -6096.9385
|
12
|
+
B = 21.2409642
|
13
|
+
C = 2.711193 * 10**-2
|
14
|
+
D = 1.673852 * 10**-5
|
15
|
+
E = 2.433502
|
16
|
+
|
17
|
+
def calc(temp)
|
18
|
+
temp = temp.to_f
|
19
|
+
(Math.exp(A * ((temp + 273.15)**-1) + B - C * (temp + 273.15) + D * ((temp + 273.15)**2) + E * Math.log(temp + 273.15))) / 100
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'toji/swvp/base'
|
2
|
+
|
3
|
+
module Toji
|
4
|
+
module Swvp
|
5
|
+
|
6
|
+
# Wagnerの式
|
7
|
+
class Wagner
|
8
|
+
include Base
|
9
|
+
include Singleton
|
10
|
+
|
11
|
+
Pc = 221200 # hPa:臨界圧
|
12
|
+
Tc = 647.3 # K:臨界温度
|
13
|
+
A = -7.76451
|
14
|
+
B = 1.45838
|
15
|
+
C = -2.7758
|
16
|
+
D = -1.2303
|
17
|
+
|
18
|
+
def calc(temp)
|
19
|
+
x = 1 - (temp.to_f + 273.15) / Tc
|
20
|
+
Pc * Math.exp((A * x + B * x**1.5 + C * x**3 + D * x**6) / (1 - x))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/lib/toji/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toji
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.27.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoshida Tetsuya
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- lib/toji/progress/state.rb
|
175
175
|
- lib/toji/progress/state/baume_to_nihonshudo.rb
|
176
176
|
- lib/toji/progress/state/nihonshudo_to_baume.rb
|
177
|
+
- lib/toji/psychrometry_to_relative_humidity.rb
|
177
178
|
- lib/toji/recipe.rb
|
178
179
|
- lib/toji/recipe/ab_expect.rb
|
179
180
|
- lib/toji/recipe/action.rb
|
@@ -184,6 +185,11 @@ files:
|
|
184
185
|
- lib/toji/schedule/kake_schedule.rb
|
185
186
|
- lib/toji/schedule/koji_schedule.rb
|
186
187
|
- lib/toji/schedule/rice_schedule.rb
|
188
|
+
- lib/toji/swvp.rb
|
189
|
+
- lib/toji/swvp/base.rb
|
190
|
+
- lib/toji/swvp/sonntag.rb
|
191
|
+
- lib/toji/swvp/tetens.rb
|
192
|
+
- lib/toji/swvp/wagner.rb
|
187
193
|
- lib/toji/utils.rb
|
188
194
|
- lib/toji/version.rb
|
189
195
|
- toji.gemspec
|