Porkjet

[1.0.5] Atomic Age - Nuclear Propulsion - Red Hot Radiators

Recommended Posts

On 4/3/2016 at 2:23 AM, NAMROG said:

Working for 1.1?

Instead of asking, why not try it and find out! That way, you can give feedback to Porkjet if it doesn't work, and that will infinitely speed up the process! :) 

Share this post


Link to post
Share on other sites
10 hours ago, MrMeeb said:

Instead of asking, why not try it and find out! That way, you can give feedback to Porkjet if it doesn't work, and that will infinitely speed up the process! :) 

Hey it actually seems to be working! Thanks for the suggestion. The rumor was that anything having to do with plugins would be dead. But seems this works! I tested out the quad nuke engine with some radiators, on 64 bit. No problems.

Share this post


Link to post
Share on other sites
On 4/9/2016 at 10:45 PM, NAMROG said:

Hey it actually seems to be working! Thanks for the suggestion. The rumor was that anything having to do with plugins would be dead. But seems this works! I tested out the quad nuke engine with some radiators, on 64 bit. No problems.

Plugins as in application extensions, as in .dll files. Those are all kaput unless they're updated. This is just parts, so it should be good.

Share this post


Link to post
Share on other sites

Hi there,

Long time fan of this mod.

Am testing in 1.1 and everything seems to be fine.   One little possible error is that the nuclear turbojet is listed as only costing 950.. fairly cheap :wink:

Thank you for your fine work

 

Share this post


Link to post
Share on other sites

Yup, they're only engine parts, no legs/gears/wheels, no .dll files, no UI actions, and they're made by Porkjet so of course they work in 1.1 :)

I consider these engines to be "stock plus" as they are made by Porkjet, and am really hoping they're in v1.2. :)

 

Share this post


Link to post
Share on other sites

Maybe Squad should give the employed modders some time, they burn them up quite fast.
B9, C7, first they make mods, then they get to work for Squad, and then they leave and do not return.

Now there are Porkjet, Aronside and TriggerAU, lets hope for the best.

Share this post


Link to post
Share on other sites

Okay, Good news first:

The radiators all seem to work.

Most of the engines look good.

 

Bad news:

The Nuclear turbojet seems to have some odd effects with the structure of the flaring end of the engine.

 

Overall ranking: 1.1 Playable.

Share this post


Link to post
Share on other sites

As far as I can see, mod is playable on 1.1.2

I am using a lander with the nuclear light bulb, cooled by Heat management mod from Randazzo and both mods run perfectly.

There is just no flame at the exhaust of the engine when it is running, we can just hear the sound

Share this post


Link to post
Share on other sites
18 hours ago, gilflo said:

There is just no flame at the exhaust of the engine when it is running, we can just hear the sound

Luckily Real Plume included the FX for these engines when it updated.  After a test I can confirm it works.

Share this post


Link to post
Share on other sites

@Porkjet, I note the string of comments talking about using and testing this mod on their own with no visible problems.  Can you confirm that the mod works on v1.1.2?  (I'm aware of silent-errors and other issues that wouldn't be user-visible.)

Share this post


Link to post
Share on other sites

Has anyone else had the some parts not show up for them? When I try to install it only the "Candle" engine shows up with no other parts. I have tried reinstalling the mod. Anyone got any ideas?

Share this post


Link to post
Share on other sites

I've noticed that in 1.1.2, the Nuclear Lightbulb will only roll and pitch, not yaw. If you rotate the engines in the editor, then they will yaw instead of pitch.

Share this post


Link to post
Share on other sites

Hi all,

I've been playing career mode with Atomic Age (AA) and Near Future Electrical (NFE). In terms of AA, I love the nuclear thermojet, especially the size of the damn thing: it is a nuclear reactor after all! 

I was less enthused by the literally unlimited running time of the engine however, so I modded it through a module manager config to make it consume EnrichedUranium in a manner similar to the NFE reactors, but way way less efficiently for gameplay balance regions. Currently there is enough fuel for 1 kerbin month (~36 earth hours / 6.5 kerbin days) of running time.

