Jump to content

[1.12.x] Kerbal Atomics: fancy nuclear engines! (August 18, 2024)


Nertea

Recommended Posts

4 minutes ago, Nertea said:

Three things:

  1. That's the Emacipator on your rocket picture, not the Liberator, 4MW is not enough to keep it cooled even at 1% for sure. Which reactor are you actually using?
  2. Is this with the latest version of NFE? IE from a few hours ago?
    1. Can you repeat your testing with the latest version if that wasn't the case?
  3. If 2.1 doesn't resolve it, can you trim off the other-mod parts and upload the craft file?
  1. Crap, you're right. I feel silly. I changed it last night, but loaded an older file since it was simpler.
  2. I did update to a new version that was released today some time. NFE 0.8.7

Let me try this all over again with the Liberator.

Link to comment
Share on other sites

Okay, with the Liberator (I double checked), the same scenario on the ground occurs, up to the Liberator shutting down. After that the Garnet does not overheat. However, the other parts continue to rise in temperature for a while (a long while). Eventually the radiators can dump enough heat, and after the truss gets to around 1000K internal temp, it finally starts to cool.

Trying to get an even more simplified Liberator rocket into space, but without such a tail heavy rocket, it's having troubles, and not enough thrust for an SSTO rocket.

Edit: Well, slapped on some LH2 burning Cutlasses for boosters, and it seems to be behaving well in space now, too.

Sorry for the bad report there earlier, looks like it's all behaving as intended right now.

Next up! Swapping back to the Emancipator, but changing the thermal system out to 8x VS-3750s. Should give me 30MW of dissipation!

Looks like I'm back to the scenario earlier, where in orbit, even with 30MW of cooling, the trusses and even the Emancipator itself are slowly climbing in heat, even with the Emancipator shut down.

Indeed, it very slowly continues to climb. And if you use time-warp, the heat sky-rockets and the part instantly blows up. This could be problematic if you're doing a long flight, do your initial burn, shut the Emancipator down and then time-warp for coasting. Looks like there might be a bug with how the thermal system is acting with time-warps.

Edited by AmpCat
Link to comment
Share on other sites

Alright, here's the summary with the Emancipator:

Rocket is very simple. A couple octo-girders, Emancipator, Garnet, LH2 tank, drone core, and some number of VS-3750 radiators. Tested both in orbit and right on the launch pad.

  1. Turn on Emancipator and Garnet Reactors
  2. Set Throttle to 0%
  3. Stage engine.
  4. Emancipator quickly heats up, over heats, and shuts down.
  5. Garnet continues to run fine.
  6. Emancipator and the octo-girder its attached to slowly heat up internally, eventually exploding.

Observations:

  1. With the VS-3750 radiators, the explosion without time warp takes a long time, but I'd dare say, eventually will happen.
  2. Time warp causes the heat in the parts to surge upwards. The more radiators, the less the surge.
  3. It takes somewhere between 20-28 VS-3750 radiators to prevent eventual meltdown.
  4. Throttling the engine up while the reactor is shut down vents the heat pretty effectively, though this wouldn't be terribly useful in operation.
Edited by AmpCat
Link to comment
Share on other sites

Can you provide the craft file, please? I can't really help out if I can't replicate your test environment.

In addition, I do need a list of other mods you have installed, particularly ones that might affect thermal behavior.

Link to comment
Share on other sites

Just thought I'd show some love and share a family photo of my Kerbal Atomics hydrogen mining operation :)  Currently in orbit around Iota, but would work fine at Minmus too.

sqbVkEH.jpg

Middle; Alekeg II station, equipped with a homebrew 5m ISRU unit, a bulky SoB but I've given it higher conversion efficiency such that its 12,000 ore capacity will fully fill its own orange tank of LH2, plus the Kraftbier miner currently docked. (Unrealistic perhaps, but it still loses mass in the process and it reduces the boredom of repeated milkruns.) Powered by a trio of Neptune engines, it's TWR is pitiful, but it really isn't designed to go anywhere anyway. A trio of Near Future solar panels provides somewhere upwards of 150ec/s.

