Sign in to follow this  
dunadirect

[1.0.2] DunaDirect Atmospheric ISRU 0.3

Recommended Posts

DunaDirect is a mod for Kerbal Space Program inspired by the Mars Direct plan. I really wanted to do a similar mission in KSP, but was unhappy with my options. Kethane mining was a little too science-fictiony, and the ISRU was removed from the 0.24 port of InterStellar. Initially I wrote my own mod, but with KSP 1.0 I can reuse its ISRU.

The stock Atmospheric Fluid Spectro-Variometer has been extended with an ISRU Sabatier reactor. This will convert liquid hydrogen and carbon dioxide into liquid fuel and oxidixer.

The FL-T100 and X200-8 can now store liquid hydrogen; you're on the honour system for disabling liquid fuel and oxidizer when using these tanks for hydrogen! The tanks include enough Hydrogen to fill a FL-T800/X200-8 and Jumbo-64 respectively.

Carbon dioxide can be obtained by using any of the stock intakes on bodies containing carbon dioxide (Eve, Kerbin, Duna, and Laythe), or from a waste storage container when using TAC Life Support.

Changes in 0.3:

  • Moved Sabatier ISRU to Atmospheric Fluid Spectro-Variometer instead of stock ISRU

74bcc9de-f7b6-11e4-8f7e-7baa7dc0ee15.png

Download from GitHub

Download from Curse

Requires Community Resource Pack.

Source code on GitHub under the MIT license.

Thanks!

Edited by dunadirect
Updated for 0.3

Share this post


Link to post
Share on other sites

Nice work!

Too bad that ISRU is so big and cant be easily fitted into some small lander, some smaller (and not as heavy) version that is capable only of generating fuel from co2 and hydrogen woudl be usefull.

Share this post


Link to post
Share on other sites
Nice work!

Too bad that ISRU is so big and cant be easily fitted into some small lander, some smaller (and not as heavy) version that is capable only of generating fuel from co2 and hydrogen woudl be usefull.

That's why there is Tweakscale!

Share this post


Link to post
Share on other sites

FYI you could use Interstellar Fuel Switch to switch tanks to other fuel configs.

A smaller, radial part would be nicer as an intake for this... maybe a re-purposed vernor engine?

Share this post


Link to post
Share on other sites
Too bad that ISRU is so big and cant be easily fitted into some small lander, some smaller (and not as heavy) version that is capable only of generating fuel from co2 and hydrogen woudl be usefull.

Thanks for the feedback. You're right; the ISRU is much too heavy to be effective for filling an X200-8 tank - they have about the same mass, so you may as well just bring the fuel!

Unfortunately part modelling is not my strength (nor did I find it enjoyable) but I can probably put together something not unlike the TAC Life Support parts.

I think it would be fine to leave the ISRU for your DRV (Duna Return Vehicle) on the surface of Duna, but to make economic sense it better have less mass than the fuel it produces.

- - - Updated - - -

A smaller, radial part would be nicer as an intake for this... maybe a re-purposed vernor engine?

The previous version had the intake built into the reactor. I think that makes sense since it's really more like a pump than a real intake, so I might go back to that, but the "structural intakes" might work OK, too.

Thanks for the feedback.

Share this post


Link to post
Share on other sites
Too bad that ISRU is so big and cant be easily fitted into some small lander

I've switched to using the Atmospheric Flud Spectro-Variometer instead of the stock ISRU. It sort of looks the part, although it doesn't work as an intake so I've left that requirement in.

Share this post


Link to post
Share on other sites

When I first saw this mod I absolutely loved the concept, but I was a bit disappointed that it re-purposed stock parts instead of having a custom part. I completely understand the reason - modeling a new part is a lot of work. However, I was inspired to take on the challenge myself. It's still very much a WIP (as you can see here) but my plan is for the finished result to use the modules from this mod to allow it to function as an inline Sabatier reactor. It's 1.25m wide and about the same size as a Science Jr., which to me seems like the perfect size to include on a small-to-medium size lander.

Share this post


