From cff70eeaddcb670821eb16c3f9ced569eae1a721 Mon Sep 17 00:00:00 2001
From: Ballatik <67292986+Ballatik@users.noreply.github.com>
Date: Sat, 5 Sep 2020 11:01:03 -0400
Subject: [PATCH 1/5] Add Processes, mini-ISRU configs
Added Processes for HTP, Ammonia, NTO, and Hydrazine Synthesis.
Added Configs for these to mini-ISRU for initial tests.
---
.../KerbalismConfig/Profiles/ROKerbalism.cfg | 200 ++++++++++++++++++
1 file changed, 200 insertions(+)
diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 4d475f09..9d9eecb6 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -460,6 +460,52 @@ Supply
dump_valve = LqdMethane,LqdOxygen
}
+ // source: https://www.mdpi.com/2073-4344/8/9/379
+ // convention: scaled to take output of 1 electrolizer
+ Process
+ {
+ name = HTP Synthesis
+ modifier = _HTPSynthesis
+ input = ElectricCharge@0.1
+ input = Hydrogen@0.1162138813
+ input = Oxygen@0.084
+ output = Water@0.000053009183
+ output = HTP@0.000053009183
+ dump_valve = Water
+ }
+
+ Process
+ {
+ name = Haber-Bosch Process
+ modifier = _HaberBosch
+ input = ElectricCharge@4.590000004
+ input = Hydrogen@3.370411568
+ input = Nitrogen@1.119904077
+ output = Ammonia@2.214564369
+ }
+
+ Process
+ {
+ name = Ostwald Process
+ modifier = _OstwaldProcess
+ input = ElectricCharge@0.1
+ input = Oxygen@3.971631206
+ input = Ammonia@2.214564369
+ output = Water@0.002703
+ output = NTO@0.003172758621
+ }
+
+ Process
+ {
+ name = Hydrazine Synthesis
+ modifier = _HydrazineSynthesis
+ input = ElectricCharge@0.2091996
+ input = Ammonia@2.214564369
+ input = HTP@0.001188329839
+ output = Water@0.001802
+ output = Hydrazine@0.001596115538
+ }
+
Process
{
name = brayton generator
@@ -1327,6 +1373,38 @@ Supply
running = true
}
MODULE
+ {
+ name = ProcessController
+ resource = _HTPSynthesis
+ title = HTP Synthesis
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HaberBosch
+ title = Haber-Bosch Process
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _OstwaldProcess
+ title = Ostwald Process
+ capacity = 1
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HydrazineSynthesis
+ title = Hydrazine Synthesis
+ capacity = 1
+ running = true
+ }
+ MODULE
{
name = Harvester
title = CO2 Sorption Pump
@@ -1395,6 +1473,84 @@ Supply
amount = 0
maxAmount = 8
}
+ }
+ SETUP
+ {
+ name = HTP synthesis
+ desc = Hydrogen and Oxygen are passed over a Palladium alloy mesh to produce HTP and Water .
+ tech = advancedLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HTPSynthesis
+ }
+ }
+ SETUP
+ {
+ name = Haber-Bosch Process
+ desc = Nitrogen and Hydrogen are catalyzed under high pressure to produce Ammonia.
+ tech = advancedLifeSupport
+ mass = 0.5
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HaberBosch
+ }
+ }
+ SETUP
+ {
+ name = Ostwald Process
+ desc = Ammonia is oxidized to form Nitric Oxide and Water, and then catalyzed to produce NTO.
+ tech = advancedLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _OstwaldProcess
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 500
+ }
+ }
+ SETUP
+ {
+ name = Hydrazine Production
+ desc = Ammonia and HTP are mixed with a Copper catalyst to produce Hydrazine and Water.
+ tech = advancedLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HydrazineSynthesis
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 500
+ }
+ RESOURCE
+ {
+ name = HTP
+ amount = 0
+ maxAmount = 2
+ }
}
SETUP
{
@@ -1847,6 +2003,50 @@ RESOURCE_DEFINITION
@tags ^=:$:, mrp, regolith, molten regolith pyrolosis
}
+RESOURCE_DEFINITION
+{
+ name = _HTPSynthesis
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HTPSynthesis]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, HTP, HTP Synthesis
+}
+
+RESOURCE_DEFINITION
+{
+ name = _HaberBosch
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HaberBosch]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, haber-bosch, ammonia
+}
+
+RESOURCE_DEFINITION
+{
+ name = _OstwaldProcess
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_OstwaldProcess]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, ostwald, ammonia, NTO
+}
+
+RESOURCE_DEFINITION
+{
+ name = _HydrazineSynthesis
+ density = 0.0
+ isVisible = false
+}
+@PART:HAS[@MODULE[ProcessController]:HAS[#resource[_HydrazineSynthesis]]]:NEEDS[ProfileRealismOverhaul]:LAST[Kerbalism]
+{
+ @tags ^=:$:, hydrazine synthesis, hydrazine, HTP
+}
+
RESOURCE_DEFINITION
{
name = _RWGS
From b886f980f8c62b999505458eb4e173c790939cab Mon Sep 17 00:00:00 2001
From: Ballatik <67292986+Ballatik@users.noreply.github.com>
Date: Mon, 7 Sep 2020 10:43:14 -0400
Subject: [PATCH 2/5] rescale processes, change HTP catalyst
Rescaled all processes to match electrolyzers since they are only useful if you are using local water.
Changed HTP process to use a better catalyst, from 50% to 90% selectivity to bring it's payback in line with others.
---
.../KerbalismConfig/Profiles/ROKerbalism.cfg | 38 ++++++++++---------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 9d9eecb6..6e0e30af 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -461,7 +461,7 @@ Supply
}
// source: https://www.mdpi.com/2073-4344/8/9/379
- // convention: scaled to take output of 1 electrolizer
+ // convention: scaled to take output of 12 electrolizers (capacity of miniISRU)
Process
{
name = HTP Synthesis
@@ -469,41 +469,45 @@ Supply
input = ElectricCharge@0.1
input = Hydrogen@0.1162138813
input = Oxygen@0.084
- output = Water@0.000053009183
- output = HTP@0.000053009183
+ output = Water@0.0000106018366
+ output = HTP@0.00009541652939
dump_valve = Water
}
+ // convention: scaled to match input of _HydrazineSynthesis
Process
{
name = Haber-Bosch Process
modifier = _HaberBosch
- input = ElectricCharge@4.590000004
- input = Hydrogen@3.370411568
- input = Nitrogen@1.119904077
- output = Ammonia@2.214564369
+ input = ElectricCharge@0.3685524471
+ input = Hydrogen@0.2706260197
+ input = Nitrogen@0.08992230669
+ output = Ammonia@0.1778176725
}
+ // convention: scaled to take output of 12 electrolizers (capacity of miniISRU)
Process
{
name = Ostwald Process
modifier = _OstwaldProcess
input = ElectricCharge@0.1
- input = Oxygen@3.971631206
- input = Ammonia@2.214564369
- output = Water@0.002703
- output = NTO@0.003172758621
+ input = Oxygen@0.084
+ input = Ammonia@0.04683803641
+ output = Water@0.00005716845
+ output = NTO@0.00006710384483
}
- Process
+ // source: https://apps.dtic.mil/dtic/tr/fulltext/u2/a016905.pdf
+ // convention: scaled to match output of _HTPSynthesis
+ Process
{
name = Hydrazine Synthesis
modifier = _HydrazineSynthesis
- input = ElectricCharge@0.2091996
- input = Ammonia@2.214564369
- input = HTP@0.001188329839
- output = Water@0.001802
- output = Hydrazine@0.001596115538
+ input = ElectricCharge@0.01679760881
+ input = Ammonia@0.1778176725
+ input = HTP@0.00009541652939
+ output = Water@0.0001446909606
+ output = Hydrazine@0.0001281595396
}
Process
From dcb70acd24b4581af64f21860dc1de65f498d264 Mon Sep 17 00:00:00 2001
From: Ballatik <67292986+Ballatik@users.noreply.github.com>
Date: Mon, 14 Sep 2020 18:03:27 -0400
Subject: [PATCH 3/5] Water config, harvester, tree
Added water harvester config option to drill part.
Moved tech nodes around for new processes.
Added water config for the moon
---
.../KerbalismConfig/Profiles/ROKerbalism.cfg | 72 ++++++++++++++++---
.../KerbalismConfig/ResourceConfigs/Water.cfg | 48 +++++++++++++
2 files changed, 111 insertions(+), 9 deletions(-)
create mode 100644 GameData/KerbalismConfig/ResourceConfigs/Water.cfg
diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 6e0e30af..06a196b0 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -1497,7 +1497,7 @@ Supply
{
name = Haber-Bosch Process
desc = Nitrogen and Hydrogen are catalyzed under high pressure to produce Ammonia.
- tech = advancedLifeSupport
+ tech = efficientLifeSupport
mass = 0.5
cost = 50 //FIXME
@@ -1512,7 +1512,7 @@ Supply
{
name = Ostwald Process
desc = Ammonia is oxidized to form Nitric Oxide and Water, and then catalyzed to produce NTO.
- tech = advancedLifeSupport
+ tech = efficientLifeSupport
mass = 0.2 //FIXME
cost = 50 //FIXME
@@ -1533,7 +1533,7 @@ Supply
{
name = Hydrazine Production
desc = Ammonia and HTP are mixed with a Copper catalyst to produce Hydrazine and Water.
- tech = advancedLifeSupport
+ tech = efficientLifeSupport
mass = 0.2 //FIXME
cost = 50 //FIXME
@@ -2295,14 +2295,14 @@ RESOURCE_DEFINITION
%RSSROConfig = true
@TechRequired = longTermLifeSupport
- @mass = 0.08
+ @mass = 0.01
@description = A small harvesting device which harvests oxide-rich regolith for smelting.
%tags = _kerbalism, drill, harvester, regolith, regolith drill, isru
// source: https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20110016233.pdf
MODULE
{
name = Harvester
- title = Regolith Excavation
+ title = Surface Harvester
type = 0
resource = Regolith
min_abundance = 0.02
@@ -2310,10 +2310,64 @@ RESOURCE_DEFINITION
ec_rate = 0.2 // FIXME
}
- RESOURCE
+ MODULE
{
- name = Regolith
- amount = 0
- maxAmount = 50
+ name = Harvester
+ title = Water Extractor
+ type = 0
+ resource = Water
+ min_abundance = 0.001
+ abundance_rate = 0.05
+ rate = 0.000134976
+ ec_rate = 2.75373
+ }
+ MODULE
+ {
+ name = Configure
+ title = Drill
+ slots = 1
+
+ SETUP
+ {
+ name = Regolith Harvester
+ desc = An excavator for collecting regolith for processing.
+ tech = longTermLifeSupport
+ mass = 0.08
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = Harvester
+ id_field = resource
+ id_value = Regolith
+ }
+ RESOURCE
+ {
+ name = Regolith
+ amount = 0
+ maxAmount = 5
+ }
+ }
+ SETUP
+ {
+ name = Water Extractor
+ desc = Collects substrate and thaws it to extract Water.
+ tech = longTermLifeSupport
+ mass = 0.363
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = Harvester
+ id_field = resource
+ id_value = Water
+ }
+ RESOURCE
+ {
+ name = Water
+ amount = 0
+ maxAmount = 5
+ }
+ }
}
}
diff --git a/GameData/KerbalismConfig/ResourceConfigs/Water.cfg b/GameData/KerbalismConfig/ResourceConfigs/Water.cfg
new file mode 100644
index 00000000..48b50dde
--- /dev/null
+++ b/GameData/KerbalismConfig/ResourceConfigs/Water.cfg
@@ -0,0 +1,48 @@
+// source: https://ntrs.nasa.gov/citations/20110014548 LCROSS impactor found ~5% ice concentration at the poles and 0.1-1% concentration in other areas
+PLANETARY_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+
+ Distribution
+ {
+ PresenceChance = 50
+ MinAbundance = 0.1
+ MaxAbundance = 1
+ Variance = 20
+ Dispersal = 3
+ }
+}
+BIOME_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+ BiomeName = North Pole
+
+ Distribution
+ {
+ PresenceChance = 100
+ MinAbundance = 2
+ MaxAbundance = 5
+ Variance = 20
+ Dispersal = 3
+ }
+}
+BIOME_RESOURCE
+{
+ ResourceName = Water
+ ResourceType = 0
+ PlanetName = Moon
+ BiomeName = South Pole
+
+ Distribution
+ {
+ PresenceChance = 100
+ MinAbundance = 2
+ MaxAbundance = 5
+ Variance = 20
+ Dispersal = 3
+ }
+}
From 6c56590c9b9e112b52a67aa449b8260040b3958a Mon Sep 17 00:00:00 2001
From: Ballatik <67292986+Ballatik@users.noreply.github.com>
Date: Sun, 20 Sep 2020 11:09:59 -0400
Subject: [PATCH 4/5] Added new processes to Large ISRU part
---
.../KerbalismConfig/Profiles/ROKerbalism.cfg | 110 ++++++++++++++++++
1 file changed, 110 insertions(+)
diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 06a196b0..84ca32c0 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -1611,6 +1611,38 @@ Supply
running = true
}
MODULE
+ {
+ name = ProcessController
+ resource = _HTPSynthesis
+ title = HTP Synthesis
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HaberBosch
+ title = Haber-Bosch Process
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _OstwaldProcess
+ title = Ostwald Process
+ capacity = 5
+ running = true
+ }
+ MODULE
+ {
+ name = ProcessController
+ resource = _HydrazineSynthesis
+ title = Hydrazine Synthesis
+ capacity = 5
+ running = true
+ }
+ MODULE
{
name = Harvester
title = CO2 Sorption Pump
@@ -1680,6 +1712,84 @@ Supply
}
}
SETUP
+ {
+ name = HTP synthesis
+ desc = Hydrogen and Oxygen are passed over a Palladium alloy mesh to produce HTP and Water .
+ tech = advancedLifeSupport
+ mass = 0.6 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HTPSynthesis
+ }
+ }
+ SETUP
+ {
+ name = Haber-Bosch Process
+ desc = Nitrogen and Hydrogen are catalyzed under high pressure to produce Ammonia.
+ tech = efficientLifeSupport
+ mass = 1.5
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HaberBosch
+ }
+ }
+ SETUP
+ {
+ name = Ostwald Process
+ desc = Ammonia is oxidized to form Nitric Oxide and Water, and then catalyzed to produce NTO.
+ tech = efficientLifeSupport
+ mass = 0.6 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _OstwaldProcess
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 2500
+ }
+ }
+ SETUP
+ {
+ name = Hydrazine Production
+ desc = Ammonia and HTP are mixed with a Copper catalyst to produce Hydrazine and Water.
+ tech = efficientLifeSupport
+ mass = 0.2 //FIXME
+ cost = 50 //FIXME
+
+ MODULE
+ {
+ type = ProcessController
+ id_field = resource
+ id_value = _HydrazineSynthesis
+ }
+ RESOURCE
+ {
+ name = Ammonia
+ amount = 0
+ maxAmount = 2500
+ }
+ RESOURCE
+ {
+ name = HTP
+ amount = 0
+ maxAmount = 10
+ }
+ }
+ SETUP
{
name = CO2 Sorption Pump
desc = An advanced CO2 pump for feeding larger ISRU processes.
From ee6a83e88bf93ba750f9ad6f29a12086a2e7ac6d Mon Sep 17 00:00:00 2001
From: Ballatik <67292986+Ballatik@users.noreply.github.com>
Date: Sat, 3 Oct 2020 07:20:25 -0400
Subject: [PATCH 5/5] Fixed GOX converter tech requirement
---
GameData/KerbalismConfig/Profiles/ROKerbalism.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
index 84ca32c0..5a11100e 100644
--- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
+++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg
@@ -1960,7 +1960,7 @@ Supply
{
name = GOX to LOX Converter
desc = Liquifies breathable Oxygen into LqdOxygen.
- tech = lifeSupportISRU
+ tech = advancedLifeSupport
mass = 0.017 //FIXME Best option processes 2.2kg/hr w/mass of 68kg source: https://www.sciencedirect.com/science/article/pii/S0011227517302187
cost = 50 //FIXME