Jump to content

[1.0.2] Hybrid Rocket Booster v0.2


Lord Aurelius

Recommended Posts

After looking around on the forums and finding that nobody had done this yet (with the exception of the one oddball booster in the interstellar mod which is specialized for Munar missions) I figured I would go ahead and see how difficult it would be to make a hybrid rocket. The answer was not difficult at all.

Update 0.1: Major new version. Rather than using module manager to duplicate a part, I went ahead and manually copied Squad's booster and oxidizer tank and retextured them and used UbioZur welding to generate a new welded part so you don't need a separate oxidizer tank anymore. Thanks to GregoxMun for the retexture idea.

Update 0.2: Fixed configs for 1.0.2.

DOWNLOAD

License: Creative Commons

Credits: UbioZur welding for config file, GregoxMun for retexture and welding idea

Original release script is provided below and is intended more as a modder's resource, if you want to play with it then just copy it into a cfg file and make sure you have module manager installed.


{
@name = HybridRocketBooster
@title = RT-11 Hybrid Rocket Booster
%manufacturer = Jebediah Kerman's Junkyard and Spacecraft Parts Co
@description = The engine for those who can't decide between liquid and solid boosters. This hybrid rocket uses solid propellant and liquid oxidizer for a solid booster that is throttleable and relatively efficient for a fraction of the cost of liquid boosters. It does have the slight downside of not being refuelable, but hey, it's a booster so you weren't planning on bringing it to orbit with you anyways, right?

@MODULE[ModuleEngines]
{
@maxThrust = 200
@throttleLocked = False
@useEngineResponseTime = False
-engineAccelerationSpeed
@allowShutdown = True
@PROPELLANT[SolidFuel]
{
@ratio = 0.9
}
+PROPELLANT
{
%name = Oxidizer
%ratio = 1.1
%DrawGauge = False
}
@atmosphereCurve
{
-key
%key = 0 300
+key = 1 250
}
}
@RESOURCE[SolidFuel]
{
@amount = 180
@maxAmount = 180
}
}

+PART[RCSFuelTank]
{
@name = OxyTank
@title = FL-O25 Oxidizer Tank
@description = For some reason, nobody thought to put oxidizer in a tank by itself before. This tank fixes that problem for all your hybrid rocket (and spaceplane) needs.
-RESOURCE[MonoPropellant]
%RESOURCE
{
%name = Oxidizer
%amount = 220
%maxAmount = 220
}
}
+PART[solidBooster]

A few other things based on this mod:

I made a Procedural Parts implementation of the Hybrid Rocket Booster concept for the SETI-BalanceMod (link in signature).

Please note that it is primarily balanced for the SETI mod, and even that only to some degree (I do not like the densities and costs of the original Procedural Parts, and only the latter have been addressed by the BalanceMod).

So it is probably cheaper than the PP SRBs, but only because those SRBs are much too expensive.

Chonner wrote a compatibility patch for the procedural parts HybridRocketBooster over at the SETI-BalanceMod thread.
Edited by Lord Aurelius
Link to comment
Share on other sites

The balance of a hybrid rocket would be very interesting. Though I wouldn't recommend referring to real world sources for this as they will make it either rather over powered or under powered as they either try to up sell the concept or bring you a stark reality where it doesn't work as well as you think in practice.

I feel the best way to go about it is make the stats land as close to exactly in between Solid and liquid rockets as you can figure thereby making them live up to their name as hybrids. This goes for cost too as people will say hybrids are cheaper than SRB's because they are safer to handle, but lets be honest kerbals probably don't have the expensive workplace safety measures that we do that would drive up a SRB's cost.

Next issue is the oxidizer tanks instead of making a new set of tanks you could just build the oxidizer storage into the engines along side the solid fuel that way you know you always have the right amount of oxidizer for a given amount of solids though if you do that why bother acknologing the oxidizer's presence at all you could just make a throttleable srb with a "hybrid" title and an "oxidizer tank" incorporated into its artwork.

Link to comment
Share on other sites

That's essentially what I was thinking for balance, they should fall in between solid and liquid boosters otherwise it ends up replacing one or the other.

For the implementation, I like the idea of an oxidizer tank integrated into the booster. The only reason I did the separate tank is because I was working with stock models. I have no experience with modeling, so if someone has (or could make) a basic model that would be appropriate for a hybrid rocket I could quickly set up some part configs for them if there is some interest.

