Jump to content

Nuclear Turbojet in KSP Interstellar


Recommended Posts

Hello, I am working on a senior design project for school which is the development of an air and space thermal rocket engine with turbo jet. The Nuclear Turbojet in KSP Interstellar has the same capabilities that I'm looking for and I have already changed the way it looks. Right now, I'm trying to change the cfg file so that it's fuel consumption rate matches that of my calculations, however, I cannot seem to find where to change this. I am able to get the desired thrust and changing the amount of fuel consumption is the final step in what I need to do to get this to work properly.

The challenge with this is that this engine uses two types of fuel: air and liquid fuel. So it is difficult to isolate the parameters that affect only the air operation and only the rocket operation.

The cfg code for this engine is shown below. Any help will be greatly appreciated.

Thank you.

 

PART
{
    name = KspiNuclearJetEngine
    module = Part
    author = Porkjet
    mesh = TurboJet.mu
    rescaleFactor = 1

    node_stack_top = 0.0, 3.0, 0.0, 0.0, 1.0, 0.0
    node_attach = 0.0, 0.0, -0.875, 0.0, 0.0, 1.0, 1
    //CoMOffset = 0.0, 2.3, 0.0

    TechRequired = improvedNuclearPropulsion
    entryCost = 30000
    cost = 15000 
    category = Engine
    subcategory = 0
    title = ASTRET LL Reactor
    manufacturer = #LOC_KSPIE_KspiNuclearJetEngine_manuf
    description = Air and Space Thermal Rocket Engine with Turbojet
    attachRules = 1,1,1,1,1
    mass = 4.6

    heatConductivity = 0.02 
    thermalMassModifier = 1
    emissiveConstant = 0.95
    dragModelType = default
    maximum_drag = 0.1
    minimum_drag = 0.05
    angularDrag = 1
    crashTolerance = 7
    fuelCrossFeed = True
    maxTemp = 2750
    bulkheadProfiles = size1, size2, srf

    DRAG_CUBE
    {
        cube = Default, 10.39,0.7846,1.583, 10.39,0.7841,1.415, 2.463,0.4488,3.114, 2.463,0.3253,3.672, 10.07,0.7673,1.584, 10.07,0.7562,1.689, -5.96E-08,-0.1781,-0.05043, 1.75,6.586,1.851
    }

    MODULE
    {
        name = ModuleEnginesFX
        thrustVectorTransformName = thrustTransform
        exhaustDamage = True
        ignitionThreshold = 0.1
        minThrust = 0
        maxThrust = 9300
        heatProduction = 30
        useEngineResponseTime = True
        engineAccelerationSpeed = 0.2
        engineDecelerationSpeed = 0.35
        useVelocityCurve = True

        //fxOffset = 0, 0, 0.74

        flameoutEffectName = flameout
        //powerEffectName = running_thrust
        
        engageEffectName = engage
        disengageEffectName = disengage
        //spoolEffectName = running_turbine

        engineSpoolIdle = 0.05
        engineSpoolTime = 2.0
        EngineType = Turbine
    
        PROPELLANT
        {
            name = IntakeAtm
            ratio = 1
        }
        atmosphereCurve
         {
            key = 0 1200
            key = 0.3 2500
            key = 1 800
         }
        velocityCurve
        {
            key = 0 1 0 0
            key = 400 0.8 0 0
            key = 800 0.9 0 0
            key = 1700 0 0 0
        }
    }

    MODULE
    {
        name = ModuleAnimateHeat
        ThermalAnim = HeatAnimationEmissiveJet
    }

    MODULE
    {
        name = InterstellarFissionMSRGC

        reactorSpeedMult = 0.2             // modifies the engines acceleration time

        ReactorTemp = 2700
        PowerOutput = 600
        fuelEfficiency = 2
        upgradedFuelEfficiency = 2
        reactorType = 1
        upgradedReactorType = 1
        PowerOutputExponent = 3.2
        upgradedReactorTemp = 2700
        upgradedPowerOutput = 1000 
        upgradedPowerOutputExponent = 3
        originalName = #LOC_KSPIE_KspiNuclearJetEngine_InterstellarFissionMSRGC_origi        // #LOC_KSPIE_KspiNuclearJetEngine_InterstellarFissionMSRGC_origi = Nuclear Reactor Mk1
        upgradedName = #LOC_KSPIE_KspiNuclearJetEngine_InterstellarFissionMSRGC_upgra        // #LOC_KSPIE_KspiNuclearJetEngine_InterstellarFissionMSRGC_upgra = Nuclear Reactor Mk2
        upgradeTechReq = advNuclearPropulsion
        upgradeCost = 60
        radius = 2
        minimumThrottle = 0.00025
        consumeGlobal = false
        partMass = 6
        heatTransportationEfficiency = 0.95
        bonusBufferFactor = 1
        neutronEmbrittlementLifepointsMax = 100

        thermalPropulsionEfficiency = 2
        thermalEnergyEfficiency = 2    
        chargedParticleEnergyEfficiency = 0    // prevent connecting to charged particle electric generator

        electricPowerPriority = 1
    }

    MODULE
    {
        name = ThermalElectricEffectGenerator
        calculatedMass = false
        isLimitedByMinThrotle = true
        chargedParticleMode = false

        efficiencyMk1 = 0.04
        efficiencyMk2 = 0.06
        efficiencyMk3 = 0.08

        Mk2TechReq = specializedElectrics
        Mk3TechReq = experimentalElectrics

        originalName = #LOC_KSPIE_KspiNuclearJetEngine_ThermalElectricEffectGenerator_origi        // #LOC_KSPIE_KspiNuclearJetEngine_ThermalElectricEffectGenerator_origi = Thermal Electric Generator Mk1
        upgradeTechReq = #LOC_KSPIE_KspiNuclearJetEngine_ThermalElectricEffectGenerator_upgra        // #LOC_KSPIE_KspiNuclearJetEngine_ThermalElectricEffectGenerator_upgra = Thermal Electric Generator Mk2

        upgradeCost = 220
        radius = 4 // affects rocket only
    }

    MODULE
    {
        name = ThermalNozzleController

        engineAccelerationBaseSpeed = 1
        engineDecelerationBaseSpeed = 2
        jetengineAccelerationBaseSpeed = 0.2
        jetengineDecelerationBaseSpeed = 0.4

        isJet = true
        originalName = #LOC_KSPIE_KspiNuclearJetEngine_ThermalNozzleController_origi        // #LOC_KSPIE_KspiNuclearJetEngine_ThermalNozzleController_origi = Atmospheric Thermal Jet (ASTRET)
        upgradedName = #LOC_KSPIE_KspiNuclearJetEngine_ThermalNozzleController_upgra        // #LOC_KSPIE_KspiNuclearJetEngine_ThermalNozzleController_upgra = Hybrid Thermal Rocket (ASTRET)
        upgradeCost = 100
        upgradeTechReq = advNuclearPropulsion
        radius = 0.65 // affects both jet and rocket thrust
        exitArea = 1
        partMass = 5.9
        //powerTrustMultiplier = 0.411
        powerTrustMultiplier = 0.43
        powerTrustMultiplierJet = 0.77
        IspTempMultOffset = -1.371670613
        
        maxTemp = 2750
        emissiveConstant = 0.85
        heatConductivity = 0.02
        skinInternalConductionMult = 4
        skinThermalMassModifier = 1
        thermalMassModifier = 1

        thermalPropulsionEfficiency = 1.4
        thermalEnergyEfficiency = 0        // prevent connecting to thermal electric generator
        chargedParticleEnergyEfficiency = 0    // prevent connecting to charged particle electric generator

        canUseLFO = false
        sootHeatDivider = 200
        EffectNameJet = running_thrust
        EffectNameLFO = power_open
        EffectNameNonLFO = running_closed
        AnimateThrottle = TurboJetThrottle
        jetPerformanceProfile = 2
        hasAlternator = true
        baseHeatProduction = 100
    }

    MODULE
    {
        name = FNModulePreecooler
    }

    // note this generates exceptions while in Editor, but it functions correctly in Flight
    MODULE
    {
        name = FXModuleAnimateThrottle
        animationName = TurboJetThrottle
        dependOnEngineState = False
        responseSpeed = 0.5
    }


    MODULE
    {
        name = ModuleGimbal
        gimbalTransformName = thrustTransform
        gimbalRange = 6
         gimbalResponseSpeed = 6
         useGimbalResponseSpeed = true
    }

    MODULE
    {
        name = FXModuleConstrainPosition
        matchRotation = false
        matchPosition = true
        CONSTRAINFX
        {
            targetName = nozzleOuterPoint
            moversName = nozzleOuter
        }
    }

    RESOURCE
    {
        name = WasteHeat
        amount = 0
        maxAmount = 600000
    }

    RESOURCE
    {
        name = ThermalPower
        amount = 0
        maxAmount = 1000
    }

    RESOURCE
    {
         name = Megajoules
         amount = 0
         maxAmount = 10
          isTweakable = false
        hideFlow = false
    }

    RESOURCE
    {
        name = ElectricCharge
        amount = 0
        maxAmount = 10
          isTweakable = false
        hideFlow = false
    }

    RESOURCE
    {
        name = EnrichedUranium
        amount = 2
        maxAmount = 2
    }

    RESOURCE
    {
        name = Actinides
        amount = 0
        maxAmount = 2
    }

    MODULE
    {
        name = ModuleTestSubject
        environments = 71
        useStaging = True
        useEvent = True
    }

    MODULE
    {
        name = ModuleSurfaceFX
        thrustProviderModuleIndex = 0
        fxMax = 0.5
        maxDistance = 20
        falloff = 2
        thrustTransformName = thrustTransform
    }

    MODULE
    {
        name = TweakScale
        type = stack_interstellar
        defaultScale = 1.25
        scaleFactors = 1.25, 1.875, 2.5, 3.5, 5
    }


    EFFECTS
    {        
        running_thrust
        {            
            AUDIO
            {
                channel = Ship
                clip = sound_jet_deep
                volume = 0.0 0.0
                volume = 0.05 0.9
                volume = 1.5 1.0
                pitch = 0.0 0.2
                pitch = 0.5 1.0
                loop = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_jet_low
                volume = 0.0 0.0
                volume = 0.05 0.9
                volume = 1.0 1.0
                pitch = 0.0 0.2
                pitch = 1.5 1.0
                loop = true
            }
            PREFAB_PARTICLE
            {
                prefabName = fx_smokeTrail_light
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.05 0.0
                emission = 0.075 0.2
                emission = 1.0 1.25
                speed = 0.0 0.25
                speed = 1.5 1.0
                localOffset = 0, 0, 1
                localRotation = 1, 0, 0, -90
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/afterburner_shock
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.4 0.2
                emission = 0.8 0.8
                emission = 1 1
                speed = 0.4 0.1
                speed = 1.5 1.15
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = Squad/FX/afterburner_flame
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.4 0.2
                emission = 0.8 0.8
                emission = 1.0 1.15
                speed = 0.0 0.8
                speed = 1.5 1.15
            }                    
        }
        running_closed
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_hard
                volume = 0.0 0.0
                volume = 0.2 0.5
                volume = 1 0.8
                pitch = 0.0 1.0
                pitch = 1.2 1.2
                loop = true
            }

            MODEL_MULTI_PARTICLE
            {
                modelName = WarpPlugin/FX/NTR_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.1 0.25
                emission = 1.0 1.0
                speed = 0.0 0.8
                speed = 1.0 1.2
            }
        }
        power_open
        {
            AUDIO
            {
                channel = Ship
                clip = sound_rocket_spurts
                volume = 0.0 0.0
                volume = 0.1 0.5
                volume = 1 1
                pitch = 0 0.5
                pitch = 1 1
                loop = true
            }
            MODEL_MULTI_PARTICLE
            {
                modelName = WarpPlugin/FX/LANTR_small
                transformName = thrustTransform
                emission = 0.0 0.0
                emission = 0.1 0.5
                emission = 1.0 2.0
                speed = 0.0 1.0
                speed = 1.0 1.5
            }
        }
        engage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_medium
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        disengage
        {
            AUDIO
            {
                channel = Ship
                clip = sound_vent_soft
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
        flameout
        {
            PREFAB_PARTICLE
            {
                prefabName = fx_exhaustSparks_flameout_2
                transformName = thrustTransform
                oneShot = true
            }
            AUDIO
            {
                channel = Ship
                clip = sound_explosion_low
                volume = 1.0
                pitch = 2.0
                loop = false
            }
        }
    }
    
}
 

Link to comment
Share on other sites

On 5/31/2018 at 9:50 AM, Astrotech89 said:

 Right now, I'm trying to change the cfg file so that it's fuel consumption rate matches that of my calculations, however, I cannot seem to find where to change this. I am able to get the desired thrust and changing the amount of fuel consumption is the final step in what I need to do to get this to work properly.

1

Could you share the calculation with me? In KSPI the Isp of the thermal jet engine is calculated based on a combination of  Reactor core temperature, atmosphere propellant modifier and Atmosphere Curve. The base maximum Isp (for hydrogen) is calculated by isp = sqrt(temperature) * 21

isp = sqrt(temperature) * 21

 

Edited by FreeThinker
Link to comment
Share on other sites

Sure, I used compressible flow as well as heat transfer equations:

ISP: 815s

T_core: 3150K

T_propellant: 2600K

V_flow: 510 L/s

Thrust: 3000 kN

The propellant is hydrogen seeded with krypton. I modified the stock liquid fuel to give me the correct mass: 0.735kg/L

please let me know what other information you need.

Edited by Astrotech89
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...