Jump to content

[0.25]KSP Interstellar (Magnetic Nozzles, ISRU Revamp) Version 0.13


Fractal_UK

Recommended Posts

So, I've been playing around with this mod for a while, and have a couple of comments/questions/queries/concerns.

The refinery electrolysis option does not seem to respect timewarp, not even physwarp. I'm on Val, with plenty of power and space for liquidfuel, and at 1x time warp each refinery (I have two) produces 26.6mT/day, 2x 13.3mT/day, 5x 5.3mT/day, etc. I think you added an extra 1/delta-t term there. It makes it effectively useless - trying to refuel 3000 LiquedFuel at -0.12 would take 7 hours of real time.

A question about waste heat: why does increased levels of waste heat not change the radiator temperature? And what does waste heat even mean? Is it the temperature of the coolant?

It would be neat (although it might be too computationally inefficient) to model waste heat being radiated back to the ship from radiators. As it is, you can put a radiator in the middle of a cluster of fuel tanks and it still works to cool the ship.

On nuclear reactor manual shutdowns, can you add an EVA tooltip for when the reactor is still in the decay heating phase? It was more than a little confusing when I shut down the reactor and it stopped displaying a context menu entirely.

Can you add a version of a nuclear reactor (or a part that surface attaches to a nuclear reactor?) that allows you to shut it down and restart it without requiring a kerbal? (Although it would require a fair bit of electric charge to do so). As it is there's no way to use nuclear reactors in unmanned missions without having it run continuously, which bloats mass requirements.

It would make sense visually for the atmospheric scoop to have a (small) integrated air intake. Or perhaps another version with the other engine model?

And an inline (and radially mass-symmetric) version of the refinery would be appreciated.

Link to comment
Share on other sites

...

Can you add a version of a nuclear reactor (or a part that surface attaches to a nuclear reactor?) that allows you to shut it down and restart it without requiring a kerbal? (Although it would require a fair bit of electric charge to do so). As it is there's no way to use nuclear reactors in unmanned missions without having it run continuously, which bloats mass requirements.

...

Fusion reactors? They are also lighter and can be shut down/restarted and refueled without kerbals.

Link to comment
Share on other sites

Can you add a version of a nuclear reactor (or a part that surface attaches to a nuclear reactor?) that allows you to shut it down and restart it without requiring a kerbal? (Although it would require a fair bit of electric charge to do so). As it is there's no way to use nuclear reactors in unmanned missions without having it run continuously, which bloats mass requirements.

The whole purpose of shutting down the reactor is to replace the fuel, not to save fuel/power on probes. Unless your using a 3.75m reactor with a probe you wont need to refuel them for years.

While im on the topic of lifespans and such. Here is a nice little excel datasheet with lots of data in it for career mode Reactors/gens, plasma thrusters and the DT Vista. It can also be helpful in sandbox, just have to look at parts with all upgrades. It also has some basic calculators for the DT Vista that may come in handy. Its laid out to be printed in portrait mode on 8.5x11 paper, easiest viewing in page layout mode.

KSPI V0.81 Datasheet

Link to comment
Share on other sites

Right, I've finally got this microwave power system functioning how I want it to - namely respecting that all important first law of thermodynamics. Every receiver is now aware of how much power is being received from each satellite by every other receiver meaning that horrible energy amplification effects should no longer be possible. It's a bit difficult to demonstrate this because the power satellite is in a low orbit and moving over the sky quickly but hopefully you can see that as I deploy more receivers we're getting diminishing returns.

The amount of power theoretically available is 69.79% of 61.9 KW or 43.2KW. Whether we get these optimal conditions, however, depends on the angle of reception.

1)Does it work across many vessels or only active one?

2)Going back to multi relays I've made simple BFS-based method for finding transmitters using many relays, pessimistic complexity is O(NR* (NT + 1)) O(Nr * (Nr + Nt) + Nt) *fixed*, for 50 transmitters and 20 relays it will be exactly 1260 calculations in most pessimistic case (receiver can only see one relay, that relay can only see one relay and so on without any relay seeing trasmiters)

