Jump to content

[Abandoned] SimpleNuclear - Unified, Simplified Multi-mod nuclear energy v1.0


MatterBeam

Recommended Posts

1 hour ago, Psycho_zs said:

If you want rapid heating, then TemperatureModifier should be higher at low end.

Let's say you have ThermalEfficiency curve with points '0 0' and '800 10'. At 4K it would be 0.5% of 10%, so 0.05% or 0.0005 coefficient. Corresponding TemperatureModifier at 4K should be nominal multiplied by 2000 for core to produce the same amount of heat while completely cooled down. In theory.

 

I'm going forward using empirical data, since the calculated waste heat would number in the 767MW/1534000000000 temperaturemultiplier units.

I've got the solid core and gasseous core behaving correctly now. The only problem comes with the interactions between time warp and radiators. 

For example, placing two large deployable radiators on the gaseous core in physics warp stabilizes it at 360K. At 100x timewarp, it reaches the realistic 1350K I was aiming for. 1000x stops thermal calculations up to 10000x.... but returning from 10000x leaves all parts very cool, but the reactor core loaded with energy. As in, it jumps to 10000K+. If the 4000K shutoff wasn't in place, that heat would transfer to the part and make everything explode. I had to mash the 'start reactor' button for the core heat to dissipate and for the regular heat mechanisms to take over. 

Link to comment
Share on other sites

On 8-2-2016 at 4:46 AM, MatterBeam said:

I think I'm going to integrate Tweakscale instead of spamming 3 resized versions of every model I intend to include.

This frees me up to diversify the types of reactor available. I've settled on the following distribution:

-Solid Fission: Great for landers. It has a low temperature, so it doesn't need much radiators. It has good power-to-weight, meaning it weighs less for the same output compared to other reactors, and is quite compact. It also has good crash tolerance. Produces thermal energy.

-Gaseous Fission: Very high temperatures and low power density, but amazing performance. Great for orbital maneuvers, but should not be landed. Needs large amounts of thermal support. Produces thermal energy.

-Fission Fragment: Very low temperatures and low output. Produce electric energy. Perfect for small probes.

-Pulsed Fusion: High temperatures and moderate waste heat. Lightweight, but bulky and requires an electric current input. Produces thermal energy.

-Tokamak fusion: Extreme temperatures and high heat. Low power density but amazing performance. Produces electric energy.

In general I like your sheme a lot. The only point of critisim I would like to make is you seem to confuse Core temperature with Heat output. When it comes the power production, the higher the core temperature, the more efficient  power production willl be and by extension the less radiators you need. For Solid Fission, this means you need more radiators in comparison with other radiators.

Edited by FreeThinker
Link to comment
Share on other sites

On 8-2-2016 at 4:46 AM, MatterBeam said:

I think I'm going to integrate Tweakscale instead of spamming 3 resized versions of every model I intend to include.

This frees me up to diversify the types of reactor available. I've settled on the following distribution:

I agree this is potentialy, a good thing, however there is a caveat, all used partmodules must support it (scaling) which is often not the case. THerefore I your case I would advice to not use tweakscale.

Edited by FreeThinker
Link to comment
Share on other sites

On the note or tweakscale, USI had a full range of reactors already, near future electrical has five sizes but I'm not certain what their stats are.

 

If I understand the core of this mod would be the interstellar reactors but with a unified core and size selection. 

 

So having said that, unless the balance  between mods is completely different, in which case I guess you could just use cost or technology tree to justify the difference, how will you handle a bunch of reactors with the same size and similar stats?

 

If I could make a suggestion, I like how with mods I can use the right click menu to toggle between cargo containers or fuel tank visual styles.

 

Now I know they're texture swaps vs model swaps. But since this is being written to use module manager to deal with stuff, i know module manager can have dependencies as triggers.

 

So if you have 3 solid core reactors with the 2.5m size range, would you keep them all as separate parts with tweaked stats, or just make them one part with a VAB selectable model swap?

 

Also, although it would not look as visually  intereating, is there a possibility for a sealed rector module for simplifying ship building? Ino other words, instead of a raw reactor you need to put in a cargo bay, interstage, fairing, or other housing, a complete modular version encased in a protective housing  (so it may look like say a hitchhiker can) with radiators integrated into the protective housing suitable to cool the unit.  In other words, a plug and play rocker stack reactor.

Maybe it would even be a right click menu option, but it would add to the weight and the cost of the reactor,  and maybe as a downside it can't run as hot/efficient  due ton the protective housing or needing to use more of its power output for self cooling.

But this would be ideal for building a low parts count deployable reactor module for a space station or even a landable version for a mun base.

 

