Jump to content

Real ISRU Development Thread


regex

Recommended Posts

Industrial scale? Not at all, it is mean to refill propellants on planets or create propellant usefull for launcher or landers
vOv I'm envisioning total equipment masses on the order of 750kg (one study for an ice drilling rig that could produce return fuel for a nuclear probe) being "reasonable", maybe the sum total of equipment for a Mars return craft being 2 tons at most (I'd have to look at some studies on that). In RO payload mass fraction is at a premium, more so the further out you go. Lifting entire multi-ton refineries into orbit simply isn't realistic. Typical ISRU mods tend towards the industrial scale of things. What I do remember of KSPI is entire refineries pulling up radioactives, which is just not feasible in the short term. I haven't played with KSPI in quite some time, though, 0.23.5, I think.
Link to comment
Share on other sites

vOv I'm envisioning total equipment masses on the order of 750kg (one study for an ice drilling rig that could produce return fuel for a nuclear probe) being "reasonable", maybe the sum total of equipment for a Mars return craft being 2 tons at most (I'd have to look at some studies on that). In RO payload mass fraction is at a premium, more so the further out you go. Lifting entire multi-ton refineries into orbit simply isn't realistic. Typical ISRU mods tend towards the industrial scale of things. What I do remember of KSPI is entire refineries pulling up radioactives, which is just not feasible in the short term. I haven't played with KSPI in quite some time, though, 0.23.5, I think.

Well the default ISRU refinery is a 2.5m by 1m with a mass of 1 ton (original 2 ton). I intend to make it scalable like all KSPI-E parts, allow it to shrink or scale up to desired size. Originally it could also extract directly from the atmosphere but took that out and demand you require atmospheric scoops for this. Specificaly for the ISRU I developed the Interstellar Fuel Switch, which is a modified FSFuelSwitch with additonal feature which make it more usefull for ISRU.

Edited by FreeThinker
Link to comment
Share on other sites

A few numbers pulled from DRA5:

ISRU

  • 17.86 kW 492.0 kg Atmospheric acquisition - all for 'Microchannel CO2 absorption pump' (I think Zubrin proposed for CH4 just feeding the reactor 'raw' atmosphere and letting chemistry take care of not reacting with N2 etc, the 'waste stream' would have much higher N2 concentration for crew buffer or whatever)
  • _2.59 kW _38.8 kg Oxygen via solid oxide electrolysis
  • _2.90 kW _34.0 kg Liquefaction - most for O2 a little for H2(? a little H2O making?) & CH4(keeping what they brought cool)

1 Hab for 6

12 kW