I'm not sure if KSP can use LINQ expressions, if not I'll rewrite it. I'll also add information through which relays is the connection going, but generally the algorithm looks like this:


/// <summary>
/// Returns transmitters which to which this vessel can connect, either directly or through relays
/// </summary>
/// <param name="maxHops">Maximum number of relays which can be used for connection to transmitter</param>
protected IEnumerable<VesselMicrowavePersistence> GetConnectedTransmitters(int maxHops = 100)
{
var connectedTransmitters = new List<VesselMicrowavePersistence>();//transmitter to which we can connect
var notConnectedTransmitters = new List<VesselMicrowavePersistence>();//rest


foreach (VesselMicrowavePersistence vmp in vmps) //first check for direct connection from current vessel to transmitters
{
if (lineOfSightTo(vmp.getVessel()))
{
connectedTransmitters.Add(vmp);
}
else
{
notConnectedTransmitters.Add(vmp);
}
}


var relaysRemaining = vrps.Where(relay=>relay.isActive()).ToList(); // active relays which we have not yet checked

var relaysToCheck = relaysRemaining.Where(vrp => lineOfSightTo(vrp.getVessel())).ToList();//relays which will be checked in next iterations, initialized by relays visible from receiver
relaysRemaining.RemoveAll(r => relaysToCheck.Contains(r));//remove them from previous list
int hops = 0; //number of hops between relays

while (hops < maxHops && relaysToCheck.Any())//runs as long as there is any relay to which we can connect and maximum number of hops have not been breached
{
var newRelaysToCheck = new List<VesselRelayPersistence>(); //we will put every relay which is connected to any relay in relaysToCheck here
foreach (var relay in relaysToCheck)
{
var transmittersConnectedToRelay = notConnectedTransmitters.Where(ncs => relay.lineOfSightTo(ncs.getVessel())); //transmitters which are in LOS of checked relay

//add/remove them from list of connected/not connected transmitters
foreach (var sourceConnectedToRelay in transmittersConnectedToRelay)
{
connectedTransmitters.Add(sourceConnectedToRelay);
notConnectedTransmitters.Remove(sourceConnectedToRelay);
}

//if all transmitters are connected we can stop searching
if (!notConnectedTransmitters.Any())
break;

var remainingRelaysInSightOfThisRelay = relaysRemaining.Where(remainingRelay => relay.lineOfSightTo(remainingRelay.getVessel()));//relays which are in LOS of checked relay and have not yet been checked

//add/remove them from list of toCheck/remaining
foreach (var relayInSight in remainingRelaysInSightOfThisRelay)
{
newRelaysToCheck.Add(relayInSight);
relaysRemaining.Remove(relayInSight);
}
}
relaysToCheck = newRelaysToCheck;//we don't have to check old relays so we just replace whole List
hops++;
}
return connectedTransmitters;
}

Edited by Myrten
Link to comment
Share on other sites

Fusion reactors? They are also lighter and can be shut down/restarted and refueled without kerbals.

Fusion reactors require power to start. Or is there some way to start a fusion reactor without a fission reactor?

The whole purpose of shutting down the reactor is to replace the fuel, not to save fuel/power on probes. Unless your using a 3.75m reactor with a probe you wont need to refuel them for years.

Seeing as it takes over 4 years for a transfer from Jool to Eeloo alone, yes, I do wish to be able to shut down a fission reactor to conserve fuel.

Link to comment
Share on other sites

Fusion reactors require power to start. Or is there some way to start a fusion reactor without a fission reactor?

Sure... make sure you have the required start energy prior to launch. I usually just attach a fission gen/reactor with a decoupler. I let it charge up enough, start the fusion reactor then detach the fission.

Seeing as it takes over 4 years for a transfer from Jool to Eeloo alone, yes, I do wish to be able to shut down a fission reactor to conserve fuel.
The smallest fission reactor running at 30% power will last something like... 37 years.
Link to comment
Share on other sites

Fusion reactors require power to start. Or is there some way to start a fusion reactor without a fission reactor?