I'd be willing to chip in a model if you think the idea has merit.

Link to comment
Share on other sites

13 minutes ago, Buster Charlie said:

So having said that, unless the balance  between mods is completely different, in which case I guess you could just use cost or technology tree to justify the difference, how will you handle a bunch of reactors with the same size and similar stats?

Actualy, KSPI-E does try to adres the power inbalance issue between KSPI and NFE, which is called NFE/SETI mode. In this mode. reactors  only  produce 0.2% of what a reactor is cable of. WHenever NFE/SETI  is installed, KSPI-E lowers all power production and power consumption of it's engines.

Edited by FreeThinker
Link to comment
Share on other sites

1 minute ago, FreeThinker said:

Actualy, KSPI-E does try to adres the power inbalance isue between KSPI and NFE, which is called NFE/SETI mode. In this mode. reactors  only  produce 0.2% of what a reactor is cable of. WHenever i detect NFE is installed, it lower all power production and power consumption of it's engines.

For something like USI, it's reactors are probably balanced against its utiltities, but I haven't really compared the different mods.

 

Link to comment
Share on other sites

USI and NFE are pretty close, due to coordination between RoverDude and me. It is an important point though - you will indeed need to work balance a bit.

Your converter shouldn't behave like that though. It's a bit mystifying - there shouldn't be any equilibirum achieved as the core should heat until the temperature goal and then start being cooled.

Link to comment
Share on other sites

2 hours ago, FreeThinker said:

In general I like your sheme a lot. The only point of critisim I would like to make is you seem to confuse Core temperature with Heat output. When it comes the power production, the higher the core temperature, the more efficient  power production willl be and by extension the less radiators you need. For Solid Fission, this means you need more radiators in comparison with other radiators.

I think this is true if all reactors tried to achieve the same power output, but in this case, they do not. A higher temperture 800MW reactor generates less waste heat, a lower temperature 800MW reactor is less efficient.In general, I try to make lower temperature reactors also produce less power, so that they follow a more intuitive pattern for the player.

2 hours ago, Buster Charlie said:

For something like USI, it's reactors are probably balanced against its utiltities, but I haven't really compared the different mods.

 

USI reactors produce electric charge, so their output has to be scaled against the 1 to 100ec/s consumption of most parts. USI Core's 2.5m reactor produces 1550ec/s, enough to power several colonies, but if 1ec/s:1kW, it is actually very weak.

1 hour ago, Nertea said:

USI and NFE are pretty close, due to coordination between RoverDude and me. It is an important point though - you will indeed need to work balance a bit.

Your converter shouldn't behave like that though. It's a bit mystifying - there shouldn't be any equilibirum achieved as the core should heat until the temperature goal and then start being cooled.

The converters are instructed to dump excess, so they are continuously on.

Link to comment
Share on other sites

4 minutes ago, Buster Charlie said:

I haven't been able to get an answer ths, if I have solar power and a reactor, is thee a way to make the reactor throttle  down if the solar is supplying enough power?

For balance purposes, the reactors do not produce electric charge directly, and for simplicity's sake, they do not throttle down.

Link to comment
Share on other sites

Okay, I think i see where you are going,  never used interstellar, but you're using the separate reactor / heat exchange /generator model vs a all in one uranium powered electric generator  model?

 

So you'll balance this against the other mods by making the reactors more powerful, at the expense of requiring extra electric generator module attached?

Do these reactors have a safety shutdown if the core temp reaches a threshold?

I'm coming from a different experience but im happy if your mod can bridge the gap and provide a unified framework for people who use different mods.

Link to comment
Share on other sites

Just now, Buster Charlie said:
Just now, Buster Charlie said:

Okay, I think i see where you are going,  never used interstellar, but you're using the separate reactor / heat exchange /generator model vs a all in one uranium powered electric generator  model?

 

So you'll balance this against the other mods by making the reactors more powerful, at the expense of requiring extra electric generator module attached?

Do these reactors have a safety shutdown if the core temp reaches a threshold?

I'm coming from a different experience but im happy if your mod can bridge the gap and provide a unified framework for people who use different mods.

Okay, I think i see where you are going,  never used interstellar, but you're using the separate reactor / heat exchange /generator model vs a all in one uranium powered electric generator  model?

 

So you'll balance this against the other mods by making the reactors more powerful, at the expense of requiring extra electric generator module attached?

Do these reactors have a safety shutdown if the core temp reaches a threshold?

I'm coming from a different experience but im happy if your mod can bridge the gap and provide a unified framework for people who use different mods.