Left/bottom; packed with a Liberator engine, Kraftbier still only has about a 6.5 TWR when launching from Iota, but it's typical laden lift-off range is 1000m/s so if anything it's a little overspecced - but I don't want to change it because it has a marvellously balanced CoM with or without ore/fuel, and as such makes docking a breeze, even when it comes back weighing 160+ tons.

Right; Full Stein Ahead, unmanned fuel tanker with surprising grunt in its twin liberators. Turns out that for a heavy ship, the extra efficiency of the big engines more than outweighs the added mass. Carrying 2.2 million units of LH2, Full Stein Ahead can comfortably return from Iota to Gael (or Minmus to Kerbin) with around 1.4-1.5 million available to transfer, and still have enough to come back to the mining station for another load. Like Kraftbier, the tanks and engines are balanced to provide an unmoving CoM at any fuel load, resulting in a 230 ton behemoth that has no problems at all in being the active participant in a docking - although it does chew through a lot of fuel. Docking ports fore and aft provide 2.5 and 3.75m compatibility, while a couple of 1.25 ports are placed off-axis "just in case".

sx0WLoZ.jpg

Various scaffold and trusses from Near Future Construction provide plenty of docking options around the keg's circumference, while a big Space Y 3.75m port is available at the back. Huge solars from Near Future Electrical are excessive even for my crazy oversized 5m/17t ISRU unit. (I don't like the stock ISRUs, they're too dinky to feel plausible.)  Large pod from Near Future Spacecraft.

uX3MWtH.jpg

Kraftbier's levitating landing legs and heavy RCS by Space Y. Heavy pod from Lithobrake Exploration Tech.

AYfM3BK.jpg

Much like a bumble bee, Full Stein Ahead cannot fly in the rain. Engine trusses from Near Future Construction.

 

Edited by eddiew
Link to comment
Share on other sites

2 hours ago, eddiew said:

Just thought I'd show some love and share a family photo of my Kerbal Atomics hydrogen mining operation :)  Currently in orbit around Iota, but would work fine at Minmus too.

I love your ships, and they may inspire me to create some of my own based on your designs! I'm not creative enough to think about branching out like you have lol. Where do you get the large ISRU from?

Edited by HoveringKiller
Link to comment
Share on other sites

57 minutes ago, HoveringKiller said:

I love your ships, and they may inspire me to create some of my own based on your designs! I'm not creative enough to think about branching out like you have lol. Where do you get the large ISRU from?

ISRU is just a copy of Squad's, then a couple of simple config edits to rename it, double the scale and multiply the mass by 4 (I think I said 8 above, but part mass should be associated with its surface area rather than volume, since they're not solid lumps of metal). Then copy the ISRU section in the patch from Cryo Tanks, giving it a bit more efficiency.

Spoiler

Large ISRU config:


PART
{
name = ISRULarge
module = Part
author = original by Roverdude, tweaked by EddieW

MODEL
{
	model = Squad/Parts/Resources/ISRU/ISRU // standard Squad model
}

scale = 1
rescaleFactor = 2 // original is 1

node_stack_top = 0.0, 1.5, 0.0, 0.0, 1.0, 0.0, 3 // size 3 nodes
node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 3

TechRequired = advScienceTech
entryCost = 24000
cost = 32000
category = Utility
subcategory = 0
title = Convert-O-Tron 500
manufacturer = Kerbodyne
description = This mobile processing plant can take raw materials containing even trace amounts of oxygen and hydrogen, and crack them into useful fuel products.  When operated by a skilled engineer, you will be able to operate with better efficiency.  These modules operate best at their ideal operating temperatures, and features auto-shutdown in the event of excessive overheating.  Radiators can be used to help manage excessive heat.
attachRules = 1,1,1,1,1

// --- standard part parameters ---
mass = 17 // 4x mass. volume increase is cubic (8x), but mass is more related to the surface area of the part (square of the scale factor = 4x)
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 7
maxTemp = 2000 // = 3500
bulkheadProfiles = size2, srf
tags = convert isru mine mining ore process resource
	MODULE
	{
		name = ModuleOverheatDisplay
	}

	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Lf+Ox
		 StartActionName = Start ISRU [Lf+Ox]
		 StopActionName = Stop ISRU [Lf+Ox]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}


		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.5
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LiquidFuel
			Ratio = 0.45
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 0.55
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}

	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Monoprop
		 StartActionName = Start ISRU [Monoprop]
		 StopActionName = Stop ISRU [Monoprop]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}

		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.5
		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = MonoPropellant
			Ratio = 1
			DumpExcess = false
		 }
	}


	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = LiquidFuel
		 StartActionName = Start ISRU [LqdFuel]
		 StopActionName = Stop ISRU [LqdFuel]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}
		
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.45
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LiquidFuel
			Ratio = 0.9
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}

	
	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Oxidizer
		 StartActionName = Start ISRU [Ox]
		 StopActionName = Stop ISRU [Ox]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}

		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill

		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.55
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 1.1
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
	
	MODULE
	{
		name = ModuleAnimationGroup
		deployAnimationName = 
		activeAnimationName = ProcessorLarge_running
		moduleType = Converter
		autoDeploy = true
	}
	

	MODULE
	{
		name = ModuleCoreHeat
		CoreTempGoal = 1000					//Internal temp goal - we don't transfer till we hit this point
		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
		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 = 4000				//At what core temperature do we shut down all generators on this part?
		MaxCoolant = 500					//Maximum amount of radiator capacity we can consume - 50 = 1 small
	}

}

 