You could use a microwave receiver to jumpstart a fusion reactor. That would require some initial setup, however.

Link to comment
Share on other sites

The smallest fission reactor running at 30% power will last something like... 37 years.

9500+ days for nuclear/fission (more than the others)

Not upgrading any of the reactors gives you the longest lifespan. Adding a port and making a lifter that can bring more fuel from Kerbin is not that hard. I haven't even gotten to the logistics of mining locally.

Link to comment
Share on other sites

Fusion reactors require power to start. Or is there some way to start a fusion reactor without a fission reactor?

...

Seeing as it takes over 4 years for a transfer from Jool to Eeloo alone, yes, I do wish to be able to shut down a fission reactor to conserve fuel.

Either start in on launchpad and never shut down (btw you can still restart it after accidental shutdown if you have few megajoules left), or use smallest fission reactor to start/stop them when needed. D/T tanks are very lightweight btw, and single tank containts a lot of fuel (4*fuel storage of 1.25m reactor).

...

I recently used the same craft to fly to eeloo and back to kerbin, and than dres->jool moons->kerbin. It uses 8*1.25m fusion reactors (which i shutdown during transfers) to power DT Vista and one 0.625 fission reactor. Fission reactor still has ~40% fuel left and fusion reactors + engine used only ~20 units of deiterium/tritium overall.

p.s. those DT Vista + 8 fusion reactors combination seems a bit overpowered, reactors are lightweight enough for it to be able to lift of from kerbin with all supplies (+lifesupport) and lander for eeloo expedition.

Edited by Lightwarrior
Link to comment
Share on other sites

Fusion reactors require power to start. Or is there some way to start a fusion reactor without a fission reactor?

You could stick a microwave receiver on the ship to provide startup power.

Seeing as it takes over 4 years for a transfer from Jool to Eeloo alone, yes, I do wish to be able to shut down a fission reactor to conserve fuel.

Even when upgraded the 1.25m reactor will give you over 7 years of power and over 20 years of power when un-upgraded assuming you can run at 30% power all the way.

1)Does it work across many vessels or only active one?

It will work over all physics loaded vessels.

2)Going back to multi relays I've made simple BFS-based method for finding transmitters using many relays, pessimistic complexity is O(NR* (NT + 1)), for 50 transmitters and 20 relays it will be exactly 1260 calculations in most pessimistic case (receiver can only see one relay, that relay can only see one relay and so on without any relay seeing trasmiters)

I'm not sure if KSP can use LINQ expressions, if not I'll rewrite it. I'll also add information through which relays is the connection going, but generally the algorithm looks like this:

KSP can indeed use LINQ but I'm afraid all the changes I've made have killed the algorithm. I shall have a look at writing an updated version that can handle more relays. That said, BFS is essentially what I implemented already, only with a maximum depth of 2. In any case, the worst possible case of the total search is the case in which the only connectable relay is always the last in the list, at which point you have NT*NR*NR-1*NR-2*....*2*1 = NT*NR! (since the connection order is important). Generically, BFS is O(bd) but this search is at least constrained by the need to never revisit the same relay.

Truncating the search at Y relays reduces the complexity to NT * NR! / NR-Y!

p.s. those DT Vista + 8 fusion reactors combination seems a bit owerpowered, reactors are lightweight enough for it to be able to lift of from kerbin with all supplies (+lifesupport) and lander for eeloo expedition.

The DT Vista is undeniably OP as an engine, it is conceivable that it would be capable of making an interstellar voyage to another star system given sufficient time. I cannot balance that engine based on its thrust and specific impulse performance without changing it to totally misrepresent the concept of that engine as it was conceived in real-life. The only way I can hope to balance it is with the radiation effects, which stops you using it from a lot of utility purposes (landing at your manned bases, docking at manned space stations, etc.) at which point it constrains your design - either your ship loses functionality or you have to add other parts to restore that functionality.

Using it to lift-off from Kerbin always requires a good bit of cleanup to avoid frying Kerbals on the ground around KSC.