all up

  • 27 kW nuke
  • 100 kW solar (since it's dark sometimes...)

ISRU strategies evaluated:

  • 27 kW O2 only
  • 32 kW O2&CH4 Earth H2
  • 64 kW O2&CH4 Mars H2O regolith @ 3% H2O by mass
  • 49 kW as above but @ 8%
  • they had all the ISRU done before crew arrived so sequential not parallel power requirements
  • I don't think they had details for H2O from regolith mass required

mass estimate power:

  • 22 ton for solar - includes batteries & emergency power gen
  • 7.8 ton for nuke - seems a lot heaver than SAFE - why? maybe mobility and cabling are included?
  • 4 ton for radio isotope if you get 8 of the 5 kW units they were thinking of - but they were not thinking of using them for 'general power'

Edited by DBowman
Link to comment
Share on other sites

This'll get you Water Electrolysis:


MODULE
{
name = ModuleResourceConverter
ConverterName = Water Electrolysis
StartActionName = Start Water Electrolysis
StopActionName = Stop Water Electrolysis
AutoShutdown = false
GeneratesHeat = true
UseSpecialistBonus = true
SpecialistEfficiencyFactor = 0.2
SpecialistBonusBase = 0.05
Specialty = Engineer
EfficiencyBonus = 1


INPUT_RESOURCE
{
ResourceName = Water
Ratio = 1
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 600 // ~300 kJ for each mol of water
}
OUTPUT_RESOURCE
{
ResourceName = Hydrogen
Ratio = 560.2164723
DumpExcess = false
}
OUTPUT_RESOURCE
{
ResourceName = Oxygen
Ratio = 271.2712953
DumpExcess = false
}
}

I forget what exactly the RO translation is for EC, but I seem to remember it was EC = kJ or something similar. Once you get the resources in a spreadsheet and do the math, the configs are relatively simple. I don't know how to set up the exact heat, though, so someone can help out on that.

Link to comment
Share on other sites

@Regex - yep, sounds like stock will do what you want. It's basically Regolith with a lot of extensions and extra goodies. if you hit a snag, just let me know. And since it's stock - that's one less dependency for you ;)

You'd have to completely remove the resource definition nodes via MM to swap them out, but yes it's doable, and does make sense in the context of RSS/RO. your call.

Link to comment
Share on other sites

Thanks, Raptor831! E: Should add that this is very helpful to me to get started. I'll be redoing all the converters that already exist in RO sometime this week as well.

This'll get you Water Electrolysis:

UseSpecialistBonus = true
SpecialistEfficiencyFactor = 0.2
SpecialistBonusBase = 0.05
Specialty = Engineer
EfficiencyBonus = 1

I don't think any converter or collector should have UseSpecialistBonus set to true for the purposes of this mod.
I forget what exactly the RO translation is for EC, but I seem to remember it was EC = kJ or something similar. Once you get the resources in a spreadsheet and do the math, the configs are relatively simple. I don't know how to set up the exact heat, though, so someone can help out on that.
1EC/s = 1kW
Link to comment
Share on other sites

Great, now where do we get (CH3)2NH and NH2Cl from?

1. Methylation (?) of ammonia.

NH3 + CH3OH (methanol) = CH3NH2 (methylamine) + H2O

2. Methylation (?) of methylamine.

CH3NH2 + CH3OH (methanol) = NH(CH3)2 (dimethylamine) + H2O

Summary:

NH3 + 2 CH3OH = NH(CH3)2 + 2 H2O

Probably you would better look at the third method. It requires no chlorine, but a nitrous acid HNO2.

1.Hydration of N2O4

N2O4 + H2O = HNO2 + HNO3

2.Photolysis of HNO3

4HNO3 = 4NO2 + 2H2O + O2

3.Cooling of NO2

NO2 = N2O4

Summary:

4 N2O4 + 4 H2O + light = 4 HNO2 + 2 N2O4 + 2 H2O + O2

Methanol can be produced from CO2 and H2.

N2O4 you need anyway for UDMH.

1. Ammonia oxidation(?)

4NH3 + 5O2 = 4NO + 6H2O

2. NO oxidation(?)

2NO( + 2O2) = N2O2( + 2O2)

N2O2 + O2 = 2NO2

3.Cooling of NO2

NO2 = N2O4

Summary:

4NH3 + 7O2 = 2N2O4 + 6H2O

So, initial resources would be: Ammonia, Water, CarbonDioxide (as H2 and O2 were Water, too).

Link to comment
Share on other sites

Thanks, Raptor831! E: Should add that this is very helpful to me to get started. I'll be redoing all the converters that already exist in RO sometime this week as well.

I don't think any converter or collector should have UseSpecialistBonus set to true for the purposes of this mod.

1EC/s = 1kW

Was wondering about the efficiency bonus in that config. Can easily be removed. I'd like to contribute an XLS that will generate the ModuleResourceConverter for any of these processes. It should help get this off the ground quickly, and at least avoid the "Oops, my math was off" issues with the chemistry. Link here: http://bit.ly/1EgseXC

At any rate, it's based on the Karbonite XLS that I used, which was inspired by the RF RftS XLS from NathanKell. To use, you fill out the green columns in the "Outputs" tab. You'll find the MODULE node at the far right you can copy for each reaction. The first 4 from the OP are in there as examples. I have no idea if the EC usage is anywhere close to correct, but I needed numbers for testing. Please use as needed, public domain.

Link to comment
Share on other sites

Just here to say:

1. Yes please! I was asking about a RealISRU on #RO, and Red5 pointed me in the right direction.

2. Either included or as a complimentary mod something that gives us real asteroid resources is worth considering. Even if that's just icy, metallic, carbonaceous, and stoney. Icy asteroids with a drill and electrolysis rig are going to be valuable refuelling stations. Metallic asteroids are rich in platinum group metals, and make excellent targets for contracts (safely return X tonnes of metallic asteroid content to Earth).

3. On that note, 'metallic ore' is a potential resource, possibly not for ISRU, but for return contract missions.

But mostly, I'm here to say point 1. :)

Link to comment
Share on other sites

Dude, if I had more rep to spare, you'd get it, many thanks!

You're welcome. It's the best way I can help, since I'm no good at modelling or texturing. And I already had most of it done from the Karbonite/RF mod, so there was no reason not to share.

Link to comment
Share on other sites

2. Either included or as a complimentary mod something that gives us real asteroid resources is worth considering. Even if that's just icy, metallic, carbonaceous, and stoney. Icy asteroids with a drill and electrolysis rig are going to be valuable refuelling stations. Metallic asteroids are rich in platinum group metals, and make excellent targets for contracts (safely return X tonnes of metallic asteroid content to Earth).
Already a part of the plan in simple. You'll be able to extract water from asteroids to start. Your idea for contracts will be a long-term goal; I like the idea and think it would work well with RP-0, and we can intercept asteroid creation and assign spectral classes to them, I think, maybe having different science values and tracking for different types of asteroids... Again, longer-term stuff but still cool.
Link to comment
Share on other sites

Just a head's up, status report, I'm entering the research phase right now. I've collected the outside mod parts, created a basic directory structure, added a few resources to the spreadsheet that Raptor831 provided, although I'll have to rebuild it because apparently it's not using the new resources, maybe a LibreOffice/Excel thing? Either way, it won't take more than half an hour, all the calcs are there and I added all the processes, plus the Anthriquinone and HTP-based Hydrazine production because, well, why not (also, we're lacking in converters ATM which is the most interesting part of Real ISRU.) Once I get the spreadsheet fully working I'll throw it all up on Github (probably tonight?) for whoever wants to help, or just so that you can track my progress if you're interested. The current TODO list is as follows:

  • Add the three new resources (already finished, will get pushed to CRP at a later date).
  • Rebuild the spreadsheet so it'll work with ODS format, or at least pick up the new resources (Linux scrub signing in here).
  • Ensure all processes are correct, note correct input energy for reactions and output heat, if applicable (this is the lengthy part).
  • Create an atmospheric intake (model already cobbled together from stock models) config, and maybe another one.
  • Convert the configs for the Karbonite and Baha EPL parts (awesomely, the animations still work with the stock modules, woooo!).
  • Create or modify configs to create some initial converters.
  • Create configs for Real Fuels modular fuel tanks.
  • Add definitions for Mars' atmosphere (our initial ISRU test-bed).
  • Install RF, RSSK, and test, test, test!

Once this initial list is finished we can start on things like asteroids and contracts and such. Additional definitions will wait on the progress of RSSK and if anyone wants to add stuff for the Kerbol system feel free; I think it would be pretty cool to have this available for stock to support resized systems. I'll actually separate them into different directories so if we do end up with conflicts they'll be very easy for the end user to solve, or even to make different packages. May I'll even see if I can get some Lightwave models into KSP for the static models, although my technique is literally a decade old and I'll probably have to enlist a texturing person...

Link to comment
Share on other sites

Just a head's up, status report, I'm entering the research phase right now. I've collected the outside mod parts, created a basic directory structure, added a few resources to the spreadsheet that Raptor831 provided, although I'll have to rebuild it because apparently it's not using the new resources, maybe a LibreOffice/Excel thing? ..snip..

You need to add the atomic weight (g/mol) for each resource in addition to the density for the spreadsheet to work. Sorry, didn't ever specify that anywhere... Should be the 3rd column of the "Sheet 1" tab. I just hit up Wikipedia for numbers there.

Link to comment
Share on other sites

You need to add the atomic weight (g/mol) for each resource in addition to the density for the spreadsheet to work. Sorry, didn't ever specify that anywhere... Should be the 3rd column of the "Sheet 1" tab. I just hit up Wikipedia for numbers there.
Nah, already added all that, it's a problem with the range, I think. I'm mostly done moving it over anyway, NBD. Besides, it needs a reformat, it's kind of fuzzy right now.
Link to comment
Share on other sites

Nah, already added all that, it's a problem with the range, I think. I'm mostly done moving it over anyway, NBD. Besides, it needs a reformat, it's kind of fuzzy right now.

Oh, yeah, forgot that too. :blush: In any case, let me know if you'd like some more help on that end.

Link to comment
Share on other sites

This might be combined with KMPI in real good combination.

Edit: Oh, I read some discussion about "Real scale" from the former posts, so KMPI would be way much to be realistic in scope of RO in that way. (Flying full scale industrial equipment into orbit sounds not so "real" nowadays for sure.) I thought that adapting their "industrial realness" will be cool, but maybe that would be more combinable to KSPI instead.

Edited by FennexFox
Link to comment
Share on other sites

Okay, I have a working demo at this time. The repo is linked in the OP and you can find it here:

https://github.com/jbengtson/RealISRU

The Community Resource Pack is a hard requirement. You will also probably need to pick up Cross Feed Enabler for the testing tanks (radial RCS tanks until Real Fuels gets updated).

THE PARTS ARE NOT AT ALL BALANCED AT THE MOMENT. Some are missing input energies. Output energies should really be as heat, which again drives the need for a Brayton generator or something, but I need to do some more research on KSP's system and work from there.

Right now there are two atmospheric intakes, tanks for various resources, and a few simple reactors to start playing around with. I've made water on Duna using a Sabatier reactor with a methane pyrolyzer as a test. Resource definitions are included for Earth/Kerbin, Mars/Duna, Venus/Eve, and Titan/Laythe atmospheres, more to come. I'll add water drilling for Mars/Duna and Ceres/Dres, plus asteroids pretty soon.

The reactions currently included include the Sabatier Reaction, Bosch Reaction, Methane Pyrolysis, Water Electrolysis, Solid Oxide Electrolysis, and (Reverse) Water Gas Shift. Note that the methane pryolyzer and Bosch reaction devices will build up carbon over time and should stop working when their carbon reservoir is full. Since carbon is a solid and has no flow mode, this will render the unit useless. I'll consider code later to allow an EVA to clean the device.

Also, the updated spreadsheet should be included in the repo. Thanks again to Raptor831, I just rebuilt it because Libre/OpenOffice is wonky about shift+enter so you have to use CHAR(10), plus other weirdness.

The number of processes included has also increased, mainly because I actually found a proposal to study the Fischer-Tropsch process for use on Mars (how wild is that?). Seems you can scale things pretty well. The updated list:

Water Electrolysis

Water Gas Shift

Reverse Water Gas Shift

Sabatier Reaction

Methane Pyrolysis

Haber-Bosch Process

Anthraquinone Process

HTP-Hydrazine Production

Solid Oxide Electrolysis

Bosch Reaction

HTP Decomposition

Ammonia Oxidization

Fisher-Tropsch Process (to produce kerosene C12H26)

Edited by regex
Link to comment
Share on other sites

This is looking *awesome*, thank you!

I'll add water drilling for Mars/Duna and Ceres/Dres, plus asteroids pretty soon.

Sweet! With regards to drilling, do you know of a good way to make this dependent on latitude/altitude/biome? For example, we have evidence of water ice in some of the moon's high-latitude craters (which never see sunlight), and likewise Mars' ice-caps could be expected to yield much more water when drilling than the equatorial regions. For Mars a simple biome check is probably sufficient, but for the moon we'd probably want to have a latitude and biome/altitude check (ie, high enough altitude, and we're in a crater).

Link to comment
Share on other sites

Sweet! With regards to drilling, do you know of a good way to make this dependent on latitude/altitude/biome? For example, we have evidence of water ice in some of the moon's high-latitude craters (which never see sunlight), and likewise Mars' ice-caps could be expected to yield much more water when drilling than the equatorial regions. For Mars a simple biome check is probably sufficient, but for the moon we'd probably want to have a latitude and biome/altitude check (ie, high enough altitude, and we're in a crater).
We can limit resources to biomes and I'm pretty sure I can write a latitude-based resource availability plugin (which would also be handy for, say, Mercury :)).
Link to comment
Share on other sites

