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