@@ -42,14 +42,18 @@ import kotlin.time.Instant
4242
4343
4444private class EnrichmentFacility (
45- context : Context
45+ context : Context ,
4646) : ContinuousFlowModel(context) {
4747
4848 val mixture = MixtureAlgebra (Kilograms , Mixture .ofFractions(component1 to 1.0 , component2 to 1.0 ))
4949
50- val production = MutableDeviceState (
51- mixture.one
52- )
50+ val productionValue = MutableDeviceState (Numeric <Kilograms >(1.0 ))
51+
52+ val production = productionValue.map {
53+ with (mixture) {
54+ one * it.value
55+ }
56+ }
5357
5458 val producer = producer(mixture, production)
5559
@@ -58,7 +62,7 @@ private class EnrichmentFacility(
5862 }
5963
6064 private class MyMixtureSeparationRule (
61- val fractions : Map <MixtureComponent , Map <String , Double >>
65+ val fractions : Map <MixtureComponent , Map <String , Double >>,
6266 ) : SeparationRule<Kilograms, Mixture<Kilograms, Numeric<Kilograms>>> {
6367 override val productionKeys: Collection <String > = fractions.flatMap { it.value.keys }.distinct()
6468
@@ -100,7 +104,7 @@ private class EnrichmentFacility(
100104 )
101105 ).apply {
102106 connectProducer(mixer)
103- mixer.connectProducer(feedbackKey, asProducer(feedbackKey).delayed(this , 100 .milliseconds))
107+ mixer.connectProducer(feedbackKey, asProducer(feedbackKey).delayed(this , 200 .milliseconds))
104108 }
105109
106110 val discard = consumer(mixture, DeviceState (Numeric (2.0 ))).apply {
@@ -155,15 +159,19 @@ fun main() {
155159 Text (" ${it[EnrichmentFacility .component1]?.value} , ${it[EnrichmentFacility .component2]?.value} " )
156160 }
157161
158- model.displayState(" Feedback" , model.mixer.individualConsumation[EnrichmentFacility .feedbackKey]!! ) {
162+ model.displayState(
163+ " Feedback" ,
164+ model.mixer.individualConsumation[EnrichmentFacility .feedbackKey]!!
165+ ) {
159166 Text (" ${it[EnrichmentFacility .component1]?.value} , ${it[EnrichmentFacility .component2]?.value} " )
160167 }
161168
162169 model.displayState(" Mixer production" , model.mixer.production) {
163170 Text (" ${it[EnrichmentFacility .component1]?.value} , ${it[EnrichmentFacility .component2]?.value} " )
164171 }
165172
166- model.slider<Kilograms >(" Consumption" , model.consumption, 0f .. 4f )
173+ model.slider(" Production" , model.productionValue, 0f .. 4f )
174+ model.slider(" Consumption" , model.consumption, 0f .. 4f )
167175
168176 }
169177
0 commit comments