Why a kerbin month? Mostly gameplay balance regions. If I made the reaction last for 4-7 years as per the NFE reactors, it may as well be unlimited. I also wanted to chose a meaningful timeframe from an in-game perspective. I figured this length of time would hopefully make fuel management an issue for a long-term flyer sent to a planetary base. I worry that it might actually be too long, rather than too short - any considered opinions would be appreciated! (one alternative is that it lasts longer, but is 'always on' from launch time, making refuelling needed after long trips to distant planets).

The changes are as follows:

  1. The engine has 9 units of EnrichedUranium.
  2. The nuclear reaction must be activated (and maintained) in the content menu (or by action groups) before the engine will start
  3. The generator will provide constant EC power (when reaction is running)
  4. Consumed uranium will convert to DepletedFuel

If you have NFE installed, you can:

  1. Carry more fuel (and indeed more weight) with you in uranium barrels
  2. Reprocess spent fuel back into uranium, or convert ore into uranium
  3. However, you will need a qualified engineer to manage and transfer these hazardous materials!

The only requirement for the changes is the CommunityResourcePack (and, of course, AA) for the Uranium and DepletedFuel resources. I recommend using NFE to compliment this great plugin!

Here is my Module Manager pack text below, put this somewhere in your GameData directory in a file ending with .cfg (I have a sub-folder called 'Local' and this is in my localmm.cfg file). I've also edited the entry and part costs to be inline with NFE - just comment them out if you want the original pricing! 

Spoiler

//ThermalLoad resource for nuclear thermojet uranium consumption
RESOURCE_DEFINITION:NEEDS[Eskandare_Heavy_Industries|AtomicAge]
{
 	name = ThermalLoad
  	density = 0
  	unitCost = 0
  	flowMode = NO_FLOW
  	transfer = NONE
  	isTweakable = false
    isVisible = true
}

//Add uranium to Nuclear thermojets for baseline 1 kerbin month operation,
//because unlimited resources is nuts - even for endgame
@PART[NuclearJetEngine]:NEEDS[AtomicAge&CommunityResourcePack]
{
  @cost = 38230
  @entryCost = 71000

  RESOURCE
	{
		name = EnrichedUranium //BALANCE ~80% of 0625 fuel, in 125 part size, because engine parts
	 	amount = 9
	 	maxAmount = 9
	}

  RESOURCE
  {
    name = DepletedFuel
    amount = 0
    maxAmount = 9
  }

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

  MODULE
  {
     name = ModuleResourceConverter
    ConverterName = Fission Reactor 6d
    StartActionName = Start Reactor
    StopActionName = Deactivate Reactor
    AutoShutdown = true
    GeneratesHeat = false
    UseSpecialistBonus = false


    INPUT_RESOURCE
    {
      ResourceName = EnrichedUranium
      //Ratio = 0.0000002375 0.0000038
      //Ratio = 0.0000076
      Ratio = 0.0000684 //BALANCE ~6 kerbin days of fuel (~1 kerbin months; 36 earth hours)
      FlowMode = NO_FLOW
    }
    OUTPUT_RESOURCE
    {
      ResourceName = DepletedFuel
      //Ratio = 0.0000002375 0.0000019 0.0000038 0.0000076
      //Ratio = 0.0000076
      Ratio = 0.0000684 //BALANCE ~6 kerbin days of fuel (~1 kerbin months; 36 earth hours)
      DumpExcess = false
      FlowMode = NO_FLOW
    }
     OUTPUT_RESOURCE
     {
      ResourceName = ThermalLoad
      Ratio = 2
      DumpExcess = true
      FlowMode = NO_FLOW
     }
  }

  MODULE
  {
    name = ModuleGenerator
    isAlwaysActive = true
    requiresAllinputs = true

    INPUT_RESOURCE
    {
      name = ThermalLoad
      rate = 0.1
    }
    OUTPUT_RESOURCE
    {
     name = ElectricCharge
     rate = 10
    }
  }

  @MODULE[ModuleEnginesFX]
  {

      PROPELLANT
      {
        name = ThermalLoad
        ratio = 1
      }

  }

  MODULE:NEEDS[NearFutureElectrical]
  {
    name = RadioactiveStorageContainer
    DangerousFuel = DepletedFuel
    SafeFuel = EnrichedUranium
    // What enginer level is needed to transfer the safe fuel
    EngineerLevelForSafe = 1
    // What enginer level is needed to transfer the dangerous fuel
    EngineerLevelForDangerous = 3
    // Max temp for transferring fuel into or out of the part
    MaxTempForTransfer = 400
    // kW of heat per unit of waste
    HeatFluxPerWasteUnit = 5
  }
}

 

