diff --git a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg index 4d475f09..5a11100e 100644 --- a/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg +++ b/GameData/KerbalismConfig/Profiles/ROKerbalism.cfg @@ -460,6 +460,56 @@ Supply dump_valve = LqdMethane,LqdOxygen } + // source: https://www.mdpi.com/2073-4344/8/9/379 + // convention: scaled to take output of 12 electrolizers (capacity of miniISRU) + Process + { + name = HTP Synthesis + modifier = _HTPSynthesis + input = ElectricCharge@0.1 + input = Hydrogen@0.1162138813 + input = Oxygen@0.084 + 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@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@0.084 + input = Ammonia@0.04683803641 + output = Water@0.00005716845 + output = NTO@0.00006710384483 + } + + // 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.01679760881 + input = Ammonia@0.1778176725 + input = HTP@0.00009541652939 + output = Water@0.0001446909606 + output = Hydrazine@0.0001281595396 + } + Process { name = brayton generator @@ -1327,6 +1377,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 +1477,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 = efficientLifeSupport + 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 = efficientLifeSupport + 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 = efficientLifeSupport + 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 { @@ -1451,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 @@ -1520,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. @@ -1690,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 @@ -1847,6 +2117,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 @@ -2091,14 +2405,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 @@ -2106,10 +2420,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 + } +}