Cryo tanks patch:



@PART[ISRULarge]:NEEDS[CryoTanks]
{
	MODULE
	{
		name = ModuleResourceConverter
		ConverterName = LH2
		StartActionName = Start ISRU [LH2]
		StopActionName = Stop ISRU [LH2]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 50000
			key = 750 25000
			key = 1000 5000
			key = 1250 2500	
			key = 2000 2500	
			key = 4000 0
		}
		 
		GeneratesHeat = true
		ThermalEfficiency
		{
			key = 0 0 0 0
			key = 500 0.9 0 0
			key = 1000 1.0 0 0
			key = 1250 0.9 0 0
			key = 1500 0.5 0 0
			key = 3000 0.0 0 0 
		}
		DefaultShutoffTemp = .8
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill

		EfficiencyBonus = 1

		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 1.0
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 50
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LqdHydrogen
			Ratio = 141
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
	MODULE
	{
		name = ModuleResourceConverter
		ConverterName = LH2+Ox
		StartActionName = Start ISRU [LH2+Ox]
		StopActionName = Stop ISRU [LH2+Ox]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 50000
			key = 750 25000
			key = 1000 5000
			key = 1250 2500	
			key = 2000 2500	
			key = 4000 0
		}
		 
		GeneratesHeat = true
		ThermalEfficiency
		{
			key = 0 0 0 0
			key = 500 0.9 0 0
			key = 1000 1.0 0 0
			key = 1250 0.9 0 0
			key = 1500 0.5 0 0
			key = 3000 0.0 0 0 
		}
		DefaultShutoffTemp = .8
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 2.0
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 50
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LqdHydrogen
			Ratio = 24.7412
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
		  OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 1.64942
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
}

(I don't know what I'm doing with regards to heat or temperature modifiers, so those are the same as the 2.5m stock part.)

The latter being a bit BS, because it's delivering fuel as if about 90% of the ore by mass is hydrogen. But then, default is ~45-50% of the ore by mass being hydrogen; which is also mad. If you wanted realism, it would need to be way down in the single digits, and you'd absolutely have to have the refinery on the ground and ship fuel up from the surface. This way makes it practical to have an orbital refinery, which makes docking fuel barges much easier. I wouldn't want to have an LH2 tanker of this size trying to hook up on the ground :) 

For comparison, Squad's ISRU configs make it so that ore -> fuel is a 1:1 weight conversion, thus making it equally efficient to move ore or fuel, and players are left to decide whether they want an orbital refinery, or a ground based mining station - or just carry the deadweight of the ISRU up and down every run, since it's not that heavy. Mine is that heavy and I don't want to move it :D 

Link to comment
Share on other sites

10 hours ago, Nertea said:

Can you provide the craft file, please? I can't really help out if I can't replicate your test environment.

In addition, I do need a list of other mods you have installed, particularly ones that might affect thermal behavior.

I'll have to figure out where to upload craft files, and I'll try it on a clean install with only NFE and KA just to be sure. I might need cryo tanks too.