Possible Bug: Laythe (Kerbol system) DOES have enough oxygen in atmosphere for jets to work. Titan (Sol system) does not.

Part proposal: "Atmospheric Processor". Uses cryogenical processes to separate gases from planet atmosphere (real prototypes exist). Also can be used to liquify them. I see it as 2.5m assembly of 2-4 comparatively small tanks and some covered aparatus with animated fan intake and "steam" emitting cryogenous exhaust.

Question: Are there any plans about dividing asteroids to C, S, M types?

Question: Any way I can be of help? May devote my weekends to model something.

- - - Updated - - -

Solved two problems with current (substitute) tanks:

- RealFuels overriding contents with empty MFT

- needing CrossFeedEnabler to work

Tank configs should look like this:

+PART[rcsTankRadialLong]:BEFORE[RealFuels]:FOR[RealISRU]

{

@name = tempTank_Water

@category = Utility

@title = ISRU Water Tank

@description =

!RESOURCE,* {}

RESOURCE

{

name = Water

amount = 0

maxAmount = 250

}

fuelCrossFeed = True

}

"fuelCrossFeed = True" might be also needed for surface-mounted ISRU units.

Edited by Dr. Jet
Link to comment
Share on other sites

Possible Bug: Laythe (Kerbol system) DOES have enough oxygen in atmosphere for jets to work. Titan (Sol system) does not.
Intentional, the current (Kerbol) definitions are for testing. I'm hoping that CRP or some other mod will handle Kerbol system resource definitions (I'm pretty sure CRP handles a few already) although I am not above supplementing those definitions if needed.
Part proposal: "Atmospheric Processor". Uses cryogenical processes to separate gases from planet atmosphere (real prototypes exist). Also can be used to liquify them. I see it as 2.5m assembly of 2-4 comparatively small tanks and some covered aparatus with animated fan intake and "steam" emitting cryogenous exhaust.
Well, the idea would be to have it as two separate parts for flexibility. You would have the cooler/heater for converting fuels to and from cryogenic state and an intake for pulling in resources from the atmosphere.
Question: Are there any plans about dividing asteroids to C, S, M types?
At some point. Have to see how the resources are handled and may take some code. At this point I'm going to assume they're all the water-rich class (C, I think?)
Question: Any way I can be of help? May devote my weekends to model something.
Modeling is the biggest hurdle this mod has. I myself might even boot up my old copy of Lightwave and see what I can come up with. Right now I'm learning myself how these chemical processes produce their extra energy and how that is converted into energy by the ISRU system. Doing it right is very important for this mod.
"fuelCrossFeed = True" might be also needed for surface-mounted ISRU units.
Good point, I'll look into that Edited by regex
Link to comment
Share on other sites