Yes, I picked up upon @FreeThinker's continued development of KSPI-E and his reasoning for maintaining the MJ system. Mine isn't so complex, but is the same in spirit.

The thermal reactors put out MWt. The electric reactors produce MWe and electric charge. There are electric converters, that use MWt and output electric charge, but do not produce heat, to simplify things for the player.

All reactors have a cut-off temp equivalent to their critcal failure temperature. However, heat leaking from the core to the part will eventually make it explode, so you have to use radiators for the more powerful reactors. One extra mechanic for more advanced or risk-taking players is the over-power mechanic. For example, the Gaseous Core reactor operates best when its core temperature is 3000K, and won't go below this temperature. However, carefully balancing radiators will allow it to reach 3600K and output 20% more energy. The risk is that it overheats into 3600K+, either quickly, causing a shutdown, or slowly, causing the part to explode.

Link to comment
Share on other sites

1 minute ago, MatterBeam said:

Yes, I picked up upon @FreeThinker's continued development of KSPI-E and his reasoning for maintaining the MJ system. Mine isn't so complex, but is the same in spirit.

The thermal reactors put out MWt. The electric reactors produce MWe and electric charge. There are electric converters, that use MWt and output electric charge, but do not produce heat, to simplify things for the player.

All reactors have a cut-off temp equivalent to their critcal failure temperature. However, heat leaking from the core to the part will eventually make it explode, so you have to use radiators for the more powerful reactors. One extra mechanic for more advanced or risk-taking players is the over-power mechanic. For example, the Gaseous Core reactor operates best when its core temperature is 3000K, and won't go below this temperature. However, carefully balancing radiators will allow it to reach 3600K and output 20% more energy. The risk is that it overheats into 3600K+, either quickly, causing a shutdown, or slowly, causing the part to explode.

Sounds great, really love the attention to detail and I like how you're dedicated to giving space reactors their own special love. When I first got into ksp and mods, it's really not so cutaneous dry if you want something more reliable than solar and a lot of batteries or a fuel cell. So it's very cool that new players will have a easy time to aquire reactors right away with this mod.

Link to comment
Share on other sites

I've been experimenting for hours with the temperature modifier settings, and hit the following three problems:

-My inputs cannot be converted into part equilibrium temperature in a reliable way. I can only test them experimentally.

-I cannot balance my parts by giving them exact radiator requirements. As far as I know, radiator requirement is given by TemperatureModifier*efficiency*CoreToPartRatio.

-Timewarp gives unexpected results. Currently, my reactors' cores rapidly reach a temperature about 100K+ above half their temperature goal, then sit there. Time warping from 0x to 100x does not change this temperature. If we time warp to x1000, the core temperature rapidly shifts to a value about 50K+ above their temperature goal, but the rest of the part cools to background temp....

I'm going to keep development on hold until RoverDude passes by and clears up the fog around his Thermal Management system.

There's always the option to ditch the stock system and move onto using @Nertea reactors as the basis of my mod, since he seems much more available for help.

Edited by MatterBeam
Link to comment
Share on other sites

I'm pretty sure you're doing something wrong. The stock system is very simple at heart, it only gets complex when you poke around with plugins. You want to avoid equlibrium temperatures at all costs; instead use the core goal temperature, which will ensure that the core gets to that temperature and then will only heat up past that if there is not enough radiator capacity. Needed radiator capacity is simple: X kW are generated by the core, so X kW of capacity are needed to remove heat. 

Lets examine SolidFission.cfg.

You set a CoreTempGoal of 3000. That means no radiators will be used until the core hits 3000K. However, your TemperatureModifier specifies that heat output at 2000K is zero! So you'll never hit the nominal temperature at all, and radiators will never be used. That's going to cause you problems for sure.

Another point: you're generating, at a core temp of 1000K, 800 kW of heat (40000/50). You're also generating 765 units of MWt at this point. This is quite a mismatch - you're adding 800 kW of heat to the vessel while making 765,000 kW of useable heat available to generators and stuff. Shouldn't you be adding the same amount of MWt as you are adding to the vessel? And if you do go that route, I will tell you that putting GW-level heat fluxes into the core heat system will break it. Irrevocably. 

Link to comment
Share on other sites

27 minutes ago, Nertea said:

I'm pretty sure you're doing something wrong. The stock system is very simple at heart, it only gets complex when you poke around with plugins. You want to avoid equlibrium temperatures at all costs; instead use the core goal temperature, which will ensure that the core gets to that temperature and then will only heat up past that if there is not enough radiator capacity. Needed radiator capacity is simple: X kW are generated by the core, so X kW of capacity are needed to remove heat. 

Lets examine SolidFission.cfg.

