Bluedog-Design-Bureau
Bluedog-Design-Bureau copied to clipboard
Alternative Fuels (not RealFuels) Discussion
Since at least more than once person is interested, these are hypergolic configs originally concieved of by @Pappystein
The engine list is incomplete.
// LFO to Aerozine50/NTO config
//
// 2.25 to 2.75 is the same as stock's 0.9 to 1.1 so it simplifies engine setup a bit.
// OX:Fuel ratio is 1.97:1 by mass
// Fuel mass per unit (i.e. same volume as 1 LiquidFuel) is 0.0060125 vs LFO at 0.005
// Fuel:Tank mass ratio is 9.62:1, LFO is 8:1
// Fuel cost $604.68 per ton. LFO is $91.80
B9_TANK_TYPE
{
name = bdbAZ50NTO
tankMass = 0.000625
tankCost = 0.7
RESOURCE
{
name = Aerozine50
unitsPerVolume = 2.25
}
RESOURCE
{
name = NTO
unitsPerVolume = 2.75
}
}
B9_TANK_TYPE
{
name = bdbAZ50NTOBalloon
tankMass = 0.00025
tankCost = 0.98
RESOURCE
{
name = Aerozine50
unitsPerVolume = 2.25
}
RESOURCE
{
name = NTO
unitsPerVolume = 2.75
}
}
// Tag hypergolic parts :First so it carries over to +PART copies
// Agena
@PART[bluedog_Agena*,bluedog_agena*]:First
{
%isHypergolic = True
}
// Apollo
@PART[bluedog_Apollo*,bluedog_LEM*]:First
{
%isHypergolic = True
}
// Delta
@PART[bluedog_DeltaK*]:First
{
%isHypergolic = True
}
// Todo Early Rockets
// Juno
@PART[bluedog_Juno_Engine6K,bluedog_Juno_Engine45K,bluedog_Juno_UpperTank*]:First
{
%isHypergolic = True
}
// Titan
@PART[bluedog_LR87_5,bluedog_LR87_11,bluedog_LR91_5,bluedog_LR91_11,bluedog_Titan2*,bluedog_Titan3*,bluedog_Titan4*]:First
{
%isHypergolic = True
}
// Add the fuel type to all tanks. Must be done at :AFTER[Bluedog_DB_1]
@PART[bluedog*,Bluedog*]:HAS[@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]]:AFTER[Bluedog_DB_1]
{
@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
{
SUBTYPE
{
name = Hypergolic
tankType = bdbAZ50NTO
addedMass = #$../../tank_mass$
@addedMass *= -1
addedCost = #$../../tank_plus_fuel_cost$
@addedCost *= -1
percentFilled = #$../../fuelPctFill$
}
}
}
// Engine and tank setup
@PART[bluedog*,Bluedog*]:HAS[#isHypergolic[True]]:AFTER[Bluedog_DB_2]
{
// Changes the default fuel
@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
{
%currentSubtype = Hypergolic
}
// Only need to change name. 2.25:2.75 is the same as 0.9:1.1
@MODULE[ModuleEngines*],*
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
// Not present in tanks, but some engines have fuel onboard
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
// Special setups
// Reduce default fill for Titan
// We want 83.16%, the resource bar only does 10% increments
@PART[bluedog_Titan2*,bluedog_Titan3*,bluedog_Titan4*]:HAS[@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]]:AFTER[Bluedog_DB_2]
{
@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
{
@SUBTYPE[Hypergolic]
{
%percentFilled = 80
}
}
}
// Agena D tank uses a Balloon type to get the reduced weight vs Agena B
@PART[bluedog_agenaLongTank]:AFTER[Bluedog_DB_2]
{
@MODULE[ModuleB9PartSwitch]:HAS[#moduleID[fuelSwitch]]
{
%currentSubtype = Hypergolic Balloon
@SUBTYPE[Hypergolic]
{
@name = Hypergolic Balloon
@tankType = bdbAZ50NTOBalloon
}
}
}
// Cleanup
@PART[bluedog*,Bluedog*]:HAS[#isHypergolic[*]]:FOR[zzzBluedog_DB_9]
{
!isHypergolic = delete
}
Those propellants need RealFuels, so this patch needs some ":NEED[RealFuels]" nodes. Ideally this should become part of a new compatility patch with Real Fuels in the future.
Edit: snipped incorrect patch -Jso
Those propellants need RealFuels, so this patch needs some ":NEED[RealFuels]" nodes.
They are CRP resources, RealFuels is most certainly not required, and if anything for completeness they should exclude themselves when RealFuels is installed with a NEEDS[!RealFuels]. RealFuels is much more than resources.
eeyup, I did not think about that.
Thanks again JSO!
So in my original file I have separated out each rocket family to make editing one section easier.... I have made several additional engines based on existing BDB ones and "filled out" the upper stage engine arrangement with this a bit. A complete list of Hypergolic BDB stages are as follows: Juno-IV 2nd and 3rd stage Able, Ablestar, Delta, FatDelta, Delta-P, Delta-K Apollo CSM mk2 3 and 5 Apollo LEM (both stages). Agena etc. I did not bother with the newest RCS derived upper stages at the time of this file but I may re-visit them.
// Updated CFG to meet R/W Tank masses. Ratio is 2.25:2.75 for Hypergolic fuel. All Hypergolics are AZ50/NTO for purposes of simplcity.
// Vega / Juno IV
@PART[bluedog_Juno_Engine6K]:NEEDS[!RealFuels]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
}
// Able / Delta Thin Tank / Ablestar / Fat Delta
@PART[bluedog_ableEngine,bluedog_ablestarEngine]:NEEDS[!RealFuels]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
}
+PART[bluedog_ableEngine]:NEEDS[!RealFuels]
{
@name = PaffDeltaD
@manufacturer = Pafftek Enterprises in conjunction with Bluedog Design Bureau
@title = Viklun-12 "Delta" Liquid Engine
@description = The fourth iteration of the Viklun-12 "Alpha" engine, the "Delta" is slightly improved. Often used as on the 2nd stage to the Fenris Rocket
{
@MODULE[ModuleEngines*]
{
@maxThrust = 20
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
}
}
@PART[PaffDeltaD]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Aerojet General
@title = AJ110-118D
@description = the 4th or "Delta" variant of the Able upper stage had an improved engine as well as a cold gas control system (RCS)
}
@PART[bluedog_DeltaK_AJ10,bluedog_LEM_Descent_Engine]:NEEDS[!RealFuels]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
}
+PART[bluedog_DeltaK_AJ10]:NEEDS[!RealFuels]
{
@name = DeltaG_AJ10_x
@title = Daleth-G-5-68 "Bahdal" Liquid Engine
@manufacturer = Pafftek Enterprises in conjunction with Bluedog Design Bureau
@description = Main engine for the Daleth-F+ upper stage. A further advancement on the 'Alpha' engine line. This one has a very large engine bell.
@mass = 0.123
@maxTemp = 3100
@cost = 980
@techRequired = heavierRocketry
@MODULE[ModuleEngines]
{
@maxThrust = 24
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 315
key = 1 87
key = 3 0.001
}
}
}
@PART[DeltaG_AJ10_x]:NEEDS[Bluedog_Realnames]:Final
{
@title = AJ10-118G
@description = Used in several Delta I and Delta II launches the AJ10-118G is the first high efficency hypergolic AJ10 variant. It would later be improved into the -118K as the ultimate Delta Hypergolic Engine.
@manufacturer = Aerojet General
}
+PART[bluedog_LEM_Descent_Engine]:NEEDS[!RealFuels]
{
@name = Delta_TRW201_x
@title = Sina-MEM-201
%manufacturer = Pafftek Enterprises in conjunction with Bluedog Design Bureau
%description = Main engine for the Daleth-F+ upper stage. A further advancement on the Sina-MEM-DPS Descent Propulsion System
%mass = 0.123
%maxTemp = 3100
%cost = 980
%techRequired = heavierRocketry
%tags = delta daleth lfo liquid upper stage engine efficient vacuum aj10 Delta-P 0.9375 09375
@MODULE[ModuleEngine*]
{
@maxThrust = 33
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 319
key = 1 90
key = 3 0.001
}
}
}
@PART[Delta_TRW201_x]:NEEDS[Bluedog_Realnames]:Final
{
@title = TRW-201 simplified Landing Module Decent Engine
@description = By removing the complicated throttleing feature from the LEM' desent engine (LMDE), TRW was able to introduce a low cost upper stage for Delta II, the Delta P.
@manufacturer = Thompson-Ramo-Woolridge (TRW)
}
// Titan II/III/IV/V
// Much cleaning of this code by JSO to reduce complications and simplify troubleshooting!
@PART[bluedog_LR87_mod2,bluedog_LR87_mod4,bluedog_LR87_SingleChamberB,bluedog_LR87_5,bluedog_LR91_5,bluedog_LR87_11,bluedog_LR91_11,bluedog_Titan_TranstageEngine]:NEEDS[!RealFuels]:AFTER[Bluedog_DB]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
+PART[bluedog_LR87_5]:NEEDS[!RealFuels]:AFTER[Bluedog_DB]
{
@name = bluedog_LR87_7x
@title = Prometheus-II LR87-545 "Pallas" Liquid Engine
@description = the Kerbal Rated version of the mod 548 engine. The 545 gives up a little efficency for improved reliablity.
@MODULE[ModuleEngines*]
{
@maxThrust = 545
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 296
key = 1 258
key = 6 0.001
}
}
}
@PART[bluedog_LR87_7x]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Aerojet General
@title = LR87-AJ-7
@description = The major change from the Titan II's standard LR87-AJ-5 is the turbopump's exhaust is at a reduced pressure. This slightly lowers performance for an increase in reliablity essiental in the Man-Rating required to fly astronauts.
}
@PART[bluedog_LR91_mod2,bluedog_LR91_mod4]:NEEDS[!RealFuels]:AFTER[Bluedog_DB_1]
{
@mass *= 0.625
@MODULE[ModuleEngines*]
{
@maxThrust *= 0.625
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
@ratio = 1
}
@PROPELLANT[Oxidizer]
{
@name = NTO
@ratio = 1
}
}
}
+PART[bluedog_LR87_SingleChamberVac]:NEEDS[!RealFuels]:AFTER[Bluedog_DB]
{
@name = bluedog_LR87_SingleChamberVac_HG_x
@manufacturer = Pafftek Enterprises in conjunction with Bluedog Design Bureau
@title = Prometheus-V-187-III "Casiopeia" Hypergolic Engine
@description = The inital upper stage engine for the Prometheus I was to be a vaccuum optimized variant of the first stage engine. To save costs a lower thrust smaller evolution of the engine was chosen instead of this offering.
@mass = 0.386
@MODULE[ModuleEngines]
{
@maxThrust = 109
@PROPELLANT[LqdHydrogen]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 340
key = 1 174
key = 4 0.001
}
}
}
@PART[bluedog_LR87_SingleChamberVac_HG_x]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Aerojet General
@title = LR87-AJ-5US
@description = This was the initial hypergolic upper stage engine design for the Titan II second stage. It was quickly superseeded by the smaller and less expensive LR91-AJ-5.
}
+PART[bluedog_LR87_5]:NEEDS[!RealFuels]:AFTER[Bluedog_DB_1]
{
@name = bluedog_LR87_mod3_x
@title = Prometheus-III-695 "Pallas Primo" Liquid Engine
@description = Improved thrust Mod 695 engine provides a bump in both thrust and efficency over the Leo Launching Mod 675 engine.
@mass *= 1.005
@MODULE[ModuleEngines]
{
@maxThrust = 577
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
@ratio = 1
}
@PROPELLANT[Oxidizer]
{
@name = NTO
@ratio = 1
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 304
key = 1 252
key = 5 0.001
}
}
}
@PART[bluedog_LR87_mod3_x]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Aerojet General
@title = LR-87-AJ-9
@description = First stage engine for early Titan IIIA, IIIB and IIIC Rockets, A slightly larger engine bell reduces efficiency at SL but increase it in the upper atmosphere.
}
// Agena Section rebuilt for simplicity with help of JSO
@PART[bluedog_agenaSecondaryEngine,bluedog_AgenaA,bluedog_AgenaD]:NEEDS[!RealFuels]:AFTER[Bluedog_DB]
{
@MODULE[ModuleEngines*],*
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
+PART[bluedog_AgenaD]:NEEDS[!RealFuels]:AFTER[Bluedog_DB_1]
{
@name = bluedog_AgenaB_X
@title = Belle-B-35 "Hadar+" Liquid Fuel Engine
%manufacturer = Pafftek Enterprises in conjunction with Bluedog Design Bureau
%description = To improve the Hadar design for mass production, the Hadar+ was made easier to manufacture by removing the intergral fuel tanks.
@mass *=1.02
%cost = 530
@MODULE[ModuleEnginesFX]
{
@maxThrust = 35
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
@ratio = 1.0
}
@PROPELLANT[Oxidizer]
{
@name = NTO
@ratio = 1.0
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 293
key = 1 155
key = 3 0.001
}
}
}
@PART[bluedog_AgenaB_X]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Lockheed Missile and Space Division
@title = Agena-B LR-81-BA-7 Bell model 8081
@description = Limited Edition evolved Agena A engine the BA-7 saw both an increase in thrust and deficiency. Quickly super-seeded by the cheaper BA-11 Agena D version.
}
+PART[bluedog_AgenaD]:NEEDS[!RealFuels]:AFTER[Bluedog_DB_1]
{
@title = bluedog_AscentAgenaD_x
@name = Belle-D-40 "Mafuni+" Liquid Fuel Engine
@mass *= 1.005
@MODULE[ModuleEnginesFX]
{
@maxThrust = 36
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
!atmosphereCurve {}
atmosphereCurve
{
key = 0 327
key = 1 140
key = 3 0.001
}
}
}
@PART[bluedog_AscentAgenaD_x]:NEEDS[Bluedog_Realnames]:Final
{
@manufacturer = Lockheed Missile and Space Division
@title = Ascent Agena model 8096B
@description = Late production Agena-D upper stage was modified into a simple lifter stage. No auxiliary engines, a bigger bell and higher efficiency for a similar cost. This basic Engine, with new mounting hardware and fuel tanks was used to power the KH-9 Hexogen Satellite and as the Agena 2000.
}
// Apollo Service Module Engines
@PART[bluedog_Apollo_Block3_ServiceEngine,bluedog_Apollo_Block2_ServiceEngine,bluedog_Apollo_Block5_ServiceEngine]:NEEDS[!RealFuels]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
// Apollo LEM Engines
@PART[bluedog_LEM_Ascent_Engine,bluedog_LEM_Descent_Engine]:NEEDS[!RealFuels]
{
@MODULE[ModuleEngines*]
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
That's kind of tough to read @Pappystein
Large code blocks can be formatted on Github with three tildes (~~~
) on a line by itself before and after the block. Backticks are for inline code
.
~~~
code
~~~
Maybe it would be simpler to tag the hypergolic engines and then set them up all at once. Tag them :First
so it carries over to +PART
copies.
// Agena
@PART[bluedog_AgenaA,bluedog_AgenaD,bluedog_agenaSecondaryEngine]:First
{
%isHypergolic = True
}
// Juno
@PART[bluedog_Juno_Engine6K,bluedog_Juno_Engine45K]:First
{
%isHypergolic = True
}
// Titan
@PART[bluedog_LR87_5,bluedog_LR87_11,bluedog_LR91_5,bluedog_LR91_11]:First
{
%isHypergolic = True
}
// ... list other engines...
// Engine setup
@PART:HAS[#isHypergolic[True]]:AFTER[Bluedog_DB_1]
{
@MODULE[ModuleEngines*],*
{
@PROPELLANT[LiquidFuel]
{
@name = Aerozine50
}
@PROPELLANT[Oxidizer]
{
@name = NTO
}
}
@RESOURCE[LiquidFuel]
{
@name = Aerozine50
@amount *= 5
@maxAmount *= 5
}
@RESOURCE[Oxidizer]
{
@name = NTO
@amount *= 5
@maxAmount *= 5
}
}
// Cleanup
@PART:HAS[#isHypergolic[*]]:Final
{
!isHypergolic = delete
}
Now THAT is a neat idea :) I was un-aware of how powerful MM could be.
I assume the Hashtag means custom created (non stock KSP or dll created) variable?
eg @PART:HAS[#isHypergolic[True]
Also it appears that for Copied engines that happen after :First, I just add the isHypergolic = True line in the copied data area instead of manually converting each engine during the copy.
I assume the Hashtag means custom created (non stock KSP or dll created) variable?
It's how you reference variables in a HAS block. :HAS[#isHypergolic[True]]
or :HAS[#mass[>1]]
vs :HAS[@RESOURCE[LiquidFuel]]
I updated the first post.
Extreme necro, but would @jsolson be okay if I used a derivative of these configs in something else I'm working on?
Extreme necro, but would @jsolson be okay if I used a derivative of these configs in something else I'm working on?
Go for it
too bad this never went anywhere
too bad this never went anywhere
It did go somewhere! Pappystein has a patch in the extras folder that does this, I started work on MoreFuels (which is currently abandoned, and probably unfit for use), and it has found a maintained home in the SkyhawkScienceSystem.
@Clamp-o-Tron I love how the SkyhawkScienceSystem fuels are made and work, but I havent found some way to isolate it from the rest of SSS
You could go into the BDB Extras and utilize my Fuel patch (Pafftek/HypergolicBDB). It works, and it is FINE. The only thing I didn't do is expand Hypergolics beyond AZ50/NTO because AZ50/NTO provides a 5:1 ratio change vs. LF/O Fuel, making the math simple. Adding other Hypergolic fuels quickly becomes very complicated, and you start getting into decimal units of fuel and oxidizer that would remain in the tank after the burn.
Of course, this course of action assumes you want to eliminate the rest of SSS.
for the fuel tank issue: could interstellar fuel switch help there?
for the fuel tank issue: could interstellar fuel switch help there?
Or you could just go to BDB Extras and make certain under the Pafftek folder, you have HypergolicBDB installed. If you have that installed and are not using something else that modifies fuel tanks, you will have everything that was created here within.
I utilize it all the time since I was one of the creators.
it was meant as a suggestion for: "Adding other Hypergolic fuels quickly becomes very complicated, and you start getting into decimal units of fuel and oxidizer that would remain in the tank after the burn.", if you would want to do it.
if i offended you, i am sorry