You can't really see it happening immediately without letting the rocket sit for a while on the pad. Eventually parts start glowing red (could take 15min); or you can turn on thermal debug and watching internal energy and temperature values. Time warp also exacerbates the problem.

I'll get you more info this evening. 

Link to comment
Share on other sites

3 hours ago, eddiew said:

ISRU is just a copy of Squad's, then a couple of simple config edits to rename it, double the scale and multiply the mass by 4 (I think I said 8 above, but part mass should be associated with its surface area rather than volume, since they're not solid lumps of metal). Then copy the ISRU section in the patch from Cryo Tanks, giving it a bit more efficiency.

  Reveal hidden contents

Large ISRU config:



PART
{
name = ISRULarge
module = Part
author = original by Roverdude, tweaked by EddieW

MODEL
{
	model = Squad/Parts/Resources/ISRU/ISRU // standard Squad model
}

scale = 1
rescaleFactor = 2 // original is 1

node_stack_top = 0.0, 1.5, 0.0, 0.0, 1.0, 0.0, 3 // size 3 nodes
node_stack_bottom = 0.0, -1.5, 0.0, 0.0, -1.0, 0.0, 3

TechRequired = advScienceTech
entryCost = 24000
cost = 32000
category = Utility
subcategory = 0
title = Convert-O-Tron 500
manufacturer = Kerbodyne
description = This mobile processing plant can take raw materials containing even trace amounts of oxygen and hydrogen, and crack them into useful fuel products.  When operated by a skilled engineer, you will be able to operate with better efficiency.  These modules operate best at their ideal operating temperatures, and features auto-shutdown in the event of excessive overheating.  Radiators can be used to help manage excessive heat.
attachRules = 1,1,1,1,1

// --- standard part parameters ---
mass = 17 // 4x mass. volume increase is cubic (8x), but mass is more related to the surface area of the part (square of the scale factor = 4x)
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 7
maxTemp = 2000 // = 3500
bulkheadProfiles = size2, srf
tags = convert isru mine mining ore process resource
	MODULE
	{
		name = ModuleOverheatDisplay
	}

	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Lf+Ox
		 StartActionName = Start ISRU [Lf+Ox]
		 StopActionName = Stop ISRU [Lf+Ox]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}


		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.5
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LiquidFuel
			Ratio = 0.45
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 0.55
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}

	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Monoprop
		 StartActionName = Start ISRU [Monoprop]
		 StopActionName = Stop ISRU [Monoprop]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}

		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.5
		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = MonoPropellant
			Ratio = 1
			DumpExcess = false
		 }
	}


	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = LiquidFuel
		 StartActionName = Start ISRU [LqdFuel]
		 StopActionName = Stop ISRU [LqdFuel]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}
		
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.45
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LiquidFuel
			Ratio = 0.9
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}

	
	MODULE
	{
		 name = ModuleResourceConverter
		 ConverterName = Oxidizer
		 StartActionName = Start ISRU [Ox]
		 StopActionName = Stop ISRU [Ox]
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 100000
			key = 750 50000
			key = 1000 10000
			key = 1250 500	
			key = 2000 50	
			key = 4000 0
		}				
		GeneratesHeat = true
		DefaultShutoffTemp = .8
		ThermalEfficiency 
		{
			key = 0 0 0 0
			key = 500 0.1 0 0
			key = 1000 1.0 0 0
			key = 1250 0.1 0 0
			key = 3000 0 0 0 
		}

		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill

		EfficiencyBonus = 1

		 
		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 0.55
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 30
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 1.1
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
	
	MODULE
	{
		name = ModuleAnimationGroup
		deployAnimationName = 
		activeAnimationName = ProcessorLarge_running
		moduleType = Converter
		autoDeploy = true
	}
	

	MODULE
	{
		name = ModuleCoreHeat
		CoreTempGoal = 1000					//Internal temp goal - we don't transfer till we hit this point
		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
		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 = 4000				//At what core temperature do we shut down all generators on this part?
		MaxCoolant = 500					//Maximum amount of radiator capacity we can consume - 50 = 1 small
	}

}

 

Cryo tanks patch:




