Jump to content

[1.8+] Real Fuels


NathanKell

Recommended Posts

Okay, here's the first draft of the KSOS RealFuels config:

https://www.dropbox.com/s/wshk7htvw8i3k8o/KSO_realfuels_v1.cfg

It's basically what you'd expect: main engines are hydrolox, liquid side boosters are kerosene (like the Atlas-based liquid booster upgrade to STS that Lockheed was trying to sell in the nineties) with an option for Aerozine/N2O4 instead (like the Titan-based upgrade that Martin was etc. etc.), and the OMS thrusters are MMH/N2O4. I set it up so that the tanks automatically fill with the relevant fuel to keep it user-friendly when using the defaults, which is pretty much the theme of KSO. Tested both shuttles to orbit, with FAR. Don't know if they'll work without FAR right now, I'll work that later.

I wanted to get a kerosene-based alternate config for the main engines, where you'd use a smaller external tank (i.e. the larger orbiter would use the smaller orbiter's tank, and the smaller one would use a Jumbo-64 or something) but couldn't make it work, the tanks wouldn't fit right.

Link to comment
Share on other sites

Dawn didn't burn for 4 days, it burned for 270. It would be neat if you could do that in KSP with time compression and some kind of autopilot system, but until they add that in, raising the thrust of the ion engines is the best we've got

I did an asteroid rendezvous mission yesterday using the Orbit Manipulator Series plugin with a probe which weighs 0.58 ton and was equipped with a modified PB-ION that has a max thrust of 0.02kN. It took me 4 days (of course in-game time) to finish the burn to kill most of the relative velocity and several correction burns to finally park my probe just near the big rock. Have to say it's quite a challenge, but do-able.

Link to comment
Share on other sites

aristurtle: shoot, missed that post. I'll get it in the next RF.

Changelog:

v7.2

*Fix bug with auto-rescaling of solid fuel resources.

*aristurtle: add support for 5m KW tanks

*Add back ModuleRCSFX support (get ModuleRCSFX from Realism Overhaul)

*Fix the exposed Isp multipliers (for interoperability)

*Add more failsafe checks and ways to avoid issues in Win x64

*Add support for thrustCurve in CONFIG (x = ratio of currentFuel/maxFuel, y = multiplier to thrust)

*Allow local overriding of the visbility of the Volume Utilization slider

*Update to KSPAPIExtensions 1.7.0

Link to comment
Share on other sites

I don't know if this is a problem of RealFuels or RealEngines or ReachingForTheStars but I'm having small problems with the RS-25 (the SLS Engine from the NASA pack).

When I right-click on the installed engine in VAB, the "configuration" stays empty. The label and the button are there but the actual configuration stays blank. It changes when I click on it. Also the "Tech" changes when I click on it but the number will stay the same until I right-click on the part again.