In other news, I believe 0.82 is ready and complete with bug fixes aplenty. Assuming there are no last minute issues, I'll package this up for a release tomorrow.

Edited by Fractal_UK
Link to comment
Share on other sites

...

The DT Vista is undeniably OP as an engine, it is conceivable that it would be capable of making an interstellar voyage to another star system given sufficient time. I cannot balance that engine based on its thrust and specific impulse performance without changing it to totally misrepresent the concept of that engine as it was conceived in real-life. The only way I can hope to balance it is with the radiation effects, which stops you using it from a lot of utility purposes (landing at your manned bases, docking at manned space stations, etc.) at which point it constrains your design - either your ship loses functionality or you have to add other parts to restore that functionality.

Using it to lift-off from Kerbin always requires a good bit of cleanup to avoid frying Kerbals on the ground around KSC.

...

Yes, and i does not complain here, its interesting engine with it pros and cons. But those fusion reactors removed one problem - requirement to use very heavy 3.75m reactor or antimatter. This engine is ideal for multi use "transfer stage". Sure it can also be used on landers, but leads to really ugly designs because of its size.

BTW i usually have no kerbals at KSC, i move all labs, reactors and kerbals 4-5km away from launch pad to avoid additional lags (especially annoying when you try to land spaceplane and all those vessels start to load causing freezes), so no problems here.

Link to comment
Share on other sites

It will work over all physics loaded vessels.

This means only vessels in close proximity (like 10km) to each other doesn't it?

KSP can indeed use LINQ but I'm afraid all the changes I've made have killed the algorithm. I shall have a look at writing an updated version that can handle more relays. That said, BFS is essentially what I implemented already, only with a maximum depth of 2. In any case, the worst possible case of the total search is the case in which the only connectable relay is always the last in the list, at which point you have NT*NR*NR-1*NR-2*....*2*1 = NT*NR! (since the connection order is important). Generically, BFS is O(bd) but this search is at least constrained by the need to never revisit the same relay.

Truncating the search at Y relays reduces the complexity to NT * NR! / NR-Y!

I'm a bit sleepy now so I'll take look at this tomorrow, hopefully with 0.82 :)

Good idea might be also to put line of sight results for all possible R x T combinations into two-dimensional bool array and use it later on in BFS.

BTW

I have no idea if it's scientifically plausible but being able to limit Microwave Receiver's power to the level at which ship can get rid of waste heat would be great from gameplay perspective.

Link to comment
Share on other sites

Yes, and i does not complain here, its interesting engine with it pros and cons. But those fusion reactors removed one problem - requirement to use very heavy 3.75m reactor or antimatter. This engine is ideal for multi use "transfer stage". Sure it can also be used on landers, but leads to really ugly designs because of its size.

Fusion reactors will not power the DT Vista. Unless you use alot of them. If you look at the KSPI 0.81 Datasheet I posted you will see that the 1.25m Fusion which is the largest only produces 313.1MW fully upgraded. DT Vista requires a constant 2.5GW.

Link to comment
Share on other sites

Fusion reactors will not power the DT Vista. Unless you use alot of them. If you look at the KSPI 0.81 Datasheet I posted you will see that the 1.25m Fusion which is the largest only produces 313.1MW fully upgraded. DT Vista requires a constant 2.5GW.

He's using 8 of the fusion reactors (per previous post). Gives around 2504.6 MW. Between that and all the MJ he'd have stored up prior to making a burn, there shouldn't be any issues providing the Vista its 2.5 GW for the burn before the 8 fusion reactors drain the stored up supply of power to keep them running.

Link to comment
Share on other sites

He's using 8 of the fusion reactors (per previous post). Gives around 2504.6 MW. Between that and all the MJ he'd have stored up prior to making a burn, there shouldn't be any issues providing the Vista its 2.5 GW for the burn before the 8 fusion reactors drain the stored up supply of power to keep them running.

Heat production on that's probably a beast though...

Link to comment
Share on other sites

He's using 8 of the fusion reactors (per previous post). Gives around 2504.6 MW. Between that and all the MJ he'd have stored up prior to making a burn, there shouldn't be any issues providing the Vista its 2.5 GW for the burn before the 8 fusion reactors drain the stored up supply of power to keep them running.

