sswelm / KSP-Interstellar-Extended

continuation of KSP Interstellar
Other
98 stars 103 forks source link

RegolithProcessor should produce HeavyWater #74

Closed davidson16807 closed 7 years ago

davidson16807 commented 7 years ago

Regolith processing already produces water, so it stands to reason it should also produce heavy water in the standard 1:6420 ratio that's defined in CrustalResourceHandler.cs. I can practically see all the changes that need to be made in RegolithProcessor.cs. I would make the changes myself, but I'm on a Linux machine right now and I'll need to make a Windows VM before I can do anything.

sswelm commented 7 years ago

Alternatively you first have a raw water resource (LqdWater) which is mined and then split into regular H2O (Water) (Water) and D2O (HeavyWater)

davidson16807 commented 7 years ago

Yeah, that seems like the ideal solution. It would be consistent with UF4 mining so it would already be familiar to some users, it's a better representation of the real life process, and it would probably result in less code duplication. Downsides: the change probably has a larger code footprint, and it could cause confusion as to why there's two slightly different kinds of undeuterated water.

I see there's some code in place for centrifuging water using the science lab. I assume it's left over from FractalUK. I've tried to use this feature of the science module in-game and I don't see any indication that it still works. It would make more sense to use the ISRU refinery, anyways.

sswelm commented 7 years ago

Notice that deuterium doesn't come in the same concentration everywhere in the solar system, it can vary widely. And with the solar wind, in particular, the content of deuterium is completely different from what you find in earth water. This document describes the measured the ratio of deuterium](https://arxiv.org/ftp/arxiv/papers/0909/0909.1279.pdf) in solar wind to protium of being 10^(-5), which is significantly lower than 1:6420

sswelm commented 7 years ago

Also note, the whole regolith processing is based on this picture http://www.moonsociety.org/publications/images/he3_byproducts_fig16b.jpg Which doesn't mention Heavy water. mainly because it at most 0.001%

sswelm commented 7 years ago

Another problem you need to consider is that you would almost never find Pure Heavy Water, most of the time you would have partial heavy water, meaning only 1 of the 2 hydrogen would be deuterium. Therefore from a realism perspective, it would make more sense to simply make 0.001% the hydrogen consist of Deuterium. see also https://en.wikipedia.org/wiki/Heavy_water

davidson16807 commented 7 years ago

Good points. So you could have a similar system where liquid hydrogen is centrifuged, giving protium and deuterium, though it seems odd when most deuterium today is centrifuged from water. Also, it still doesn't allow any hydrogen resources to have different deuterium abundances. This would favor extracting Deuterium directly from regolith.

Assuming deuterium does appreciably exist in regolith, there should at least be some decision made for how to mine it. I can mine Helium3 just fine but have no way to make fusion pellets from it in situ.

sswelm commented 7 years ago

I have added Deuterium (Gas) as a resource output in the Regolith refinement process, it's currently implemented in the latest alpha download. I didn't have time to test it. Could you verify it works?

davidson16807 commented 7 years ago

Article on lunar Deuterium abundance: http://adsabs.harvard.edu/full/1970GeCAS...1.1103FSPACE.com

If I'm reading this right, it's around 50ppm.

davidson16807 commented 7 years ago

Oh hey, just noticed your post. I'll check it out tonight!

sswelm commented 7 years ago

Holy cow, my number is much lower, 50 ppm is almost as high Helium-3, that can't be right

sswelm commented 7 years ago

How the hell did you get to the number , all I can see 50 ppm for total amount of Hydrogen, from this only 1 in 27.0e+6 consist of Deuterium, which is extremely low

sswelm commented 7 years ago

Note KSPI Regolith fractions were calculated mostly from a chart that's also available on http://imgur.com/lpaE1Ah

davidson16807 commented 7 years ago

I'd read the table 1 ppm column as being for D/H. Yeah, that's probably me reading it wrong.

sswelm commented 7 years ago

Found an intresting source: http://www.lunarpedia.org/index.php?title=Volatiles

davidson16807 commented 7 years ago

I've tested version 1.15.0.2 from CurseForge. Deuterium shows up in the regolith processing menu, but it does not accumulate over time. 292 days and nothing so far: http://i.imgur.com/NcYk3WZ.png

sswelm commented 7 years ago

Did it manage to convert anything at all? Regolith consumption is 0.0000 that doesn't look good. The message "Insufficient Storage, try allowing overflow" is only given when there is absolutely 0 production. This might happen then it does not have proper access to the regolith.

sswelm commented 7 years ago

Crap, I looked at the code an it appeared I made a big mistake, it would only work if there would be access for all resources, but you lack storage for several resources like Methane. This is preventing you from collecting. I will fix it ASAP

davidson16807 commented 7 years ago

Not sure if that is the case, I recall I was gaining Helium3. I definitely didn't fill my He3 storage in that time, so the overflow message was odd. Maybe the He3 gain was through tritium decay? I'll check when I get home.

sswelm commented 7 years ago

It works now http://i.imgur.com/JRiIS12.png

davidson16807 commented 7 years ago

I can test when there's another build