@PART[ISRULarge]:NEEDS[CryoTanks]
{
	MODULE
	{
		name = ModuleResourceConverter
		ConverterName = LH2
		StartActionName = Start ISRU [LH2]
		StopActionName = Stop ISRU [LH2]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 50000
			key = 750 25000
			key = 1000 5000
			key = 1250 2500	
			key = 2000 2500	
			key = 4000 0
		}
		 
		GeneratesHeat = true
		ThermalEfficiency
		{
			key = 0 0 0 0
			key = 500 0.9 0 0
			key = 1000 1.0 0 0
			key = 1250 0.9 0 0
			key = 1500 0.5 0 0
			key = 3000 0.0 0 0 
		}
		DefaultShutoffTemp = .8
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill

		EfficiencyBonus = 1

		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 1.0
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 50
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LqdHydrogen
			Ratio = 141
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
	MODULE
	{
		name = ModuleResourceConverter
		ConverterName = LH2+Ox
		StartActionName = Start ISRU [LH2+Ox]
		StopActionName = Stop ISRU [LH2+Ox]	 
		AutoShutdown = true
		TemperatureModifier
		{
			key = 0 50000
			key = 750 25000
			key = 1000 5000
			key = 1250 2500	
			key = 2000 2500	
			key = 4000 0
		}
		 
		GeneratesHeat = true
		ThermalEfficiency
		{
			key = 0 0 0 0
			key = 500 0.9 0 0
			key = 1000 1.0 0 0
			key = 1250 0.9 0 0
			key = 1500 0.5 0 0
			key = 3000 0.0 0 0 
		}
		DefaultShutoffTemp = .8
		UseSpecialistBonus = true
		SpecialistEfficiencyFactor = 0.2
		SpecialistBonusBase = 0.05
		ExperienceEffect = ConverterSkill
		EfficiencyBonus = 1

		 INPUT_RESOURCE
		 {
			ResourceName = Ore
			Ratio = 2.0
			FlowMode = STAGE_PRIORITY_FLOW
  		 }
		 INPUT_RESOURCE
		 {
			ResourceName = ElectricCharge
			Ratio = 50
		 }
		 OUTPUT_RESOURCE
		 {
			ResourceName = LqdHydrogen
			Ratio = 24.7412
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
		  OUTPUT_RESOURCE
		 {
			ResourceName = Oxidizer
			Ratio = 1.64942
			DumpExcess = false
			FlowMode = STAGE_PRIORITY_FLOW
		 }
	}
}

(I don't know what I'm doing with regards to heat or temperature modifiers, so those are the same as the 2.5m stock part.)

The latter being a bit BS, because it's delivering fuel as if about 90% of the ore by mass is hydrogen. But then, default is ~45-50% of the ore by mass being hydrogen; which is also mad. If you wanted realism, it would need to be way down in the single digits, and you'd absolutely have to have the refinery on the ground and ship fuel up from the surface. This way makes it practical to have an orbital refinery, which makes docking fuel barges much easier. I wouldn't want to have an LH2 tanker of this size trying to hook up on the ground :) 

For comparison, Squad's ISRU configs make it so that ore -> fuel is a 1:1 weight conversion, thus making it equally efficient to move ore or fuel, and players are left to decide whether they want an orbital refinery, or a ground based mining station - or just carry the deadweight of the ISRU up and down every run, since it's not that heavy. Mine is that heavy and I don't want to move it :D 

Ah ok. On a similar but sort of unrelated note, did you get them into space with or without a fairing? I have a similar design, and even the SpaceY 5m fairing doesn't get big enough. I may just end up having the fairing go down from the top to try to cover everything but the engines on the side. I have a similar setup to your Full Stein Ahead fuel shuttle if that helps haha.

Link to comment
Share on other sites

1 minute ago, HoveringKiller said:

Ah ok. On a similar but sort of unrelated note, did you get them into space with or without a fairing? I have a similar design, and even the SpaceY 5m fairing doesn't get big enough. I may just end up having the fairing go down from the top to try to cover everything but the engines on the side. I have a similar setup to your Full Stein Ahead fuel shuttle if that helps haha.

Space Y Expanded's 7.5 or 10m fairings will get round them - just. Had to adjust them within centimetres :)

That said, you can basically launch anything if you go slow and vertical until 40km and have a massive launch stage with a lot of fins...

uywQkRQ.jpg

Link to comment
Share on other sites

16 hours ago, Nertea said:

Can you provide the craft file, please? I can't really help out if I can't replicate your test environment.

In addition, I do need a list of other mods you have installed, particularly ones that might affect thermal behavior.

Don't have the craft file uploaded, Craft file uploaded. See link below. I did do a clean install, then the following mods, all Near Future tech or dependencies:

  • B9 Part Switch 1.7.1
  • Community Resource Pack 0.6.6.0
  • Community Tech Tree 3.0.3
  • Cryogenic Tanks 0.3.5
  • Deployable Engines Plugin 0.3.5
  • Kerbal Atomics 0.3.5
  • Kerbal Atomics NFE patch
  • Module Manager 2.7.5
  • Near Future Construction 0.7.6
  • Near Future Electrical 0.8.7
  • Near Future Electrical Core 0.8.7

The rocket is very simple. Here's a pic:

bxzBfri.png

Octogirders, Garnet, Emancipator, Octo-Control Module, Mondo tank, and 12x VS-3750s

The thing I notice without going into debug mode, is if you look at the Emanciptor's cooling number, it's already at 324% in the image here. It's still climbing on my machine.

If you turn on thermal debug, you'll see internal temperatures slowly but steadily rising. There's a Core->Part number that is something like over 160,000 on mine, which I'm guessing is some kind of thermal energy transfer from the core into the part. It's slowly dropping, but it's still pumping huge energy into the part, if that's what it means.

More observations:

  1. Time warp up to x100 causes fast overheating, bad. Hitting x1000 or higher, or back down to x1 makes the overheating go back down. At x1 it will continue to climb again, at x1000 it will cool off entirely.
  2. If you throttle the engine down, stage the engine, then time warping up, then back down to x1, while on the ground at least, sets the throttle to the default throttle. Very odd. Didn't check this behavior with other engines. Might be a general KSP bug, since it's whatever the default launch pad throttle is set to.
  3. Without any time warp, after 8-10 minutes of the reactor shutting down, the Internal Temp (as reported by the thermal debug being enabled) was over 3300K on the Emancipator, and continuing to rise. The octo-girder its in was around 750K and rising.

Annnd, I think I got it uploaded:

https://kerbalx.com/Spots/Simple-Kitty-I

It's very simple, so don't think you'll need it, but there it is.

After 15 minutes, the engine and all the radiators are glowing red hot! Should blow any minute!

Edit: Haven't once again tried this in orbit, but last check it was the same behavior. This craft should be able to make orbit fine. Might need a few little additions like a nose-cone or fins, and careful piloting. Or Hyperedit. But the delta-V should be there.

Update: Got it into orbit with the addition of fins and a nose-cone. And switching the tank to just LH2. After the orbital insertion I put the reactor power down to 0% and just let it orbit at about 120km. At T+30min, the reactor part (not core) had gotten up to an internal temp of about 4500K, and finally started cooling off and going back down. So either vacuum is a little more forgiving or something else helped just enough to keep it from blowing up. Still seems odd that it requires 45MW of cooling to avert disaster with the reactor shut down.

Update2: Re-ran on the ground without doing any time-warp or fiddling with it. Like in orbit, after about 30minutes, it started to cool down, just before it reached 4500K. So looks like with the current configuration of 45MW of cooling, the craft will survive with the reactor shut down. But not if you mess with time-warp much, below x1000.

Edited by AmpCat
Link to comment
Share on other sites

@AmpCat I'll take a look but that is really weird. The core should be more or less independent from the internal temp, it's possible that there is an insulation number i need to tweak for very high core heat content values. Here's what I can gather is happening

  1. Reactor gets turned on, goes to 6000K core temp
  2. Reactor gets turned off, core temp slowly bleeds into internal bucket
  3. Reactor is technically a radiator so might be trying to consume the heat from the internal bucket but can't because there's no fuel flow
  4. weird excrements happens

The good thing is that this is probably a pretty simple thing to solve, now that you've given me some very nice descriptions and (hopefully) clear repro steps. 

4 hours ago, AmpCat said:
  • Near Future Electrical Core 0.8.7

This isn't a thing. Is this a CKAN thing? :|

11 minutes ago, HoveringKiller said:

So, if I don't have the reactor on an engine turned on, when I start the throttle will it automatically turn on but take time to get up to temperature correct?

You have to turn the reactor on right now. You can turn it on, set the throttle to 0% and that behaviour will work though.

Link to comment
Share on other sites

Quote

This isn't a thing. Is this a CKAN thing? :|

I feel like I got caught with my hand in the cookie jar. :/ 

Yes, I used CKAN to install the mods. For Near Future and USI stuff I usually do it manually. But yes, there are a couple Near Future <whatever> Core items on CKAN.

Also, back to the original test of running the reactor at 1%, before I got distracted by explosions at 0%:

 Getting odd behavior there too.

  1. Load same craft. Same 'clean' install.
  2. Turn on Emancipator and Garnet
  3. Set throttle to 0%
  4. Stage engine
  5. As soon as Emancipator core temp reaches nominal (18000K?), set the reactor core back to 1%
  6. Wait. As previous tests, much internal heating occurs. Reactor core temperature readout stays at 18000K.
  7. At about 10-15min, I get an 'Overheating, shutting down' message, and reactor shuts down.
  8. Core temperature still reads 18000K, but internal part temperatures are very high. (sorry, didn't write down how high, was over 3000K though)
  9. Can't restart core, keeps telling me it's overheating (which the part is; it's glowing red hot), but reactor core readout is still under 18000K.
Link to comment
Share on other sites

1 hour ago, HoveringKiller said:

So, if I don't have the reactor on an engine turned on, when I start the throttle will it automatically turn on but take time to get up to temperature correct?

If I read correctly, no. You need to start the reactor and stage the engine, but you can then throttle the reactor back to 0%, while still being 'on', at which point the throttle will control it. Here's some more details:

This is assuming you've installed the NFE patch to Kerbal Atomics. To run the engine:

  1. Need to 'Start Reactor' either under the NFE toolbar, or the right click menu on the engine.
  2. Set throttle as desired.
  3. Stage the engine. (I've run into weirdness trying to manually stage the engine with the right click menu, space bar seems to work best for me)
  4. Engine will start delivering thrust based on throttle.

Quick notes, which probably answer your questions:

  1. The reactor core will run at the highest of the reactor core setting or throttle. So if you set the core to 0%, then throttle up, internally it's setting the core to match your throttle. Throttle back down, and the internal core setting goes back down with it.
  2. The exhaust cools the core. This means a  couple things:
    1. If you have the core set high, and throttle low or off, your reactor will start to overheat without the cooling provided by the fuel exiting the craft, unless you have other ways to cool the core.
    2. If you're starting to overheat, use throttle to flush fuel through the core and vent the heat (and probably thrust).
  3. The ISP is based on your core temperature. If the reactor is not at nominal, you'll be using the same amount of fuel, but thrust (and thus, ISP) will be lower while the core gets to nominal temperature. This happens fairly fast (few seconds).
  4. It seems that if the reactor is off, and I throttle up, I consume hydrogen and cool the engine, but I generate no thrust, regardless of reactor temperature. I might be mistaken on this one. I'd have to test this.

Now, if you DON'T have the NFE patch install, it goes like this:

  1. Set throttle as desired.
  2. Stage engine.
  3. Profit!

No core temperature or overheating or anything to worry about. It basically works like any normal engine.

With the NFE Patch, and possibly without (I'm a bit fuzzy on this now), you have to refuel the Enriched Uranium in the reactors like you would any NFE reactor. Which means manually refueling. No automated fuel feeds like other fuels. Except the Emancipator, which normally cannot be refueled unless the NFE patch is installed.

Edit: I see @Nertea already answered. Oh well. That's what I get for being long-winded.

Edited by AmpCat
Link to comment
Share on other sites

@Nertea Okay, installed it and testing.

Case 1: Let engine shut down.

  1. Turn on reactors
  2. Set throttle to 0%
  3. Stage engine
  4. Emancipator overheats, shuts down.
  5. After 20min: Internal temp is about 600K? (I didn't write it down) and still climbing. Reactor core temp only down to 17900K. It's not cooling very fast.

Seems like everything is very similar, just much slower. No idea how long it would take to get to max temp, or what the max will end up being. Not going to let it run longer at the moment.

Case 2: 1% reactor core

  1. Turn on reactors
  2. Set throttle to 0%
  3. Stage engine
  4. Once core temp gets to 18000K, reduce reactor to 1%
  5. After 20min: Internal temp is almost 700K and still rising steadily. Reactor core steady at 18000K

Like the case above, it seems to be behaving as before the patch, only much slower.

Case 3: Let engine shut down, time-warp.

  1. Turn on reactors
  2. Set throttle to 0%
  3. Stage engine
  4. Emancipator overheats, shuts down.
  5. Hit time-warp to x100
  6. Internal temp continues rise until about 810K or so, then it goes back down.

The change seems to have tempered the heat rise during time-warp to manageable levels now. x1000 time-warp still provides instant cooling.

I've not yet tried this with an appropriate amount of radiators. The Emancipator should need 11.2MW at 1%? Is that right?

Also, going out of time-warp turns the throttle up again?!?

Edited by AmpCat
Link to comment
Share on other sites

On 3/26/2017 at 5:38 AM, StahnAileron said:

@Nertea Question about the LF extra patch: Did you really intend to set the KANDL engine from Atomic Age to 3 tons? It's a 0.625m RTG NTR... For (an admittedly odd) comparison, your MX-EXP nuclear reactor from NFE is about 0.3t with fuel.

Should be 0.15, 3.0 is a bit much. Thanks. Will be released in next version. 

@AmpCat

Here's what you're seeing after an exhaustive investigation.

  1. Reactor on
  2. Core heat bucket heats up to optimum from reactor
  3. Core heat bucket additional heat removed by engine exhaust "radiator", everything good.
  4. Engine throttles down, reactor disabled or turned down to zero, no more heat generated.
  5. Radiators continue to remove heat from the Core heat bucket if core is on at low power, keeps it from overheating, everything still good.
  6. Core heat bleeds into the Internal heat bucket (standard core feature, happens on all reactors)
  7. Radiators won't cool the part's Internal heat bucket because the part technically contains a "radiator" already
  8. Part's Internal heat bucket eventually exceeds its temperature level due to heat bleed from the Core bucket
  9. Boom.

Item 7 is the culprit. The cfg change I made there reduces the heat bleed from 10% to 0.5% so makes it so 99.5% of the core heat is removed into the ether instead of 90%. It turns out that because of the large thermal content on the Emancipator core (18000*mass*thermalMassFactor) the standard insulation number is not enough. By the way, the "instant cooling" you see at 1000x time warp is analytics mode heat transfer taking over at that rate. 

There are a number of cfg changes I can make to reduce this happening (increase thermal mass of part so it takes more heat, increase max temp, etc), however they are stopgaps that I will need to address by bugging Squad staff or by something more creative. Future releases will have this cfg band-aid implemented so that it is unlikely to happen in normal gameplay. It's just one of those many bugs that I encounter by pushing the stock heat systems far past their limit, there's about one per financial quarter that I have to solve. 

 

 

 

Link to comment
Share on other sites

I just found a couple of oversights, and here's my discoveries.

PS: I have to apologize in advance that since I really don't know anything at all about modding and confiscating parts, my terminology might be very wrong or stupid.

What I found when fiddling around the files is that the NTRuseLF patch has a few typos and misquotes in its config resulting some engines from supported mods still using LqdHydrogen after applying the patch. Namely, the Fat Mun (NERVAB in the config file) from Lack's SXT had a typo and becomes NERVB (naturally the it doesn't work properly).  In the section dedicated for Atomic Age, the config misquotes the module used for KANDL engine and LightBulb engine, quoting ModuleEngines when those engines actually should be using ModuleEnginesFX.

I don't really know what to do with them other than putting it here to help those who know what they're doing...

Link to comment
Share on other sites

20 minutes ago, Nertea said:

Maybe submit a pull request to fix them? 

Or at least submit a GitHub issue with a nice list of the problems?

I'll make a PR in about 10 min. 

EDIT: PR#21 is up on Github fixing the 3 errors @wb99999999 reported.

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