Jump to content

[1.8+] Real Fuels


NathanKell

Recommended Posts

Ok, looks like there's a bug where the insulation values for individual tanks doesn't get read in.

Namely, since those fields weren't marked as persistent, there needs to be code to read them from the config. Like, eight lines of code which I'd swear I'd written (took one minute to write) but are gone. Could be Starwaster-error but I'm choosing to blame Github, which can't defend itself. (and to be fair, Github routinely screws me over, especially when switching branches in Github for Windows...)

So, definite update soon :(

Link to comment
Share on other sites

I'm not getting any visible plume on the LV-909. I KNOW this was addressed before, and I could have sworn it was fixed too, but I honestly can't remember if it was part of this or RealPlume. Anyone know what I'm talking about?

I assume you're using StockAlike engine pack? If that's the case you need to get RealPlume AND it's dependency SmokeScreen. I also went through the same thing but ultimately turned out I forgot to install SmokeScreen.

Link to comment
Share on other sites

lextacy: The OP states the RF does not come with any engine configs. It directs you to the second post, which has links.

no, i had configs. Heres how to change the values.

You have to change the values inside their CONFIG{} section. This overrides the upper tier modules. You cant change values under MODULE.{foo foo blah}

Link to comment
Share on other sites

Yeah, got 'em both. 909 hasn't worked for a long time now.

- - - Updated - - -

Also worth noting, just updates RF via CKAN and now the game won't load. Keeps freezing on some Tantares engines. Not sure if it's related to that or RF since there's an error about hydrazine in there. Here's the last of the log before it hangs:



[LOG 11:51:17.666] DragCubeSystem: Creating drag cubes for part 'Pollux.Control.A'
[LOG 11:51:17.697] RemoteTech: ModuleSPU: OnDestroy
[LOG 11:51:17.697] RemoteTech: ModuleRTAntennaPassive: OnDestroy
[LOG 11:51:17.708] PartLoader: Compiling Part 'Tantares/Parts/CYGNUS/_Phoenix_Engine_A/Pollux_Engine_A'
[LOG 11:51:17.728] *RFMEC* ERROR Can't find configuration Hydrazine, falling back to first tech-available config.
[EXC 11:51:17.728] NullReferenceException: Object reference not set to an instance of an object
RealFuels.TechLevels.TechLevel.CanTL (.ConfigNode cfg, .ConfigNode mod, System.String type, Int32 level)
RealFuels.ModuleEngineConfigs.SetConfiguration (System.String newConfiguration, Boolean resetTechLevels)
RealFuels.ModuleEngineConfigs.OnLoad (.ConfigNode node)
PartModule.Load (.ConfigNode node)
Part.AddModule (.ConfigNode node)
PartLoader.ParsePart (.UrlConfig urlConfig, .ConfigNode node)
PartLoader+.MoveNext ()
[EXC 11:51:17.733] NullReferenceException: Object reference not set to an instance of an object
ModuleJettison.OnStart (StartState state)
Part.ModulesOnStart ()
Part+.MoveNext ()
[EXC 11:51:17.735] NullReferenceException: Object reference not set to an instance of an object
FerramAerospaceResearch.FARPartGeometry.GeometryPartModule.SetupICrossSectionAdjusters ()
FerramAerospaceResearch.FARPartGeometry.GeometryPartModule.Start ()
[EXC 11:51:17.736] ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
System.Collections.Generic.List`1[FerramAerospaceResearch.FARPartStressTemplate].get_Item (Int32 index)
FerramAerospaceResearch.FARAeroStress.DetermineStressTemplate (.Part p)
FerramAerospaceResearch.FARAeroComponents.FARAeroPartModule.Start ()
[LOG 11:52:02.249] RemoteTech: ModuleRTAntenna: OnDestroy
[LOG 11:52:02.249] RemoteTech: ModuleSPUPassive: OnDestroy

Link to comment
Share on other sites

Ok, fixed the insulation issues in the latest release and tweaked insulation values plus tweaked the flux calculation in the boil off functions. Baseline for Default tank type is as always the Saturn/Apollo missions, specifically based on the third stage boil off of 1,000 kg over three hours, and it should be at least in the right ball park though it could be more or less depending.

Service module tank performance should be noticeably improved. Maybe too much. Or maybe it's right on the money, if NASA's press releases on the subject are to be believed.

https://github.com/NathanKell/ModularFuelSystem/releases/latest

Fixed bug where individual tank insulation/tank values weren't loading in.

Increased heat leak flux based on part thermal mass (total) / part thermal mass - resource mass.

Tweaked ServiceModule and Default tank insulation values. (service module insulation calculated assuming Inconel/Titanium + vacuum/vapor shielded tanks.)

Link to comment
Share on other sites

Ok, fixed the insulation issues in the latest release and tweaked insulation values plus tweaked the flux calculation in the boil off functions. Baseline for Default tank type is as always the Saturn/Apollo missions, specifically based on the third stage boil off of 1,000 kg over three hours, and it should be at least in the right ball park though it could be more or less depending.

Service module tank performance should be noticeably improved. Maybe too much. Or maybe it's right on the money, if NASA's press releases on the subject are to be believed.

https://github.com/NathanKell/ModularFuelSystem/releases/latest

Fixed bug where individual tank insulation/tank values weren't loading in.

Increased heat leak flux based on part thermal mass (total) / part thermal mass - resource mass.

Tweaked ServiceModule and Default tank insulation values. (service module insulation calculated assuming Inconel/Titanium + vacuum/vapor shielded tanks.)

I have a rather heavily customized install of Real Fuels. Could you tell me which files were updated for the latest release?

Link to comment
Share on other sites

I have a rather heavily customized install of Real Fuels. Could you tell me which files were updated for the latest release?

Plugins/RealFuels.dll

RealFuels/Resources/RealTankTypes.cfg

The first is the actual plugin; the second contains the configurations of all the tank definitions and internal tank configs that they contain. (changes were made to insulation values for insulated tanks)

Link to comment
Share on other sites

Plugins/RealFuels.dll

RealFuels/Resources/RealTankTypes.cfg

The first is the actual plugin; the second contains the configurations of all the tank definitions and internal tank configs that they contain. (changes were made to insulation values for insulated tanks)

Thank you.

Link to comment
Share on other sites

Does this affect LOX boil-off in a default tank? I just updated (via CKAN) and my Vostok loses a ridiculous amount of fuel during launch (we're talking like, hundreds of liters during ascent). In fact, for some reason it seems to affect symmetry differently because one of the boosters either has more fuel (doesn't look like it) or boils-off slower. I've checked the tanks in the VAB and on the pad and they all start with the same amount of fuel. Really strange issue.

Link to comment
Share on other sites

I've had that happen to me using proc part tanks as radial booster stages. If I just delete the offending tanks and remake the stage it always sorts it. Happens to me pretty often (only on radial booster), but I've never figured out a consistent way to reproduce the issue so never reported it.
Well, that sucks for my currently built stuff in KCT. vOv I'm rolling back to 10.6.1 for the time being.
Link to comment
Share on other sites

Well, that sucks for my currently built stuff in KCT. vOv I'm rolling back to 10.6.1 for the time being.
You are too fast! You caught me before I deleted my post. I reread your post and your issue is different than mine. Haven't run into your issue before.
Link to comment
Share on other sites

You are too fast! You caught me before I deleted my post. I reread your post and your issue is different than mine. Haven't run into your issue before.
There appears to be no insulation on LOX Default tanks. I can live with that, if it's intentional, but not until I finish what I'm doing.
Link to comment
Share on other sites

To confirm: The issue is one of not having insulation on the Default tank type. The uneven boiloff is most likely due to uneven heating during ascent but I don't think there's anything I can do about that really.

(this explanation is mostly for everyone else's benefit, having spoken to regex in IRC already)

Historically speaking, boiloff has always been an issue in any space program using cryogenic fuels and sometimes the solution has been to just accept that there will be loss and factor it into the planning stage. The Default tank has no insulation because it's patterned off of the Saturn rockets which also had un-insulated LOX tanks. Given that they did insulate the LH2 tanks they clearly could have done the same for the LOX tanks so I have to assume that they didn't either because they were trying to save money or because the mass of the insulation would have exceeded the mass of the boiled off propellant.

Having said all that, clearly it's possible that the boiloff could impact gameplay to a greater degree than anticipated and there's a couple of areas where that could be addressed.

I'll discuss those in a separate post because I'm running out of time with which to construct this post and my explanation is probably going to be lengthier than I'd have liked.

Link to comment
Share on other sites

The uneven boiloff is most likely due to uneven heating during ascent but I don't think there's anything I can do about that really.
It'll require actions groups for staging with R-7 replicas; you'll have to cut the engines so that the uneven booster doesn't fly forward and hit the stack. Annoying, but doable. It's almost enough for me to simply turn off boil-off, if the option still exists (and if not to hack the plugin).
Historically speaking, boiloff has always been an issue in any space program using cryogenic fuels and sometimes the solution has been to just accept that there will be loss and factor it into the planning stage.
Yes, but is the rate correct? Does a LOX tank have some inherent insulation we're ignoring? Can we adjust the rate to match other LVs than the Saturn? Is there a boil-off rate available for planning?
Link to comment
Share on other sites

Yes, but is the rate correct? Does a LOX tank have some inherent insulation we're ignoring? Can we adjust the rate to match other LVs than the Saturn? Is there a boil-off rate available for planning?

The rate is entirely dependent on the configuration of tank (and insulation if any) and the temperature of the part itself. I'm sure writing up some code to predict it would be trivial; it's just math. But I couldn't guarantee that the prediction would match what you encounter after launch, or in orbit.

As to the rate itself being correct and the tank having/not having insulation, No actual insulation has been mentioned in NASA's documents that I can find, and there's quite a lot out there. (my browser has entirely too many tabs open from researching boiloff in general). Lack of proof that it had any isn't necessarily the same as proof that it didn't, but I'm pretty sure that there was no insulation.

On the other hand... (pregnant pause) default tank conductivity assumes aluminum, which is highly conductive, thermally speaking. I think the code actually defaults to 205. (or might be 250 which is also in range for aluminum)

But the LOX tanks were stainless steel, not aluminum. Conductivity ranges 14-16*

So there's a huge difference in conductivity there. Maybe that's why there's so much boiloff on the LOX.

If you don't mind testing something, please download this: https://www.dropbox.com/s/4jmeygbbzxe5g31/RealTankTypes.cfg?dl=1

And copy that over RealFuels/Resources/RealTankTypes.cfg (I can't test it myself right now because I deliberately broke my RF trying to troubleshoot CatastrophicFailure's loading problem)

That should put a noticeable dent in LOX boiloff on the Default tank. (no other LOX tanks in the other tank defs were touched, I just threw that in there quickly for testing, so there might be other tanks that need fixing)

* That's real world conductivity and not KSP. Conductivity is in watts per degree Kelvin per square meter assuming one meter thickness. Half the thickness means double the heating rate. Tank walls are a few centimeters thick.

Link to comment
Share on other sites

If you don't mind testing something, please download this: https://www.dropbox.com/s/4jmeygbbzxe5g31/RealTankTypes.cfg?dl=1
I'll try it out, sure.

Sorry if I'm being a pain but I launch a lot of R-7s and things like this really complicate the process, especially compared to single stacks like most American rockets (where boil-off between different boosters isn't an issue and you just deal with it). My concern is really that we don't have management software like the real world undoubtedly does that can adjust boil-off (that is, jettison fuel or something) to account for uneven heating or something like that. Alternatively, maybe KSP is too zealous on the environmental heating and doesn't take into account things like paint color, icing, and local conditions... The biggest surprise was the uneven heating; I'm already used to boil-off to some extent.

E: Much better, thank you! The boosters all quit at about the same time (or near enough that it didn't matter) and I didn't notice any uneven boil-off.

The spoiler below contains some screenshots of the boil-off at the end in case you want some tweaking data. I couldn't find any detail on LOX boil-off in regards to the Soyuz (or any R-7 derivative) with a few Google searches, but this is hopefully similar to the Saturn.

The engine is an RD-108 (8D75PS) from RO (RO_SXT_Engines.cfg, R7_Core_Engine):

                        PROPELLANT
{
name = Kerosene
ratio = 0.368
DrawGauge = True
}
PROPELLANT
{
name = LqdOxygen
ratio = 0.632
}

WFbfXYv.png

Tssf3As.png

Edited by regex
Link to comment
Share on other sites

In the case of most early rocket technology using LOX as the oxidizer, the problem was not immediate. Designers simply took advantage of the fact that LOX components had a tendency to frost over. The frosty coating worked surprisingly well as natural insulation - so well that many components were designed without insulation from the start.

-- R.E. Bilstein, Stages to Saturn, p. 149

Many years ago I tried to turn an early Pentium into a fanless computer. It turned out that the conductivity of the case was totally not the issue. No, the problem was transferring the heat from air->surface->air. When there is no airflow, the air/surface conductivity is so low that it equals a thick cloth or a thin layer of styrofoam. Even in a gale, it's non-negligible (that's why your CPU heatsink has to have so much surface area even though it's sitting directly under a fan).

Tank walls are rather thin; less than a millimeter for the Centaur balloon tanks. The thin metal provides practically no resistance at all; you can as well leave it out of the equation and assume infinite conductivity / zero insulation. Whatever resistance there is, I expect it to be derived from factors we'd usually consider side effects. Any kind of cover that keeps the forward bulkhead out of the worst airflow should have a tremendous effect.

In space, I somehow suspect that the KSP heat calculations may provide you with a a lot more than can be explained with solar intensity * exposed surface.

Link to comment
Share on other sites

-- R.E. Bilstein, Stages to Saturn, p. 149

Many years ago I tried to turn an early Pentium into a fanless computer. It turned out that the conductivity of the case was totally not the issue. No, the problem was transferring the heat from air->surface->air. When there is no airflow, the air/surface conductivity is so low that it equals a thick cloth or a thin layer of styrofoam. Even in a gale, it's non-negligible (that's why your CPU heatsink has to have so much surface area even though it's sitting directly under a fan).

Tank walls are rather thin; less than a millimeter for the Centaur balloon tanks. The thin metal provides practically no resistance at all; you can as well leave it out of the equation and assume infinite conductivity / zero insulation. Whatever resistance there is, I expect it to be derived from factors we'd usually consider side effects. Any kind of cover that keeps the forward bulkhead out of the worst airflow should have a tremendous effect.

In space, I somehow suspect that the KSP heat calculations may provide you with a a lot more than can be explained with solar intensity * exposed surface.

It's not just the sun, you're also getting radiation from whatever planet you're in orbit around.

Regarding tank thickness, no, conductivity is finite and very relevant.

There's a pretty cool thermal conductivity calculator here: http://hyperphysics.phy-astr.gsu.edu/hbase/thermo/heatcond.html

Let's take a 1cm thick tank. Assuming a temperature differential of 1 degree K/C and conductivity factor 205 (Aluminum)

You get 205000 watts per square meter of tank

Same tank setup but stainless steel, conductivity 16

16000 watts per square meter.

The equation is different for multiple layers of different conductivity

q = (T1 - Tn) / ((s1 / k1 A) + (s2 / k2 A) + ... + (sn / kn A)) (2)

q = heating rate

T = temperature delta

s = thickness

k = conductivity

A = area

Edited by Starwaster
Link to comment
Share on other sites

Let's take a 1cm thick tank. Assuming a temperature differential of 1 degree K/C and conductivity factor 205 (Aluminum)

You get 205000 watts per square meter of tank

Given that solar radiation near earth amounts to ~1500W/m², the temperature difference between the lit side and the dark side should be on the order of 1/133=0.008 degrees. For steel, it would still be less than 0.1K. That's what I mean when I say that sheet metal offers so little insulation as to be negligible. Even with hydrogen's legendary conductivity, the transition from metal to hydrogen is likely to be more important (possibly by orders of magnitude) than the difference between steel and aluminum tanks.

If I have my maths right, one square meter of solar radiation provides enough energy to vaporize 3.3g of hydrogen per second, or about 6kg/hour (heat of vaporisation=900J/mol; 1J=1Ws; 1mol=2g). That would be ~70l/hour. For oxygen, I get 25kg (22l) vaporized per square meter and hour of sunlight.

This neglects all other sources of heat (radiation from elsewhere, on-board systems). It also assumes that the radiation is sucked up completely. Possibly white paint or gold foil may prove as useful as a lot of insulation.

Link to comment
Share on other sites

Given that solar radiation near earth amounts to ~1500W/m², the temperature difference between the lit side and the dark side should be on the order of 1/133=0.008 degrees. For steel, it would still be less than 0.1K. That's what I mean when I say that sheet metal offers so little insulation as to be negligible. Even with hydrogen's legendary conductivity, the transition from metal to hydrogen is likely to be more important (possibly by orders of magnitude) than the difference between steel and aluminum tanks.

If I have my maths right, one square meter of solar radiation provides enough energy to vaporize 3.3g of hydrogen per second, or about 6kg/hour (heat of vaporisation=900J/mol; 1J=1Ws; 1mol=2g). That would be ~70l/hour. For oxygen, I get 25kg (22l) vaporized per square meter and hour of sunlight.

This neglects all other sources of heat (radiation from elsewhere, on-board systems). It also assumes that the radiation is sucked up completely. Possibly white paint or gold foil may prove as useful as a lot of insulation.

All I'm looking at is the temperature difference between the part and the resource and the conductivity of the material as configured.

The conductivity of the resource is not taken into consideration. (literature that I consulted indicated that it wasn't significant enough to factor in)

Link to comment
Share on other sites

how can I make Hotrockets compatible with FASA engines engines that have Real Fuels? Ive noticed there is no FASA configs I can download. And the stock engines config included with Hot Rockets cant be used as a template. Ive tried it and what happens is the FASA engines will only work ONE time and never again.

Edited by lextacy
Link to comment
Share on other sites

how can I make Hotrockets compatible with FASA engines engines that have Real Fuels? Ive noticed there is no FASA configs I can download. And the stock engines config included with Hot Rockets cant be used as a template. Ive tried it and what happens is the FASA engines will only work ONE time and never again.
Right click the engines and at the very top of the tool tip it should say how many "Ignitions Remaining: [number]" Some engines can be relit multiple times, while some, like booster engines, are designed to be lit once. Typically any engines designed to just get you off the ground just needed to be lit once. However, igniting stuff in space proved to be difficult and one of the biggest failure points for rockets. So early engines didn't have many, if any, re-ignitions. For modern engines, most booster still just use one ignition. Modern vacuum engines usually have quite a few (16 to 36). Edited by BevoLJ
Link to comment
Share on other sites

Re: boiloff, I finally took the time to do some experiments (in RSS/RO, but hey).

The game seems to have a pretty reasonable idea of any given part's radiation budget; in first approximation, the boiloff is directly related to the exposed surface area (pointing the vessel into the sun helps), and it remains within the limits outlined above.

However...

a) while the procedural tank seems to be quite reflective, other parts suck up radiation like a black hole.

B) the parts among each other seem to conduct heat rather well. All heat picked up anywhere will quickly find it's way toward the tank(s).

c) all non-tank parts are at ambient temp to begin with; a default tank full of cryogenics will first need to chill down the entire vessel. It's advisable to have pumping clamps and let the rocket sit on the pad for 15-30 minutes before ignition.

d) after ignition, a good deal of the engine heat will go into the tank.

e) there seems to be a bottomless supply of heat. After things have settled down, I experience a sustained boiloff of 2.87l/sec on a 2x10m procedural tank while sitting on the pad at night. If I'm not mistaken, that amounts to a heat flow of ~11kW/m², which seems to be a tad much. Int/skin temperatures are 92/140.

The conductivity of the resource is not taken into consideration. (literature that I consulted indicated that it wasn't significant enough to factor in)

What I was trying to get at was the resistance of the heat transfer from surface to resource. That can be quite important; in the context of architecture, one assumes 25W/m²K for the inside of a wall and 7.7 for the outside (outside is lower because of wind and weather). Mind you, that's air->wall->air with walls typically being a fair bit rougher than a metal surface. Still, for a rocket sitting on the pad, that boundary layer on the outside is more important than the tank material. Whether it is steel or aluminum: any heat that makes it through the boundary layer will be passed on by the metal with out noticable delay.

That's even more obvious if you express it as resistance (= 1/conductivity): 0.04 for the boundary layer and 0.00006 for 1cm of steel: three orders of magnitude.

Similar effects can be expected at *any* boundary. For a solid-liquid boundary it usually doesn't amount to much, but with the thermal resistance of sheet metal being as low as it is, even a miniscule boundary effect can easily triple your insulation.

Edited by Laie
Link to comment
Share on other sites

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...