Link to post
Share on other sites
However, I was inspired to take on the challenge myself.

cool. i did originally try my hand at modelling but the result was pretty terrible, and i didn't really enjoy the experience.

the materials bay might actually be too big - check out the picture on page 5: http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120016419.pdf

Anyway, keep in touch - I'd definitely prefer to use a custom part.

Share this post


Link to post
Share on other sites

I built something like this for my own use, but didn't think to just add new resources to the planets! Replacing my code with yours - though I'm gonna keep using Bobcat's classic ECLSS parts for my heavy-duty sabatier. ;)

Edit: Btw, if you want to tweak/specialize the air filters more you can spawn new parts using: +PART[airScoop]:AFTER[squad] {changes}, and etc.

Edited by Selentic
last minute randomness

Share this post


Link to post
Share on other sites

I have been using DunaDirect along with Cryogenic Engines and TAC LS and found a problem with my supply chain, sometimes I want to split water into oxygen and hydrogen and use the hydrogen in a liquid form to power rockets or fuel a Sabatier process!

My solution was a gasifier/liquidifer! Here is a Module Manager patch to create a half sized ISRU unit and make it turn liquid hydrogen in to hydrogen and back. It also can turn oxygen into oxidizer and back but you can always strip that out if you want to.

Hopefully anyone else who needs this feature can take this and modify it to suit them. I’m not a particularly seasoned MM patcher so it’s a good idea to double check everything.

+PART[ISRU]:NEEDS[Squad]
{
@name = TED_liquidgasifier
@rescaleFactor = 0.5
@node_stack_top = 0.0, 1.5, 0.0, 0.0, 1.0, 0.0, 1
@node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 1
@TechRequired = advScienceTech
@entryCost = 12000
@cost = 4000
@title = Liquid-Gasifier
@description = Developed to solve the age old problem of liquids being gases and gases being liquids.
@mass = 2
@dragModelType = default
@maximum_drag = 0.1
@minimum_drag = 0.1
@angularDrag = 1
@crashTolerance = 7
@maxTemp = 2000

-MODULE,* { }

MODULE
{
name = ModuleResourceConverter
ConverterName = HydrogenCompressor
StartActionName = Start Hy Comp
StopActionName = Stop Hy Comp
AutoShutdown = true
GeneratesHeat = false
UseSpecialistBonus = false

INPUT_RESOURCE
{
ResourceName = Hydrogen
Ratio = 10
FlowMode = STAGE_PRIORITY_FLOW
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 10
}
OUTPUT_RESOURCE
{
ResourceName = LqdHydrogen
Ratio = 0.01269
DumpExcess = false
FlowMode = STAGE_PRIORITY_FLOW
}
}

MODULE
{
name = ModuleResourceConverter
ConverterName = HydrogenDecompressor
StartActionName = Start Hy Decomp
StopActionName = Stop Hy Decomp
AutoShutdown = true
GeneratesHeat = false
UseSpecialistBonus = false

INPUT_RESOURCE
{
ResourceName = LqdHydrogen
Ratio = 10
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 10
}
OUTPUT_RESOURCE
{
ResourceName = Hydrogen
Ratio = 7880
DumpExcess = false
}
}

MODULE
{
name = ModuleResourceConverter
ConverterName = OxygenCompressor
StartActionName = Start Ox Comp
StopActionName = Stop Ox Comp
AutoShutdown = true
GeneratesHeat = false
UseSpecialistBonus = false

INPUT_RESOURCE
{
ResourceName = Oxygen
Ratio = 10
FlowMode = STAGE_PRIORITY_FLOW
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 10
}
OUTPUT_RESOURCE
{
ResourceName = Oxidizer
Ratio = 0.00282
DumpExcess = false
FlowMode = STAGE_PRIORITY_FLOW
}
}

MODULE
{
name = ModuleResourceConverter
ConverterName = OxygenDecompressor
StartActionName = Start Ox Decomp
StopActionName = Stop Ox Decomp
AutoShutdown = true
GeneratesHeat = false
UseSpecialistBonus = false

INPUT_RESOURCE
{
ResourceName = Oxidizer
Ratio = 10
}
INPUT_RESOURCE
{
ResourceName = ElectricCharge
Ratio = 10
}
OUTPUT_RESOURCE
{
ResourceName = Oxygen
Ratio = 35460
DumpExcess = false
}
}

MODULE
{
name = ModuleAnimationGroup
deployAnimationName =
activeAnimationName = ProcessorLarge_running
moduleType = Converter
autoDeploy = true
}
}