There are also two buttons for "Show Engine GUI" and for "Tech Level" (though the lower one doesn't do anything).

It was also nice if BAhamutoD's Constellation engines were fully supported!

Thak you!

Link to comment
Share on other sites

I don't know if this is a problem of RealFuels or RealEngines or ReachingForTheStars but I'm having small problems with the RS-25 (the SLS Engine from the NASA pack).

When I right-click on the installed engine in VAB, the "configuration" stays empty. The label and the button are there but the actual configuration stays blank. It changes when I click on it. Also the "Tech" changes when I click on it but the number will stay the same until I right-click on the part again.

There are also two buttons for "Show Engine GUI" and for "Tech Level" (though the lower one doesn't do anything).

It was also nice if BAhamutoD's Constellation engines were fully supported!

Thak you!

Those engines should use the same configurations as for the Squad NTR configuration (tech level 5 IIRC), which was based on the 111.2 kN NTR described in the Copernicus documents.

Edit: actually, just read the above to say it should use the same configuration. Some of the MTV documents describe weaker engines, which can be achieved by selection of different tech levels in the VAB. (with lvl 5 Corresponding to 111.2 kN)

Edited by Starwaster
Link to comment
Share on other sites

Two things I recognized about the SRB:

I just tested the "ATK GEM 46" (RO version of one of the KW boosters). On the launchpad, the boosters got refueled by the clamps. This probably is a little bit not so realistic.

Also their fuel depletion got slower and slower as they came to their end. The TWR (and thrust) was at 0 before the fuel was depleted. However they kept burning (flame-animation and sound).

However, their TWR on launch seemed more reasonable now and as displayed in VAB.

I'm not sure if this is RO or RealFuels, that's why I posted this in both threads.

Link to comment
Share on other sites

Refueling by launchclamps can be toggled on and off in the VAB. But I agree, it shouldn't be possible with solid fuels.

The thrust "issues" sounds normal, isn't it just the thrustcurve you're seeing the result of?

Link to comment
Share on other sites

The thrust "issues" sounds normal, isn't it just the thrustcurve you're seeing the result of?

Maybe it's normal, it just seemed a little "shallow" at the end to me. But I guess anyhow they should stop burning when the fuel is depleted (which is just animation but still).

EDIT: And a question on the mod and the tanks:

Some fuels say that they need to be insulated on the part description. What effect does this have on the part? Will the part be able to hold less fuel? Or does it only work for parts that are insulated?

MMH and N2O4 don't need to be insulated and can't be pressurized?

What does this men for ProceduralParts? What happens when I put LiquidH2 in an uninsulated tank?

Thank you!

Edited by mecki
Link to comment
Share on other sites

Some of the resources are stored as cryogenic liquids and will slowly boil off (liquid hydrogen especially, but to a lesser extent liquid oxygen, methane, and ammonia). They boil off at a slower rate in a cryogenic tank. However, I'm not sure how to tell in-game if a tank is cryogenic (aside from the Procedural Parts tank where you just set it in the slider, of course).

Link to comment
Share on other sites

Some of the resources are stored as cryogenic liquids and will slowly boil off (liquid hydrogen especially, but to a lesser extent liquid oxygen, methane, and ammonia). They boil off at a slower rate in a cryogenic tank. However, I'm not sure how to tell in-game if a tank is cryogenic (aside from the Procedural Parts tank where you just set it in the slider, of course).

Thanks for clarifying this!

You're right, I also have problems telling which tank is cryogenic apart from the Procedural Parts ones.

Something else I'm not sure what to think about: Hypergolic Engines (I'm using Realism Overhaul) demand the fuel to be pressurized to ignite (for Engine Ignitor). I have some engines that would use Aerozine / N2O4 or MMH / N2O4. But there are no tanks for the. The only pressurized tanks available are the RCS ones, which can't hold Aerozine, N2O4 or MMH… I don't know if this would be changed by Real Fuels or Realism Overhaul but I think this shouldn't be like this. At the moment the only tank I can use is the Procedural Parts ServiceModule…

EDIT: Shouldn't Procedural Parts balloon tanks also be able to hold RCS fuels (since they are pressurized)? Or am I wrong?

Edited by mecki
Link to comment
Share on other sites

mecki: When you right click on a part in the catalog to get more info, it will give you more info on the modules, including the MFT module (and will say what type).

Per responses elsewhere, only the ServiceModule has *enough* pressurization for pressure-fed engines (like the SPS, or like all RCS thrusters) to work. While all tanks have some pressurization, it's usually not much; you need quite high pressure for pressure-fed stuff to work.

ThorBeorn:

@PART[foo]
{
@MODULE[ModuleEngineConfigs]
{
@CONFIG[whatever]
{
curveResource = SolidFuel
thrustCurve
{
key = 0.0 0.13
key = 0.01 0.2
key = 0.064 0.7
key = 0.1 0.72
key = 0.56 0.88
key = 0.85 1.09
key = 0.9 1.1
key = 0.97 1.08
key = 0.99 1.14
key = 1.0 0.55
}
}
}
}

Link to comment
Share on other sites

ThorBeorn:

@PART[foo]
{
@MODULE[ModuleEngineConfigs]
{
@CONFIG[whatever]
{
curveResource = SolidFuel
thrustCurve
{
key = 0.0 0.13
key = 0.01 0.2
key = 0.064 0.7
key = 0.1 0.72
key = 0.56 0.88
key = 0.85 1.09
key = 0.9 1.1
key = 0.97 1.08
key = 0.99 1.14
key = 1.0 0.55
}
}
}
}

Uh oh... i have to change my ETC's MM cfg, so that it won't affect any SRB that has a RF thrust curve inside.

Otherwise the actual thrust curve will be modulated by both curves, i.e. finalThrust(t) = RFThrustDueToIspChange(originalMaxThrust, Isp) * RFCurve(t) * ETCCurve(t). :0.0:

Edited by HoneyFox
Link to comment
Share on other sites

mecki: When you right click on a part in the catalog to get more info, it will give you more info on the modules, including the MFT module (and will say what type).

Thank you.

That's where I see what kind of fuels will fit in there, yes. And I can see that some fuels need insulation but I don't see if a tank has insulation or not…

Link to comment
Share on other sites

Sry to bother again. This results in the game getting stuck at the part I'm trying to add the thrustcurve to:

@PART[proceduralSRBRealFuels]
{
@MODULE[ModuleEngineConfigs]
{
@CONFIG[Normal]
{
curveResource = SolidFuel
thrustCurve
{
key = 0.00 0.05
key = 0.01 0.1
key = 0.015 0.12
key = 0.02 0.15
key = 0.03 0.20
key = 0.05 0.30
key = 0.10 0.50
key = 0.20 0.60
key = 0.30 0.70
key = 0.40 0.80
key = 0.50 0.85
key = 0.60 0.90
key = 0.70 0.92
key = 0.80 0.96
key = 0.90 1.00
key = 0.99 1.00
key = 1.00 0.70

}
}
}
}

This is the part I'm trying to add it to:


// Hide all the existing RF SRB parts.
@PART[proceduralTankSRBRF*]:NEEDS[RealFuels&!ModularFuelTanks]
{
@category = -1
}


PART:NEEDS[RealFuels&!ModularFuelTanks]
{
// --- general parameters ---
name = proceduralSRBRealFuels
module = Part
author = AncientGammoner, NK, Tiberion, NathanKell, Swamp Ig

// --- asset parameters ---
MODEL
{
model = ProceduralParts/Parts/cylinderTank
scale = 1,1,1
}
// The model is positioned so it looks right in the icon for the VAB
// If you alter the default params, then change the position
MODEL
{
model = ProceduralParts/Parts/SRBBell
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
// If you want to make another SRB bell, you'll need to have a good look at
// the structure of these ones and keep it the same. You can add an extra
// SRB_BELL node to the ProceduralSRB module below.
MODEL
{
model = ProceduralParts/Parts/HighRatio
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
MODEL
{
model = ProceduralParts/Parts/LowRatio
position = 0.0, -1.25, 0.0
scale = 1,1,1
}
scale = 1
rescaleFactor = 1

// --- node definitions ---
node_stack_top = 0.0, 0.5, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -0.5, 0.0, 0.0, -1.0, 0.0, 1
node_attach = 0.5, 0.0, 0.0, 1.0, 0.0, 0.0, 1

fx_exhaustFlame_yellow = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, running
fx_exhaustSparks_yellow = 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, running
// fx_exhaustLight_yellow = 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, running
fx_smokeTrail_medium = -5.0, 0.0, 0.0, 0.0, 1.0, 0.0, running

sound_vent_medium = engage
sound_rocket_hard = running
sound_vent_soft = disengage
sound_explosion_low = flameout

// --- editor parameters ---
cost = 4000
category = Propulsion
TechRequired = start
entryCost = 15000
subcategory = 0
title = Procedural Real Fuels SRB
manufacturer = Kerbchem Industries
description = Made from viscoelastic nanopolymers (which were discovered by accident... growing in the back of the office mini-fridge) this solid rocket can be stretched to accommodate fuel loads of a range of sizes and shapes. Can be optimized for sea-level or high altitude uses. Hardens to a rigid structure before launch!

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 3.737
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.3
angularDrag = 2
crashTolerance = 7
breakingForce = 200
breakingTorque = 200
maxTemp = 3600

stagingIcon = SOLID_BOOSTER

MODULE
{
name = ProceduralPart
textureSet = SegmentedSRB

diameterMin = 0.125

// Lengths for the stock tanks are approximate as one needs to account for the bell.
TECHLIMIT {
// RT-10 - 1.25 x 2.4 m = 2.95 kL
name = start
diameterMin = 1.0
diameterMax = 1.75
lengthMin = 1.0
lengthMax = 3.0
volumeMin = 2.0
volumeMax = 4.0
}
TECHLIMIT {
// Allow cone shaped tanks to have reasonable initial shapes
name = basicRocketry
volumeMin = 1.5
}
TECHLIMIT {
// BACC - 1.25 x 7.1 m = 8.71 kL
// Sepatron - 0.15 x 0.5 = 0.009 kl
name = generalRocketry
lengthMin = 0.125
lengthMax = 10.0
volumeMin = 0.001
volumeMax = 10.0
}
// Seems fair that heavy rocketry should enable 2.5 dia
TECHLIMIT {
name = heavyRocketry
diameterMax = 3.0
volumeMax = 15.0
}
TECHLIMIT {
name = heavierRocketry
volumeMax = 40.0
}
TECHLIMIT {
name = veryHeavyRocketry
lengthMax = 15.0
volumeMax = 50.0
}

TECHLIMIT {
// Make everything unlimited for metaMaterials
name = metaMaterials
diameterMin = 0.01
diameterMax = Infinity
lengthMin = 0.01
lengthMax = Infinity
volumeMin = 0.01
volumeMax = Infinity
}
}
// Don't change the default length without also altering the default position above.
MODULE
{
name = ProceduralShapeCylinder
displayName = Cylinder
techRequired = start

length = 2.5
diameter = 1.25
}
MODULE
{
name = ProceduralShapeCone
displayName = Cone
techRequired = generalConstruction

// We need the bottom mode to be limit min so that it doesn't
// get to small to allow the bell to be attached nicely
coneBottomMode = LimitMin

length = 2.5
topDiameter = 0.625
bottomDiameter = 1.25
}
MODULE
{
name = ProceduralShapePill
displayName = Fillet Cylinder
techRequired = advConstruction

length = 2.5
diameter = 1.25
fillet = 0.25
}
MODULE
{
name = ProceduralShapeBezierCone
displayName = Smooth Cone
techRequired = advConstruction

// We need the bottom mode to be limit min so that it doesn't
// get to small to allow the bell to be attached nicely
coneBottomMode = LimitMin

selectedShape = Round #1

length = 2.5
topDiameter = 0.625
bottomDiameter = 1.25
}
MODULE
{
name = ModuleFuelTanks

volume = 1060
dedicated = true

type = Solid
}
MODULE
{
name = ModuleEngineConfigs
techLevel = 1
origTechLevel = 0
engineType = S
configuration = Normal
modded = false
CONFIG
{
name = Normal
maxThrust = 52
heatProduction = 157

PROPELLANT
{
name = SolidFuel
ratio = 1.0
DrawGauge = True
}
IspSL = 1
IspV = 1
}
}
MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
throttleLocked = True
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 52
heatProduction = 157
useEngineResponseTime = True
engineAccelerationSpeed = 10.0
allowShutdown = False
fxOffset = 0, 0, 0
PROPELLANT
{
name = SolidFuel
ratio = 1.0
DrawGauge = True
}
atmosphereCurve
{
key = 0 250
key = 1 230
}
}
MODULE
{
name = ProceduralSRB

srbBellName = SRBBell
thrustVectorTransformName = thrustTransform
bottomAttachNodeName = bottom

selectedBellName = Surface

// Burn time for the SRB on part place (default).
burnTimeME = 30

// The thrust that an SRB with a 1m base could put out.
// Make this higher to allow for more powerful SRBs at the same diameter.
// If you don't want tiny bells, use a smaller number. If you want a higher thrust limit, use a bigger number.
// Note that this goes up on the square of diameter, so a 2m diameter part will give you 2^2 * thrust1m = 2000kN max thrust.
// Does not affect ships in flight (as in their bells will not rescale)
thrust1m = 500

// To replicate Advanced Booster SRB
// See thread here: http://forum.kerbalspaceprogram.com/threads/70676-WIP-Procedural-Parts-The-next-phase-of-Stretchy-SRBs?p=1116650&viewfull=1#post1116650
// Changing this will not affect ships in flight (but will affect anything loaded into the VAB)
//thrust1m = 1500

// Heat Produced = heatPerThrust * sqrt(thrust) / (1+total mass).
// All stock parts are around 50
// I realize this model is not very physical, but the way heat is handled in the game is pretty daft
// Note anything with heat production much above 700 tends to explode.
// Does not affect ships in flight (as in their heat production will not rescale)
heatPerThrust = 40

// If heat is still causing you issues, use the old equation from stretchy SRBs which is easier
//useOldHeatEquation = true

SRB_BELL
{
name = Surface

realFuelsEngineType = S
// Degrees of gimble
gimbalRange = 0.25


// Config intrinsic to the model, don't change unless you know what you're doing
modelName = LowRatioBell
// Diameter of the bell's choke (in the unscaled model)
bellChokeDiameter = 0.55
// Ratio between the bell choke and the bottom of the SRB
// Should never be > 1.0. Ideal depends on the model somewhat, but big numbers look funny.
chokeEndRatio = 0.55
}
SRB_BELL
{
name = Vacuum

realFuelsEngineType = S+
gimbalRange = 0.1

modelName = HighRatioBell
bellChokeDiameter = 0.32
chokeEndRatio = 0.32
}
}
MODULE
{
name = ModuleGimbal
gimbalTransformName = SRBBell
gimbalRange = 0.25
}

}

If anybody spots the obvious mistake please let me know. I'm not that good with MM patches.

Link to comment
Share on other sites

NathanKell,

So I've finally had time to mess around extensively with RealFuels, and it is quite literally a game-changer. I have to say, I love it. I'm not looking to play RSS, or even necessarily all of the RO - but I have to say that even more than DREC, I really appreciate RealFuels. (except perhaps the nth time on the launchpad where I realize I never fueled my tanks with kerosene)

Thanks a bunch for putting this together and maintaining it. It's now one of my must-install mods.

Edited by panarchist
corrected spelling error. I's meant to say "I'm"
Link to comment
Share on other sites

HoneyFox: Oh, ah. Right.

Also, I forgot: another reason I wrote my own was because I couldn't get yours to work with procedurals, and this was faster than debugging/changing yours :D

ThorBeorn: other than making the patch FINAL, I don't see anything wrong. Logs?

Also, I keep forgetting. PM RedAV8R about your Fustek stuff? I note it's still not in RO.

mecki: if the tank type (which is shown on that info dump, at the top) is listed as Cryogenic, BalloonCryo, or ServiceModule, it has insulation.

panarchist: Thanks so much! :)

aristurtle: basemass is for fuel tanks. And when you want a MFT to not change a part's mass, you use basemass = -1

In a ModuleEngineConfigs you can set origMass = (some number) if you want MEC to control mass; if not, just leave it out and set the part's mass as appropriate normally.

Link to comment
Share on other sites

ThorBeorn: other than making the patch FINAL, I don't see anything wrong. Logs?

Also, I keep forgetting.

Thanks! I'll add ":FINAL" and see if it works. Will come back here with logs if it doesen't if you don't mind.

PM RedAV8R about your Fustek stuff? I note it's still not in RO.

The funny thing is, there already is a cfg for Fustek. Both in the release on the forum and on your git page. BUT it doesn't look like the one I did.

I don't care if it's mine or not, but why do more work than necessary? Also I spent quite a lot of time on adjusting the models to perfection.

I'll talk to RedAV8R.

Offtopic edit: Actually I haven't done any more work on it since I PM:ed the cfg to you a while back. I know you made some changes to it before it was released with RO 5.x, so you probably have the most up to date version.

Edited by ThorBeorn
Link to comment
Share on other sites

I believed the problem I have was to do with Engine Ignitor, but another mention of a similar problem led me here so I figured I'd cross-post just incase.

I'm having an issue with all my solid boosters showing up with "Engine State: Invalid" when they fire. They are either producing no thrust at all, or not as much as they're supposed to be. This stage was supposed to have 1.2 SLT, but as you can see it shows .90 when fired, as if it was just firing my liquid fueled engines.

I'm using all of RO/RSS recommended (not RftS), and a couple additional, and this is the only problem I've noticed apart from intermittent crashes that I can't reproduce, which figure are just due to x64 being a bit unstable still.

PICS:http://imgur.com/a/Q2yZ8

LOG:https://www.dropbox.com/s/hkcdu0ldf2...output_log.txt

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