You set a CoreTempGoal of 3000. That means no radiators will be used until the core hits 3000K. However, your TemperatureModifier specifies that heat output at 2000K is zero! So you'll never hit the nominal temperature at all, and radiators will never be used. That's going to cause you problems for sure.

Another point: you're generating, at a core temp of 1000K, 800 kW of heat (40000/50). You're also generating 765 units of MWt at this point. This is quite a mismatch - you're adding 800 kW of heat to the vessel while making 765,000 kW of useable heat available to generators and stuff. Shouldn't you be adding the same amount of MWt as you are adding to the vessel? And if you do go that route, I will tell you that putting GW-level heat fluxes into the core heat system will break it. Irrevocably. 

The 3000 is a typo, it was corrected to 1000K.

Here's my pretty much finished SolidFission config:

PART
{
name = SolidFission
module = Part
author = ZZZ, Fractal

mesh = Nuke_Reactor_Jr.mu
rescaleFactor = 3

node_stack_top = 0.0, 0.25, 0.0, 0.0, 1.0, 0.0, 1
node_stack_bottom = 0.0, -0.25, 0.0, 0.0, -1.0, 0.0, 1

TechRequired = basicScience
entryCost = 50000
cost = 10000
category = Utility
subcategory = 0
title = Solid Fission Reactor
manufacturer = SimpleNuclear
description = A fission reactor generating thermal energy. It contains solid rods of Uranium cooled by molten lithium salts. Energy is extracted by a heat exhanger. It is dense and durable, and requires very little cooling, making it best suited for rockets intended for atmospheric re-entry.
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,1,1,0

mass = 8.5
dragModelType = default
maximum_drag = 0.2
minimum_drag = 0.3
angularDrag = 2
crashTolerance = 30
breakingForce = 4000
breakingTorque = 4000
maxTemp = 1200
RESOURCE
{
	name = MWt
	amount = 0
	maxAmount = 2000
}
MODULE
{
	name = ModuleResourceConverter
	ConverterName = Reactor
	StartActionName = Start Reactor
	StopActionName = Stop Reactor
	INPUT_RESOURCE
	{
		ResourceName = ElectricCharge
		Ratio = 0.1
	}
	OUTPUT_RESOURCE
	{
		ResourceName = MWt
		DumpExcess = true
		Ratio = 765		
	}
	OUTPUT_RESOURCE
	{
		ResourceName = ElectricCharge
		DumpExcess = true
		Ratio = 0.1		
	}
	AutoShutdown = false
	TemperatureModifier
		{
			key = 0 765000
			key = 400 765000
			key = 800 765000
			key = 1000 100000	
			key = 1400 100000
			key = 2000 0
		}
	GeneratesHeat = true
	ThermalEfficiency 
	{
		key = 0 0.3 0 0
		key = 400 0.6 0 0
		key = 800 0.8 0 0
		key = 1000 1.0 0 0 
		key = 1200 1.2 0 0
		key = 1400 0.8 0 0
		key = 2000 0.6 0 0
		}		
	}		
	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.2			//What percentage of our core energy do we transfer to the part
		HeatRadiantMultiplier = 0.1		//If the core is hotter, how much heat radiates?
		CoolingRadiantMultiplier = 0		//If the core is colder, how much radiates?
		HeatTransferMultiplier = 1			//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 = 2000				//At what core temperature do we shut down all generators on this part?
		MaxCoolant = 5000					//Maximum amount of radiator capacity we can consume - 50 = 1 small
	}
	}
RESOURCE
	{
		name = ElectricCharge
		amount = 0
		maxAmount = 1
	}
MODULE
    {
        name = TweakScale
		type = stack
        defaultScale = 2.5
    }
}

It heats up quickly to 1000K, while the part internals lag behind. Without any cooling, it is inefficient and will eventually explode. With little cooling, it will not explode and maintain superefficiency. Too much cooling and you'll still get the nominal 100% output. 

I've been testing empirically, with different values for the temperature modifier, and my conclusions are that there is no way I can ask players to add 100 large deploying radiators to deal with the heat, of say, a 4GW 3.75m scale Tokamak reactor. 

However, dropping the power levels to what can be handled by the stock heating system (kW-scale), the nuclear reactors will be extremely non-competitive with chemical and direct-thermal engines, like the NERV. My current balance runs on specific power and power density, with operating temperature as a extra balancing factor.

For example, if I dropped the Solid Fission reactor from 90MW/ton to 90kW/ton, I'd be able to use a very realistic 90000 temperature modifier... but it'd be even less competitive than the actual 78MW/ton NERV.  

Link to comment
Share on other sites