How does it work? The reactor module uses up EnrichedUranium to create a resource called ThermalLoad. This resource is stored in a small buffer (the rest is dumped). This allows for a consistent usage of uranium independent of thrust or engine state. A small part of the thermal load is turned into EC, and some is consumed by the engine. If the reactor shuts off, the engine and generator will quickly eat through the thermal load buffer (less than a minute), after which both the engine and generator will shutdown, until the reaction is restarted.

 

 

Edited by DrCeph

Share this post


Link to post
Share on other sites
On 5/16/2016 at 8:09 PM, DrCeph said:

Here is my Module Manager pack text below, put this somewhere in your GameData directory in a file ending with .cfg (I have a sub-folder called 'Local' and this is in my localmm.cfg file). I've also edited the entry and part costs to be inline with NFE - just comment them out if you want the original pricing!

Neat and simple, thanks!

For those using NFE - replace ModuleResourceConverter with FissionReactor (copy from NFE), add ThermalLoad to output and balance other parameters to taste/balance.

Next step would be to make ThermalLoad production proportional to reactor temperature (requiring time to spin up), but that does not seem possible with just a MM... or am I wrong?

Share this post


Link to post
Share on other sites

I am about to do some play-testing for this, just need to re-fresh my mod library first.  But so far it looks great!

Share this post


Link to post
Share on other sites
2 hours ago, Tau137 said:

Neat and simple, thanks!

For those using NFE - replace ModuleResourceConverter with FissionReactor (copy from NFE), add ThermalLoad to output and balance other parameters to taste/balance.

Next step would be to make ThermalLoad production proportional to reactor temperature (requiring time to spin up), but that does not seem possible with just a MM... or am I wrong?

Yeah I was thinking about how to make it fit in better with NFE, the proportional increase is what I wanted too, and I don't think it is possible without a mod/plugin.

Luckily, @Nertea has already done the work for us! I found the KerbalAtomics mod that you posted in your second post. It has a patch in the extra's folder that adds NFE compatibility to its Nuclear Engines (https://github.com/ChrisAdderley/KerbalAtomics/blob/master/Extras/NearFutureElectricaNTRs/KerbalAtomicsNFE.cfg)

Looking through it I realised that NFE already has the functionality we need: Namely the FissionEngine and the FissionFlowRadiator modules. The former ties engine thrust levels to FissionReactor core heat, and the latter exhausts heat core as a factor of thrust (think an inverse version of the Alternator module, but for heat instead of EC).

However, I needed to do a bit of balancing, the key reason was that the NJE has variable thrust as a factor of its speed and available atmosphere and the examples given for the KerbalAtomic engines require full thrust for cooling.

In practice it is pretty much impossible to gain max theoretical thrust on a jet engine. That meant it had an unfortunate tendency for the core to overheat often and quickly.

I've changed the radiatorCoolingFactor to 3 (from 1). This means that your core will be fully cooled by a third of max theoretical thrust or greater. (~35 kN) This means that you will need to watch your reactor's core temp when landing/slow maneuvers or at higher altitudes. This change also means you need less radiators should you wish to fully cool the core without thrust, which I think is an OK compromise seeing as we are talking atmospheric flight here and don't want too much drag introduced.

I've updated my MM patch to give the NuclearJetEngine (NJE) this new behaviour.

Spoiler

//Add uranium to Nuclear thermojets for baseline 1 kerbin month operation,
//because unlimited resources is nuts - even for endgame