Edited by redteddy23
whoops wrong code

Share this post


Link to post
Share on other sites

Thank you! This is exactly what I need.

One problem though is that the conversion ratio is off IMO, the conversion ratio used in this mod seems to be based on mass ratio of (0.001 H2+ 0.019 CO2->0.009 LF+ 0.011 Ox). However the unit in KSP is in volume (Litre?) I think. In the resource definition cfg file you can find the density related to the resource. This would make the above conversion ratio way way OP, like 1 ton of H2 combined with unlimited CO2 will yield hundreds of tons of Liquid Fuel + oxidizer.

In Community resource's cfg file you can see Lqd Hydrogen has density of 0.00007 while Liquid Fuel is 0.005. Therefore the correct conversion ratio should be something like:

0.07 LH2 + 48 CO2 -> 0.009 LF + 0.011 Ox

Share this post


Link to post
Share on other sites
the conversion ratio used in this mod seems to be based on mass ratio of (0.001 H2+ 0.019 CO2->0.009 LF+ 0.011 Ox). However the unit in KSP is in volume

Oops. Thanks for bringing this up! I've been crunching some numbers. I'm using a 1:12 ratio of fuel generation by mass (CO2 + 2H2 => CH4 + O2), and the densities provided by community resources.

Let's say you want to fill an FL-T200 with LF+OX. This requires ~0.083kg of H2. I've calculated this to be about 1176 units of fuel, which requires an FL-T400 and FL-T800.

Unfortunately, KSP tanks are really heavy. An FL-T400 and FL-T800 filled with H2 mass 0.278t and 0.557t respectively, so you're required to transport 0.835t of H2+tanks to produce 1t of fuel.

Comparing LF to kerosene and methane, they have a density of about 1/10th that of LF. To compensate, I was thinking of giving tanks a 10x capacity or storing H2. This allows tanks to store an amount of H2 approximately equal to their dry mass, reducing the efficiency to ~6x (1t of H2+tank => ~6t of LF+OX)

Anyway, this table summarizes my plan. Does it make sense?

18066728551_6de4284211_b_d.jpg

Share this post


Link to post
Share on other sites
Oops. Thanks for bringing this up! I've been crunching some numbers. I'm using a 1:12 ratio of fuel generation by mass (CO2 + 2H2 => CH4 + O2), and the densities provided by community resources.

Let's say you want to fill an FL-T200 with LF+OX. This requires ~0.083kg of H2. I've calculated this to be about 1176 units of fuel, which requires an FL-T400 and FL-T800.

Unfortunately, KSP tanks are really heavy. An FL-T400 and FL-T800 filled with H2 mass 0.278t and 0.557t respectively, so you're required to transport 0.835t of H2+tanks to produce 1t of fuel.

Comparing LF to kerosene and methane, they have a density of about 1/10th that of LF. To compensate, I was thinking of giving tanks a 10x capacity or storing H2. This allows tanks to store an amount of H2 approximately equal to their dry mass, reducing the efficiency to ~6x (1t of H2+tank => ~6t of LF+OX)

Anyway, this table summarizes my plan. Does it make sense?

https://farm8.staticflickr.com/7771/18066728551_6de4284211_b_d.jpg

Yeah it makes sense now, thanks.

Bulkier LH2 tanks is ok IMO, this is accurate in real life. However the dry weight of the stock tanks are way too heavy, if we use them to store LH2 we'll probably find them weight more than the LH2 they store, so maybe not change the unit of LH2 but lower tank mass?

Currently I'm using the LH2 tanks from Near Future Propulsion, they sure looks very sweet...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this