Link to comment
Share on other sites

  • 2 months later...

I made a Procedural Parts implementation of the Hybrid Rocket Booster concept for the SETI-BalanceMod (link in signature).

Please note that it is primarily balanced for the SETI mod, and even that only to some degree (I do not like the densities and costs of the original Procedural Parts, and only the latter have been addressed by the BalanceMod).

So it is probably cheaper than the PP SRBs, but only because those SRBs are much too expensive.


//------\\
//---SETI-BalanceMod by Yemo---\\
//------\\
//---HybridRocketBooster, concept based on Hybrid Rocket Booster by Lord Aurelius: http://forum.kerbalspaceprogram.com/threads/104236 ---\\
//---Config structure based on Procedural Parts SRB by AncientGammoner, NK, Tiberion, NathanKell, Swamp Ig: http://forum.kerbalspaceprogram.com/threads/106975 ---\\


//------\\
//---HRB---\\
//------\\

PART:NEEDS[ProceduralParts]
{
// --- general parameters ---
name = proceduralTankHRB
module = Part
author = Yemo, Lord Aurelius, 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 = 0 // 4000
category = Propulsion
TechRequired = basicRocketry
entryCost = 5000
subcategory = 0
title = 0 Procedural HRB
manufacturer = Kerbchem Industries
description = The Hybrid Rocket Booster uses liquid oxidizer in conjunction with solid fuel. This configuration leads to higher a ISP and more importantly to thrust controllability and improved safety. Unfortunately it is also more expensive than the standard SRB.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 0
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 = German

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 = 0.25
diameterMax = 0.5
lengthMin = 0.25
lengthMax = 2.5
volumeMin = 0.03
volumeMax = 1.0
}
TECHLIMIT {
name = basicRocketry
diameterMax = 1.25
lengthMax = 3.5
volumeMax = 3.5
}
TECHLIMIT {
// BACC - 1.25 x 7.1 m = 8.71 kL
// Sepatron - 0.15 x 0.5 = 0.009 kl
name = generalRocketry
diameterMax = 1.25
lengthMin = 0.125
lengthMax = 5.0
volumeMin = 0.001
volumeMax = 6.0
}
TECHLIMIT {
name = advRocketry
lengthMax = 8.0
volumeMax = 12.0
}
// Seems fair that heavy rocketry should enable 2.5 dia
TECHLIMIT {
name = heavyRocketry
diameterMax = 3.0
lengthMax = 11.0
volumeMax = 20.0
}
TECHLIMIT {
name = heavierRocketry
lengthMax = 14.0
volumeMax = 40.0
}
TECHLIMIT {
name = veryHeavyRocketry
lengthMax = 16.0
volumeMax = 52.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

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

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

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

// 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 = TankContentSwitcher
useVolume = true

TANK_TYPE_OPTION
{
name = SolidFuel
// The RT-10 and BACC both have similar dry density.
// When you work it out, the mass of the bell is negligible.
// from originall 0.174
dryDensity = 0.162
// As per StretchySRB. This is way higher than stock
// dryDensity = 1.5

costMultiplier = 0.8

RESOURCE
{
name = SolidFuel
//isTweakable = false
// Again no real consistency in stock KSP. Have gone with a bit lower than RT-10 dry/wet
unitsPerT = 405
// As per StretchySRB
//unitsPerKL = 125
}

RESOURCE
{
name = Oxidizer
//isTweakable = false
// Again no real consistency in stock KSP. Have gone with a bit lower than RT-10 dry/wet
unitsPerT = 495
// As per StretchySRB
//unitsPerKL = 125
}
}
}

MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
throttleLocked = False
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 52
heatProduction = 157
useEngineResponseTime = False
engineAccelerationSpeed = 10.0
engineDecelerationSpeed = 10.0
allowShutdown = True
fxOffset = 0, 0, 0
PROPELLANT
{
name = SolidFuel
ratio = 0.9
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
ratio = 1.1
}