@PART[NuclearJetEngine]:NEEDS[NearFutureElectrical]
{
	@mass -= 0.55 //keeps base mass the same after addition of uranium
	!MODULE[ModuleAlternator] {}
	MODULE
	{
		name = FissionReactor
		StartActionName = Start Reactor
		StopActionName = Deactivate Reactor
		// Show or hide the staging icon

		UseStagingIcon = true
		// Force part activate on load
		UseForcedActivation = false

		UseSpecializationBonus = false
		AutoShutdown = true
		DefaultShutoffTemp = 0.90

		// Heat animation, plays when above nominal temp
		// OverheatAnimation = Reactor_1MW_Heat

		// Heat to generate (kW *50)
		HeatGeneration = 55000

		// Above this temp more power output but risky
		NominalTemperature = 2800
		// Above this temp, reactor takes damage
		CriticalTemperature = 3300

    MaximumTemperature = 3600

		// Amount of damage taken by core when over critical temp
		// %/s/K, so with value 0.001, at 200 K over CriticalTemp, reactor takes 0.2% damage/s
		CoreDamageRate = 0.01

		// Base lifetime calculations off this resource
		FuelName = EnrichedUranium

		// Heating
		GeneratesHeat = false
		TemperatureModifier
		{
			key = 0 0
		}
		//250000

		INPUT_RESOURCE
		{
			ResourceName = EnrichedUranium
			Ratio = 0.0003
			FlowMode = NO_FLOW
		}
		OUTPUT_RESOURCE
		{
			ResourceName = DepletedFuel
			Ratio = 0.0003
			DumpExcess = false
			FlowMode = NO_FLOW
		}
	}
	MODULE
	{
		name = ModuleCoreHeat
		CoreTempGoal = 2800					//Internal temp goal - we don't transfer till we hit this point
    //CoreTempGoal = 1500
		CoreToPartRatio = 0.1				//Scale back cooling if the part is this % of core temp
		CoreTempGoalAdjustment = 0			//Dynamic goal adjustment
		CoreEnergyMultiplier = 0.1			//What percentage of our core energy do we transfer to the part
		HeatRadiantMultiplier = 0.05		//If the core is hotter, how much heat radiates?
		CoolingRadiantMultiplier = 0		//If the core is colder, how much radiates?
		HeatTransferMultiplier = 0			//If the part is hotter, how much heat transfers in?
		CoolantTransferMultiplier = 0.01	//If the part is colder, how much of our energy can we transfer?
		//radiatorCoolingFactor = 1			//How much energy we pull from core with an active radiator?  >= 1
    radiatorCoolingFactor = 3			//COOLS ON 1/3 MAX THRUST OR MORE
		radiatorHeatingFactor = 0.01		//How much energy we push to the active radiator
		MaxCalculationWarp = 1000			//Based on how dramatic the changes are, this is the max rate of change
		CoreShutdownTemp = 3600				//At what core temperature do we shut down all generators on this part?
		MaxCoolant = 1100					//Maximum amount of radiator capacity we can consume - 50 = 1 small
	}
	MODULE
	{
		name = FissionFlowRadiator
		maxEnergyTransfer = 55000
		overcoolFactor = 0.20
		maxLinksAway = 1
		isCoreRadiator = true
	}
	RESOURCE
	{
		name = EnrichedUranium
		amount = 45
		maxAmount = 45
    FlowMode = NO_FLOW
	}
	RESOURCE
	{
		name = DepletedFuel
		amount = 0
		maxAmount = 45
    FlowMode = NO_FLOW
	}
	MODULE
	{
		name = FissionEngine
		HeatUsed = 1100
		//TempIspScale
		//{
		//	key = 300 0
		//	key = 1000 0.2
		//	key = 3000 1.0
		//	key = 4000 1.3
		//}
    TempIspScale
    {
        key = 300 0
        key = 1000 0.2
        key = 2600 1.0
        key = 3600 1.3
    }
	}
	MODULE
	{
		name = RadioactiveStorageContainer
		DangerousFuel = DepletedFuel
		SafeFuel = EnrichedUranium
		// What enginer level is needed to transfer the safe fuel
		EngineerLevelForSafe = 1
		// What enginer level is needed to transfer the dangerous fuel
		EngineerLevelForDangerous = 3
		// Max temp for transferring fuel into or out of the part
		MaxTempForTransfer = 400
		// kW of heat per unit of waste
		HeatFluxPerWasteUnit = 5
	}
	@MODULE[ModuleEnginesFX] {
		@heatProduction *= 0.1
	}
}

 