If he is just spamming reactors that works, as it should, fusion is supposed to be one step up from fission but less powerful then AM. So if your spamming them then there is nothing that can be done, there is no limit to the number of reactors, might hit a part limit at some point thou;)

A 2.5 Fussion would probably be something in the area of 3+GW, and 3.75 would be around 15.5GW....

I will add the MW/T to my datasheet, to see how it all looks.

EDIT.........................

OK, added mass of Reactor+Gen and calculated MW/T.

KSPI DataSheet Updated.

Edited by Donziboy2
Link to comment
Share on other sites

Fractal: I'm encountering a fairly interesting bug that I have been able to replicate. Place an aluminum/oxy rocket anywhere on your craft and leave it inactive, then place another one on the bottom and stage that one. What I have observed is that the active aluminum/oxy rocket will draw aluminum from ANY other rocket. I'm guessing this is because the rockets are also tanks? Curiously it does not draw the oxidizer, just the aluminum.

Sorry if this is confusing, but here is a picture:

38v1ltwl.png

The aluminum/oxy rocket is separated by a stock decoupler which is NOT fuel crossfeed enabled but the aluminum fuel is not respecting the crossfeed and drawing aluminum from the whole vessel. This makes it a nightmare to stage because I cannot manually move aluminum back up so I have to disable the flow on each upper stage engine if I want to use a few aluminum/oxy rockets as throw-away staging boosters in a lower stage (which they are pretty good for).

I would like to see this, too.

I second this. Perhaps some kind of right-click menu in the VAB like modular fuels mod and KAS have? Once the upgrade is unlocked you can build it with whichever core suits your mission profile.

Link to comment
Share on other sites

Fractal: I'm encountering a fairly interesting bug that I have been able to replicate. Place an aluminum/oxy rocket anywhere on your craft and leave it inactive, then place another one on the bottom and stage that one. What I have observed is that the active aluminum/oxy rocket will draw aluminum from ANY other rocket. I'm guessing this is because the rockets are also tanks? Curiously it does not draw the oxidizer, just the aluminum.

The behavior you are seeing is a result of aluminum being shipwide flow like xenon or monopropellant. The oxidizer in the AL hybrid rockets is just the stock oxidizer, so it is using the normal fuel flow model you are used to. Aluminum has been like this for a while now. At least 0.7.4 if I remember correctly.

Link to comment
Share on other sites

Fractal: I'm encountering a fairly interesting bug that I have been able to replicate. Place an aluminum/oxy rocket anywhere on your craft and leave it inactive, then place another one on the bottom and stage that one. What I have observed is that the active aluminum/oxy rocket will draw aluminum from ANY other rocket. I'm guessing this is because the rockets are also tanks? Curiously it does not draw the oxidizer, just the aluminum.

Sorry if this is confusing, but here is a picture:

http://i.imgur.com/38v1ltwl.png

The aluminum/oxy rocket is separated by a stock decoupler which is NOT fuel crossfeed enabled but the aluminum fuel is not respecting the crossfeed and drawing aluminum from the whole vessel. This makes it a nightmare to stage because I cannot manually move aluminum back up so I have to disable the flow on each upper stage engine if I want to use a few aluminum/oxy rockets as throw-away staging boosters in a lower stage (which they are pretty good for).

You can fix this fairly easily. Open GameData/WarpPlugin/Resources/ResourcesNuclear.cfg in your favorite text editor (I use emacs). Then find the Aluminum resources and change the flowMode from ALL_VESSEL to STACK_PRIORITY_SEARCH.

Link to comment
Share on other sites

Ah, good to know its an easy fix. Hopefully Fractal can slip that in with the next update

I want to say that this was done on purpose so that the science lab and now the refinery can produce aluminum without having to mess with reverse fuel lines like you do with kethane. That was my impression from previous posts Fractal's made. Either way, if you want to change it to work like LF and Oxidizer, like db48x said, it's a very simple change.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...