Intentional, the current (Kerbol) definitions are for testing. I'm hoping that CRP or some other mod will handle Kerbol system resource definitions (I'm pretty sure CRP handles a few already) although I am not above supplementing those definitions if needed.

Don't neglect the stock, please. Kerbol system is quite playable with FAR, RT, RF while RSS seems to be always under construction.

Well, the idea would be to have it as two separate parts for flexibility. You would have the cooler/heater for converting fuels to and from cryogenic state and an intake for pulling in resources from the atmosphere.

So... You are about implementing PSA/VPSA units? They look almost the same except for not being able to output liquified gases.

http://www.uigi.com/noncryo.html

Molecular sieve membranes (filters) on the other hand, despite being much lighter, are not the way to go for ISRU systems due to their limited life cycle.

At some point. Have to see how the resources are handled and may take some code. At this point I'm going to assume they're all the water-rich class (C, I think?)

Yep. Though I wouldn't call C-class "water-rich". They have SOME and that's much better than nothing. Abusing C-class asteroids for fuel will call for implementation of CO+O2 engines IRL, as carbon is much more abundant in them than hydrogen/water (oxygen is plentiful in ANY type of asteroids).

Modeling is the biggest hurdle this mod has.

Just give me some descriptions or sketches or photos of what it should look like. Modelling is comparatively fast and easy... what can't be told about texturing...

I myself might even boot up my old copy of Lightwave and see what I can come up with.

Blender is recommended. Most sane controls I ever saw in 3D-editors plus easy volume calculation and *.mu import support.

Right now I'm learning myself how these chemical processes produce their extra energy

Answer is simple: heat. Exothermic processes produce heat, endothermic processes consume it. Electrolysis is more "physical" process than "chemical".

Hm-m-m... Can Regolith converter heat production values be negative? If they can - it may be used to simulate endothermic reactions.

and how that is converted into energy by the ISRU system.

That's a hard one... Stirling engine or thermoelectric generator may use that heat, but only part of. Most heat will just dissipate.

A good idea, however... Abusing stock heat conduction mechanics to generate electricity. :D

Edited by Dr. Jet
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...