I like the behaviour of the KerbalAtomics plugin, but the engines from the AtomicAge plugin. I quite like the NFE patch on the KA engines, and I also like the conversion to LiquidHydrogen as a fuel source (Which Nertea awesomely provides an AA patch for). However, I really love the flavour of the AA engines. My current thinking is that I will make a NFE patch for the AA engines using the NFE patch by Nertea for KA as a base (I'll leave the small RTG engine as is, due to it not using a reactor).This will result in me keeping the CryoTanks, AtomicAge and NFE mods, and probably not keeping the KA mod (I think it is excellent mind - but I MUST have the Nuclear Jet and want to keep my mod list to a sane size :P).

TL;DR: I'll be providing KA-style integration with NFE and Cryotanks for AtomicAge engines!

Once I've made the full patch and am happy with it (I'll need to do the lightbulb and LANTR in addition to the NJE above), I'll share it here.

 

 

Share this post


Link to post
Share on other sites

Neat-o, but power production and fuel consumption do not match the thrust.  On the other hand, fuel consumption at this point is irrelevant, the whole mod needs to be tweaked (with 40hrs of flight time on a couple of these plus something else for vacuum you can fly around the whole system, land on every planet and return home without having to maintain the engines; refueling LH2 is another story though).

Share this post


Link to post
Share on other sites

Could you elaborate on the power production and fuel consumption not matching the thrust? Do you mean compared to the production/thrust levels of the liquid/H2 engines? If so, thats a good point - there should be a ~66% increase in both compared to the values for the LV-N in Nertea's patch. The question remaining: do you also increase uranium capacity to keep the 1 kerbin month flight time, or not?

Your point in the irrelevance of fuel consumption is something I've been thinking about too. On one hand, I like the heat management aspect as it makes the use of more efficient engines more of a challenge. But yeah, refuelling (uranium) is currently pointless. I think the problem is the time between burns: you actually only need the reactor running for very small windows. I wonder if having the uranium always being consumed (whether reactor is running or not) would be a gameplay balance that would make it more challenging for multiyear trips to distant systems/ or for vehicles on remote outposts.

EDIT: Actually, I just saw this by Nertea on the KA thread, in response to your post Tau137:

Quote

What I need to do is write some code that will allow lower reactor power in an elegant way, so then the reactor can run at 0.1% easily, and I can cut the full-thrust lifetime by a factor of 10. 

I think the lifetime being an order of magnitude lower would be a good way to deal with it, and a much simpler change than making the reactor always on.

I based the current lifetime on the 1.25m 'dual-mode' engine in KA (~6.5 kerbin days). An OoM less would make it just shy of 4 earth hours flight time. If I base it closer to the efficiency of the LV-N in KA, that would be from ~8 days to just shy of 5 hours flight time. 

I've not extensively play tested this engine on remote bases or around kerbin, etc. Any thoughts on what a sensible timeframe would be? I feel like I can easily get 5+ hours with a standard liquid fuel plane - is the benefit of being able to use non-oxygen atmospheres enough for the hassle of nuclear? Or would we want a much longer flight time?

I guess if you have an engineer and a bucket of uranium this flight time in the field actually becomes much higher, albeit needing to stop to transfer material.

Edited by DrCeph
New information

Share this post


Link to post
Share on other sites

Did no one notice the Gimbal yaw control for the Lightbulb is broken after 1.1 update?

Edited by FreeThinker

Share this post


Link to post
Share on other sites
On 19.5.2016 at 11:10 PM, FreeThinker said:

Did no one notice the Gimbal yaw control for the Lightbulb is broken after 1.1 update?

Same here, everyday i look into this thread and... me wonders if mister porkjet is aware that many people love the lightbulb for its infamous isp... ahem...:rolleyes: and its gigantic weight... huh... :0.0:
Could it become... stock... somehow? :wink:
It is simply "THE ENGINE" of choice for massive endgame fun...

Edited by Mikki

Share this post


Link to post
Share on other sites

Just make the Bulb engine tweakable and add some AHMS from HEAT MANAGMENT mod and it's the perfect engine for all kind of Interplanetary flights. Both mods , Heat managment and Atomic age, even not updated works perfectly in 1.1.2

Share this post


Link to post
Share on other sites
3 hours ago, Mikki said:

Same here, everyday i look into this thread and... me wonders if mister porkjet is aware that many people love the lightbulb for its infamous isp... ahem...:rolleyes: and its gigantic weight... huh... :0.0:
Could it become... stock... somehow? :wink:
It is simply "THE ENGINE" of choice for massive endgame fun...

Well in KSPI-E I fixed it with a simple tweak in the config

Edited by FreeThinker

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.