atmosphereCurve
{
key = 0 10
key = 1 20
}

}
MODULE
{
name = ProceduralSRB
costMultiplier = 1.0

srbBellName = SRBBell
thrustVectorTransformName = thrustTransform
bottomAttachNodeName = bottom

selectedBellName = Surface

// Thrust for the SRB on part place (default thrust).
thrust = 250

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

// This is to enable any ships that used the old version (0.9.3 and prior) to update cleanly.
// Once you've saved the ship then it's updated. The heat production will use the new version, as the old one was buggy.
deprecatedThrustScaleFactor = 256

SRB_BELL
{
name = Surface

// ISP in vacuum and kerbin surface
atmosphereCurve
{
key = 0 280
key = 1 260
}
// 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

atmosphereCurve
{
key = 0 294
key = 1 245
}
gimbalRange = 0.1

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

Edited by Yemo
Link to comment
Share on other sites

I made a Procedural Parts implementation of the Hybrid Rocket Booster concept for the SETI-BalanceMod (link in signature).

Please note that it is primarily balanced for the SETI mod, and even that only to some degree (I do not like the densities and costs of the original Procedural Parts, and only the latter have been addressed by the BalanceMod).

So it is probably cheaper than the PP SRBs, but only because those SRBs are much too expensive.

--SNIP--

Yemo, does this MM.cfg require your SETI mod? or can we just throw this into a .cfg like you'd do with the original by Lord and it'll work? Because, as fun as your pack looks, I'm already stretching all 4g's of my ram as far as I can, even running in OpenGL mode, sacrificing my shadows so keep from running out of ram... I guess thats what I get for being a modoholic... about 61 in total, maybe 70 with addons that hide inside of other folders... anyway... does it require your pack? if not then I'd love to use your code!

Link to comment
Share on other sites

Yemo, does this MM.cfg require your SETI mod? or can we just throw this into a .cfg like you'd do with the original by Lord and it'll work? Because, as fun as your pack looks, I'm already stretching all 4g's of my ram as far as I can, even running in OpenGL mode, sacrificing my shadows so keep from running out of ram... I guess thats what I get for being a modoholic... about 61 in total, maybe 70 with addons that hide inside of other folders... anyway... does it require your pack? if not then I'd love to use your code!

It only needs Procedural Parts (and MM of course), though because of the very costly SRBs in procedural parts, it will not be cost balanced with that setup.

Maybe it will be released as a microMod, at the moment it is just a rough technical implementation.

Oh and about the RAM issue, SETI + AutoPruner reduces the RAM load instead of increasing it. But it should only be used for a new game.

If Active Texture Management is not enough, you might want to consider switching to Linux64...

Edited by Yemo
Link to comment
Share on other sites

I made a Procedural Parts implementation of the Hybrid Rocket Booster concept for the SETI-BalanceMod (link in signature).

Please note that it is primarily balanced for the SETI mod, and even that only to some degree (I do not like the densities and costs of the original Procedural Parts, and only the latter have been addressed by the BalanceMod).

So it is probably cheaper than the PP SRBs, but only because those SRBs are much too expensive.

funny thing about hybrid motors is because they use separate and relatively benign fuel and oxidizer they (at least on paper) may be cheaper than SRB's when you factor in all the extra costs of handling and safety that SRB's have to deal with because they are essentially unstoppable long burning explosions waiting to happen so your procedural hybrids might actually be unintentionally realistic

Link to comment
Share on other sites

When money was being implemented into career mode, I remember I was making sketches of all sorts of boosters, because Solid Rocket Boosters would be really cheap in career mode so you'd need plenty of it. My design for the Hybrid Booster was a red-striped (instead of yellow-striped) RT-10 SRB that had a red-striped FL-T200 Fuel Tank welded to it.

Link to comment
Share on other sites

As it turns out, in real life at least solid rockets are not so very much cheaper than their liquid compatriots, especially since the massive costs of a liquid engine are in its development more than in production, and in real life fuel tanks are dirt cheap once you've set up the tooling. Creating and shaping solid fuel? Not so cheap.

A solid stage would probably be about at most 50-70% savings over a liquid stage, and that's not getting into the decrease in efficiency (which is much starker in real life: In KSP, solids have real life stats, but liquid engines and liquid tanks are far heavier than real life--like up to 8x heavier!).

Link to comment
Share on other sites

Glad to see this getting some more attention (thanks Yemo for your excellent procedural parts config).

@GregoxMun

Did you actually get around to making any textures for your idea of the hybrid booster? I was thinking of doing the same thing (welding an oxidizer tank to a SRB) so there could be a completely stockalike version for those who don't want to use procedural parts, but my modelling/texturing skills are nonexistent.

Link to comment
Share on other sites

  • 1 month later...

Chonner wrote a compatibility patch for the procedural parts HybridRocketBooster over at the SETI-BalanceMod thread.

It is now added at the end of this config and should only activate if RealFuels is installed:


//------\\
//---SETI-BalanceMod---\\
//------\\
//---HybridRocketBooster, concept based on Hybrid Rocket Booster by Lord Aurelius: http://forum.kerbalspaceprogram.com/threads/104236 ---\\
//---Config structure based on Procedural Parts SRB by AncientGammoner, NK, Tiberion, NathanKell, Swamp Ig: http://forum.kerbalspaceprogram.com/threads/106975 ---\\
//---Real Fuels MM compatibility patch by Chonner


//------\\
//---HRB---\\
//------\\

PART
{
// --- general parameters ---
name = proceduralTankHRB
module = Part
author = Chonner, Yemo, Lord Aurelius, 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 = 0 // 4000
category = Propulsion
TechRequired = basicRocketry
entryCost = 5000
subcategory = 0
title = 0 Procedural HRB
manufacturer = Kerbchem Industries
description = The Hybrid Rocket Booster uses liquid oxidizer in conjunction with solid fuel. This configuration leads to higher a ISP and more importantly to thrust controllability and improved safety. Unfortunately it is also more expensive than the standard SRB.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

// --- standard part parameters ---
mass = 0
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 = German

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 = 0.25
diameterMax = 0.5
lengthMin = 0.25
lengthMax = 2.5
volumeMin = 0.03
volumeMax = 1.0
}
TECHLIMIT {
name = basicRocketry
diameterMax = 1.25
lengthMax = 3.5
volumeMax = 3.5
}
TECHLIMIT {
// BACC - 1.25 x 7.1 m = 8.71 kL
// Sepatron - 0.15 x 0.5 = 0.009 kl
name = generalRocketry
diameterMin = 0.01
lengthMin = 0.01
lengthMax = Infinity
volumeMin = 0.01
volumeMax = Infinity
}
TECHLIMIT {
name = heavyRocketry
diameterMax = 2.5
}
TECHLIMIT {
name = veryHeavyRocketry
diameterMax = 3.75
}
TECHLIMIT {
// Make everything unlimited for metaMaterials
name = metaMaterials
diameterMin = 0.01
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

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

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

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

// 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 = TankContentSwitcher
useVolume = true

TANK_TYPE_OPTION
{
name = SolidFuel
// The RT-10 and BACC both have similar dry density.
// When you work it out, the mass of the bell is negligible.
// from originall 0.174
dryDensity = 0.162
// As per StretchySRB. This is way higher than stock
// dryDensity = 1.5

costMultiplier = 0.8

RESOURCE
{
name = SolidFuel
//isTweakable = false
// Again no real consistency in stock KSP. Have gone with a bit lower than RT-10 dry/wet
unitsPerT = 405
// As per StretchySRB
//unitsPerKL = 125
}

RESOURCE
{
name = Oxidizer
//isTweakable = false
// Again no real consistency in stock KSP. Have gone with a bit lower than RT-10 dry/wet
unitsPerT = 495
// As per StretchySRB
//unitsPerKL = 125
}
}
}

MODULE
{
name = ModuleEngines
thrustVectorTransformName = thrustTransform
throttleLocked = False
exhaustDamage = True
ignitionThreshold = 0.1
minThrust = 0
maxThrust = 52
heatProduction = 157
useEngineResponseTime = False
engineAccelerationSpeed = 10.0
engineDecelerationSpeed = 10.0
allowShutdown = True
fxOffset = 0, 0, 0
PROPELLANT
{
name = SolidFuel
ratio = 0.9
DrawGauge = True
}
PROPELLANT
{
name = Oxidizer
ratio = 1.1
}

atmosphereCurve
{
key = 0 10
key = 1 20
}

}
MODULE
{
name = ProceduralSRB
costMultiplier = 1.0

srbBellName = SRBBell
thrustVectorTransformName = thrustTransform
bottomAttachNodeName = bottom

selectedBellName = Surface

// Thrust for the SRB on part place (default thrust).
thrust = 250

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

// This is to enable any ships that used the old version (0.9.3 and prior) to update cleanly.
// Once you've saved the ship then it's updated. The heat production will use the new version, as the old one was buggy.
deprecatedThrustScaleFactor = 256

SRB_BELL
{
name = Surface

// ISP in vacuum and kerbin surface
atmosphereCurve
{
key = 0 280
key = 1 260
}
// 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

atmosphereCurve
{
key = 0 294
key = 1 245
}
gimbalRange = 0.1

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

//Real Fuels MM compatibility patch by Chonner
@PART[proceduralTankHRB]:NEEDS[RealFuels]:AFTER[SETI]
{
@MODULE[ModuleEngines]
{
@PROPELLANT[Oxidizer]
{
@name = LqdOxygen
}
}

@MODULE[TankContentSwitcher]
{
@TANK_TYPE_OPTION[SolidFuel]
{
@RESOURCE[Oxidizer]
{
@name = LqdOxygen
}
}
}
}

Link to comment
Share on other sites

intresting, does the +PART

allow you to add a new part based on another part?

Yes, I've last seen the +PART in Ven's StockPartRevamp, where he uses it for duplicating quite a lot of engine configs for parts with different models and stats.

Though for most cases I prefer an actual copy paste duplication of the config instead of the +PART. Because MM statements from other mods might alter the original part, but I can not be sure which of those alterations also affects the +PART. That would depend on the exact order of MM patches being applied.

So use with caution.

Link to comment
Share on other sites

  • 1 month later...

I wonder what is real life HRB ISP at sea level and what is the fuel mix (LOx:solid)... Any sources? HRB manufacturers sites specify only ISP for vacuum, and not much else... Best I could find is http://www.spg-corp.com/docs/JPC47_Paper.pdf - it states LOx:Paraffin as 2.7:1 (this is drastically different from what this mod uses), and +35 sec ISP at average, practically topping at 338 without the use of costly AlH3 additive (343.1 otherwise) with surface nozzle, while with vacuum nozzle it is around 366 w/o AlH3 and more like 380 otherwise*

Also I do not know if RL HRB solutions have thrust vectoring and if yes - for how many degrees? For example on SNC DreamChaser... Anyone?

*here I'm considering a nozzle with expansion ratio of 60 as surface-rated; this may be wrong.

Edited by cipherpunks
Link to comment
Share on other sites

I'm not sure what the real life HRB values would be, I just did a quick balance pass against stock to put them between SRBs and LFBs in terms of ISP.

I know that some real life SRB's have thrust vectoring (Ariane 5 I think), I don't see why you couldn't put a similar gimballed nozzle on a HRB.

If you find any more good information on real life HRBs, let me know.

Link to comment
Share on other sites

  • 10 months later...

the .cfg file to implement this is slightly mangled in the OP, probably by the new forum skin. it should read:

+PART[solidBooster]
{
	@name = HybridRocketBooster
	@title = RT-11 Hybrid Rocket Booster
	%manufacturer = Jebediah Kerman's Junkyard and Spacecraft Parts Co
	@description = The engine for those who can't decide between liquid and solid boosters. This hybrid rocket uses solid propellant and liquid oxidizer for a solid booster that is throttleable and relatively efficient for a fraction of the cost of liquid boosters. It does have the slight downside of not being refuelable, but hey, it's a booster so you weren't planning on bringing it to orbit with you anyways, right?

	@MODULE[ModuleEngines]
	{
		@maxThrust = 200
		@throttleLocked = False
		@useEngineResponseTime = False
		-engineAccelerationSpeed
		@allowShutdown = True
		@PROPELLANT[SolidFuel]
		{
			@ratio = 0.9
		}
		+PROPELLANT
		{
			%name = Oxidizer
			%ratio = 1.1
			%DrawGauge = False
		}
		@atmosphereCurve
		{
			-key
			%key = 0 300
			+key = 1 250
		}
	}
	@RESOURCE[SolidFuel]
	{
		@amount = 180
		@maxAmount = 180
	}
}

+PART[RCSFuelTank]
{
	@name = OxyTank
	@title = FL-O25 Oxidizer Tank
	@description = For some reason, nobody thought to put oxidizer in a tank by itself before. This tank fixes that problem for all your hybrid rocket (and spaceplane) needs.
	-RESOURCE[MonoPropellant]
	%RESOURCE
	{
		%name = Oxidizer
		%amount = 220
		%maxAmount = 220
	}
}

 

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