Based on the low temp behavior of the Solid Fission Reactor, and runaway high-temp behavior of the Gas Core Reactor, I managed to mass produce and test the remaining reactors. All I've got left to do is tweakscale integration, action menu descriptions and part information in the VAB.

I've moved onto engines, in other words, the 'fun' part. 

For now, I'm working on a simple rocket nozzle and jet. The nozzle works fine, but the turbojet consumes too little MWt.

Edited by MatterBeam
Link to comment
Share on other sites

Yes!

Updated to v0.5
We've left alpha, and are definitely in the Beta phase.

The ThermalRocketNozzle and ThermalTurboJet now both work perfectly. I will now move on to engines consuming MWe.

I have however, hit two problems:

-KerbalEngineer cannot calculate the deltaV of engines running on MWt, since it considers the transient, renewable supply of MWt as a physical propellant. MechJeb does these calculations perfectly fine thanks to its 'ignoreForIsp' feature.

-Time warping to x100000 will mess up thermal calculations. Entering such high time warps with a reactor on will cause the thermals to flicker between 'cold' and 'maximal heat'. Exiting the time warp causes the reactor to shut down and all temperatures to flicker at about +/-150K of 'cold' temperatures. Re-starting the reactor causes hundreds of hour's worth of thermal energy to be dumped into the reactor. Spamming the restart button eventually causes the reactor to settle into the maximal equilibrium state. I tested with the Solid Fission reactor, designed to never overheat (it stabilizes at 1885/200K temp). The problem is, other reactors with lower thermal margins will likely explode before radiators kick in.
I believe @Psycho_zs,encountered this problem and @Nertea solved it with some .dll magic.

Link to comment
Share on other sites

v0.6 flashes by, v0.7 now.

Small fixes. Electric rocket FX are broken for now, will be replaced by something stock. I'll have to balance the Pulsed Fusion reactor a bit better. So far, the combination of pulsed fusion and MHD generator allows for greater deltaV than the tokamak, at the cost of about a quarter of the thrust to weight, but the ratio is skewed too hard towards the pulsed fusion setup.

Will need testers!

Link to comment
Share on other sites

I fixed the MET Engine's effects and balanced it's Isp to match a 700MW output. As soon as a get a tester to confirm that everything works as it should on their end, I should have a beta 'ready for release' version. KerbalStuff has been down for most of the day, so I can't upload v0.8 right now.

For those who want to help me in testing, here's a 4shared download link: http://www.4shared.com/zip/f_pgQ5oace/SimpleNuclearv08.html

Edited by MatterBeam
Link to comment
Share on other sites

Before I go ahead for a release, what do you think about adding an Uranium resource system? The 750MW reactors would consume (at a rate of 10TJ/kg) about 250kg in a year.

Maybe not in the initial release or the 'core package', but as a set of MM files, maybe when it detects SimpleConstruction too?

The reasoning behind this is that I was watching a KSP stream of a new career last night, and realized that the presence of several resources gives several resource maps, leading to the need for several bases with a transport system set up between them. With a uni-resource career, only one base per planet is needed.

Also, the mod's size is currently 5MB. I have a bit of room to add a few engines from Near Future, but maybe not the reactors.

Edited by MatterBeam
Link to comment
Share on other sites

I've been doing some extra testing, and I've decided to organize future content into three categories:

-Core package: The basic self-sufficient mod that provides 5 reactors and 3 engines.
-Expansion package: This adds functionality to the mod, moving away from the 'simple' tag and into deeper gameplay.
-Integration package: A mod containing MM files that convert other mod parts into the SimpleNuclear system.

An example of a core package would be the currently available downloads for SImpleConstruction and SimpleNuclear. An expansion package would be a mod that adds the Uranium resource to the reactors, and multi-fuel capability to the engines. An integration package would convert Near Future reactors and engines to the SimpleNuclear system.

Thoughts?
 

Link to comment
Share on other sites

This mod definitely appeals to me, as I have all three mods installed, and have found myself overwhelmed by using some of the more complex ones (to the point of not using them entirely). Even reading through this thread made me realize how much I need something like this.

Regarding your last post: so like break it out into three different folders for separate installs? Honestly, I feel like that might be more work for you than would be necessary or more confusing for people. But running with your idea, would the 'Core Package' basically be your own version of what we already get in the three separate mods? If so, it feels like reinventing the wheel, but if you have a strong stylistic direction you want to take it in...eh, why not. Personally, the 'Integration Package' sounds more my speed, since I'd rather not replace anything outright from the mods, just, you know, get them talking a little better.:P

Either way, whatever direction you take it in, you've piqued my interest.

Cheers.

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