Jump to content

[1.0.5] TAC Life Support v0.11.2.1 [12Dec]


TaranisElsu

Recommended Posts

I went through a save game file the other night converting from 1u=1day to your modified values to save Jeb from asphyxiation on his way to minmus!

Yikes, glad you got that sorted.

You keep referring to STP and gasses taking up 22.4 litres per mole. Spot on... Except that nothing else is using STP. Breathing air (the 304.whatever liters per day thing) is at RTP (or NTp depending on where you live), which is 24 liters per mole, a little over 7% more volume per mass, and a heck of a big error if you run out 93% of your way home! :)

This is probably true(I really have no clue about STP/RTP or NTP). I do know that Apollo used a cabin pressure of about 5psi(or 0.34bar), which gives a wildly different liter volume. I do believe the 304 liter value is based on NASA number, which were given in kilograms(0.84kg per day) and converted around.

Another thing is that oxygen usage would vary from person to person and very much by activity level, so it's also a very approximated number from the start.

But it doesn't seem right that a tank volume that can hold 10 units of water can also hold 3000 units of oxygen.

The Apollo Service Module spherical oxygen tanks for the FuelCell(s), were 26in in diameter(so 66cm), which gives a total volume of 0.15m3, which translates to 150 liter. One of those held 148kg liquid oxygen(well, it was semi liquid, bit dependent on temperature), which comes out at 104,000 liter at STP(wolframalpha gives me STP, therefore STP \o/ ).

(The numbers are a bit screwed by not calculating wall thickness and internal component volume, so actual capacity would probably be bit less).

It would seem a lot more sensible to me if it went something like

* you need 304.27 liters of O2 per kerbal per 24 hours

* stored at 200bar, that is 1.52135 liters of tank volume.

Therfore this 50 liter tank can keep one kerbal alive for 32.86 (24-hour) days.

Use the storage units as liters, the stored medium as being (compressed) oxygen, and adjust the required units per day down to 1.512 to compensate for that. It would keep the units in a tank a lot more consistent regardless of what resource you were referring to.

This is one of the reasons I like kg for compressible gases, as 1kg oxygen is 1kg oxygen no matter what the pressure, and it's the unit I have seen NASA give out(0.84kg oxygen per crewmember, and for Kerbals roughly half is apparently the going rate).

In the end(when all this is decided), if the units doesn't fit me I'd probably just use ModuleManager to whack the numbers into a format I like, one of the reasons I don't use kilograms at the moment personally is that the ModuleGenerator(it's the one Universal Storage use for their Fuel Cell) have issues with very small numbers(at least on my KSP), where it doesn't generate any power unless you timewarp 10x or so.

(As shown, I'm a little torn between liters and kilograms, but in the end I don't really mind either way, as long as it's based around real units).

-

Kolbjorn

Link to comment
Share on other sites

I have a feature idea for this mod: gravity/exercise requirements.

You might consider adding a feature to the crew components in the game as to whether they can support kerbal exercise or not. So capsules, cupolas don't have space, but the stow-away can could provide, for instance. Alternatively, if you had parts with rotation (like the flat-hab pack), then that would obviate the need for exercise equipment.

Just a thought since zero-g exercise is also a part of real-life life-support considerations for long-duration missions.

Link to comment
Share on other sites

I have a feature idea for this mod: gravity/exercise requirements.

You might consider adding a feature to the crew components in the game as to whether they can support kerbal exercise or not. So capsules, cupolas don't have space, but the stow-away can could provide, for instance. Alternatively, if you had parts with rotation (like the flat-hab pack), then that would obviate the need for exercise equipment.

Just a thought since zero-g exercise is also a part of real-life life-support considerations for long-duration missions.

FWIW, there's already a mod that does that: http://forum.kerbalspaceprogram.com/threads/67739. Haven't tried it myself, though, so I can't comment on balance/simplicity/etc.

Link to comment
Share on other sites

This is probably true(I really have no clue about STP/RTP or NTP). I do know that Apollo used a cabin pressure of about 5psi(or 0.34bar), which gives a wildly different liter volume. I do believe the 304 liter value is based on NASA number, which were given in kilograms(0.84kg per day) and converted around.

Another thing is that oxygen usage would vary from person to person and very much by activity level, so it's also a very approximated number from the start.

For reference,

STP is "standard temperature and pressure", which is defined as 273.15K (0°C, -32°F).

RTP or NTP are "Room" or "normal" temp and pressure, which is usually considered to be 293.15K (20°C, 68°F), but has the problem of "but my room is 22°C" or "is that normal for summer or winter" and so on, so STP is safer, but less useful in this case, since the gas when actually breathed will (hopefully) be at room temperature.

The Apollo Service Module spherical oxygen tanks for the FuelCell(s), were 26in in diameter(so 66cm), which gives a total volume of 0.15m3, which translates to 150 liter. One of those held 148kg liquid oxygen(well, it was semi liquid, bit dependent on temperature), which comes out at 104,000 liter at STP(wolframalpha gives me STP, therefore STP \o/ ).

(The numbers are a bit screwed by not calculating wall thickness and internal component volume, so actual capacity would probably be bit less).

At that density, it'll be liquid. To get the gas down to that level of compression, you're looking at about 800bar at room temperature, uhhhh, about 11,000 PSI, which is crazy-pressure. but for Liquid Oxygen, 148kg would take up just shy of 130liters, which fits well with allowing for the tank walls in the above.

This is one of the reasons I like kg for compressible gases, as 1kg oxygen is 1kg oxygen no matter what the pressure, and it's the unit I have seen NASA give out(0.84kg oxygen per crewmember, and for Kerbals roughly half is apparently the going rate).

Agreed. The one thing that is constant is that the amount of oxygen a person (and presumably a kerbal) needs to metabolise in order to keep breathing (pun intended) is a constant mass per time, regardless of the atmospheric pressure, O2 concentration, temperature, etc. etc. etc.

So it definitely makes sense to consider the resource usage by the addon in terms of kg, BUT....

liters are a measure of volume. kilograms are a measure of weight. You can't interchange them unless you use density as a conversion factor (which has units of mass per volume). Fortuitously, the game already requires density to be specified in the resource definition file. It multiplies the stored volumes by the resource density to calculate the mass of the vessel.

Which means that if you are using kg as your unit, then you absolutely must set the density to 1.0 or the vessel mass will be off, and that that point you are actually using liters as your unit, and lying about the real density, which will come back to haunt you when you start storing more than one type of gas in a matching set of vessels. as an extreme example, liquid hydrogen is over 16 times less dense than liquid oxygen.

This also impacts on crossovers with other mods. For example, anyone using the KethaneConverter module in a part to work with these resources will find that you can already specify mass-ratios for input and output resources, and the converter uses the densities to calculate the conversion rates based on these, ensuring that conservation of mass continues to happen. Similarly, the Exoplanetary Launchpads uses the density of its rocket parts to caclulate how many you need for a given mass of vessel.

So please, please, by all means work in kg for the consumption rates, but then use the resource file defined density that you are working with to convert into storage units that are in a volumentric measure (liters, 5liter units, whatever is decided).

In the end(when all this is decided), if the units doesn't fit me I'd probably just use ModuleManager to whack the numbers into a format I like, one of the reasons I don't use kilograms at the moment personally is that the ModuleGenerator(it's the one Universal Storage use for their Fuel Cell) have issues with very small numbers(at least on my KSP), where it doesn't generate any power unless you timewarp 10x or so.

(As shown, I'm a little torn between liters and kilograms, but in the end I don't really mind either way, as long as it's based around real units).

I love ModuleManager, and yeah, however it ends up being, I'm happy to tweak my own personal KUniverse to my own designs... I'm just arguing the case for minimizing the tweakage I have to do... and hopefully maximizing the ease of interacting with other mods, other parts, and other people's stuff :)

Link to comment
Share on other sites

At that density, it'll be liquid. To get the gas down to that level of compression, you're looking at about 800bar at room temperature, uhhhh, about 11,000 PSI, which is crazy-pressure. but for Liquid Oxygen, 148kg would take up just shy of 130liters, which fits well with allowing for the tank walls in the above.

According to this site it were in a semi-liquid state based on temperature:


The oxygen tanks are made of Inconel (a nickel-steel alloy) and are a little over 26 inches in diameter.
Each holds 326 pounds of oxygen in a semi-liquid, semi-gas state. Operating temperature of the tanks ranges from 300 degrees below zero to 80 above.
Oxygen must be maintained at 297 degrees below zero to remain liquid.

Which means that if you are using kg as your unit, then you absolutely must set the density to 1.0 or the vessel mass will be off, and that that point you are actually using liters as your unit, and lying about the real density, which will come back to haunt you when you start storing more than one type of gas in a matching set of vessels. as an extreme example, liquid hydrogen is over 16 times less dense than liquid oxygen.

Indeed, this kilogram system totally breaks down if you start looking at modular tanks that can hold different substances.

This also impacts on crossovers with other mods. For example, anyone using the KethaneConverter module in a part to work with these resources will find that you can already specify mass-ratios for input and output resources, and the converter uses the densities to calculate the conversion rates based on these, ensuring that conservation of mass continues to happen. Similarly, the Exoplanetary Launchpads uses the density of its rocket parts to caclulate how many you need for a given mass of vessel.

Agreed, converting between these units would take a bit of care (and probably lots of breakages).

I do feel that people take a bit lightly on the problem of compressing stuff to fit into tanks after one has generated it though. It is very easy to produce oxygen and hydrogen by splitting water, now compressing that oxygen to store in a tank is a totally different beast, it is one thing to do it here down on the planet, but bringing the equipment with you to do it on a space ship/station is a harder problem(it's not an impossible problem by all means, but just takes more equipment and a bunch of power).

So please, please, by all means work in kg for the consumption rates, but then use the resource file defined density that you are working with to convert into storage units that are in a volumentric measure (liters, 5liter units, whatever is decided).

You know, I was thinking something when I woke up the other day(oh no, another crazy idea...).

We could have the pod have its internal supply where we use liters at a known pressure/temperature(NTP for example), this would be roughly the internal volume of the pod(never mind that you can't breathe when the oxygen contents drops below a threshold).

Then you have the oxygen supply tanks, where contents are specified at high pressure liquid state, and in the pod you have a converter you can use to fill the pod again(Basically a valve)(automatic system would be nice, unless you like crazy). The "valve" would be some kind of resource converter naturally, and it would be mandatory that it could run while the vessel was not loaded(kerbals tend to die otherwise).

This would fit with producing oxygen from splitting water without going through a compressor to store it in a tank, as you can just dump it straight into the cabin(this is what ISS does for oxygen, they do have pressurised oxygen they can use(100 days worth according to this link)).

ISS do not(according to my knowledge anyway) have the capability of compressing any of the oxygen they produce for storage(Well, you could store it at NTP uncompressed I suppose, but silly silly...), they rather get supplies from the ground. There has been work done on this for a Mars mission though, where you would need to store the oxygen for later, but as far as I could tell from the articles I read it was only for planetary purposes and not for the trip there.

Another beef I have is the electricity system, which I would love to get into real values(volts/amps and the rest derived from those), I do hobby electronics so it's something I know my way around somewhat(I still shock myself silly at times though, safety first!), and the current system is very simplistic(basically treating electricity as a kind of liquid fuel).

Granted, all this probably goes waaaay overboard with details/complexity than "normal" KSP players would like from a life support mod, but in my head it sounds awesome.(Complexity! Yay! \o/ )

-

Kolbjorn

Link to comment
Share on other sites

You could model that by having BreatableOxygen and LiquidOxygen as two separate resources, (probably renaming one of them to Oxygen for inter-mod compatability), with parts that convert LOX into Breathable as necessary, most Oxy Generators generating the uncompressed one, and a biiiiig heavy power-hungry part that can liquify the BreathableOxygen for use on bases or resupply stations if necessary. But basically, the recyling system would generally cope with keeping up with demand, and the stock tanks of LOX would only be dipped into when there was a shortfall.

Or maybe have GeneratedOxygen and Oxygen, and the LS mod use GeneratedOxygen if it is available, and only dip into the Oxygen if needed, but don't provide storage of GeneratedOxygen beyond the size of the pod.

I agree that in the real world, compression only takes place planetside.

I know exactly where you're coming from on the in-game electrical system. If you call the units Ah, or Joules, then it is just a matter of scaling, but so many people tried to call them watts or volts or.... some other incorrect unitary expression. But even so, the balance is.... well lets just say it's a game, and enjoy playing it :)

Anyway.... I gotta run - we have visiting friends over for the weekend.

Link to comment
Share on other sites

Any way we can disable all the debug log outputs TAC does? It feels the entire thing up and it feels like it slows down my machine.

I did a pull of the git repository and replaced all occurrences of "this.Log" with "//this.Log", which should take care of the debug info, the "this.LogWarning" and "this.LogError" are still present, but those are probably nice to have.

No testing have been done, just a straight recompile of the current git tree, so no warranties given, no changes made other than commenting out the logging calls.

(Doubt it'll make a difference in speed, but at least you can check if it does).

Replace the TacLifeSupport.dll file in GameData\ThunderAerospace\TacLifeSupport with *this* one.

-

Kolbjorn

EDIT: Do note that this will naturally make debugging a much harder task, so if you need support for the mod you should absolutely change back to the official one before even asking.

Edited by CoolBeer
Link to comment
Share on other sites

Given the number of recent discussions on expanding TAC (and ideas of my own for new parts), I have a question for TaranisElsu: how were the current TAC resources intended to fit together in a single game system?

The way I see it, with the current mod each of the four life support resources has its own distinct feature, and is therefore not redundant with any other resource:

  • Oxygen is recyclable, and is not needed on Kerbin or Laythe
  • Water is recyclable, but is always consumed
  • Food cannot be recycled, so you must pack enough for the trip
  • Electricity is renewable, so it doesn't require as much special storage capacity, but is therefore easier to run out of by accident

Is this more or less the intended balance between the resources? If so, do you have any guidelines for adding new parts or resources to avoid upsetting the balance? For example, I assume you don't want Oxygen, Water, and Food to behave identically, since then there's no point to making them separate resources.

Link to comment
Share on other sites

Thanks CoolBeer! I'll give it a shot now. Really appreciate it - I was trying to compile it myself but had trouble doing it :S This is one for the latest version right?

It is the latest version from the GitHub repository at least, so unless TaranisElsu has un-pushed commits it should be the latest(0.8 was released 23/12/2013 according to *THIS*, latest git commit was 27/12/2013(appart from some TacLib changes up to 20/01/2014), so it may even be bleeding egde(and therefore experimental, which it were anyway)).

-

Kolbjorn

Link to comment
Share on other sites

Hello everyone.

I am having some error messages in the debug console, here what it says:

Tac.AddLifeSupport[848F3800][54.64]: Error adding the part module to EVA (expected?): Object reference not set to an instance of an object

at Part.AddModule (System.String moduleName) [0x00000] in <filename unknown>:0

at Part.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0

at Tac.AddLifeSupport.EvaAddPartModule (.Part part) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource ElectricCharge to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource Food to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource Water to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource Oxygen to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource CarbonDioxide to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource Waste to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

(Filename: C:/BuildAgent/work/d3d49558e4d408f4/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 53)

Tac.AddLifeSupport[848F3800][54.64]: Failed to add resource WasteWater to EVA: Object reference not set to an instance of an object

at Tac.AddLifeSupport.EvaAddResource (.Part part, Double rate, System.String name, Boolean full) [0x00000] in <filename unknown>:0

and also this one:

Tac.AddLifeSupport[848F3800][54.64]: Error adding the Part Module (expected?): Object reference not set to an instance of an object

at PartModule.Load (.ConfigNode node) [0x00000] in <filename unknown>:0

at Part.AddModule (.ConfigNode node) [0x00000] in <filename unknown>:0

at Tac.AddLifeSupport.AddPartModule (.Part part) [0x00000] in <filename unknown>:0

I haven't notice anything that went wrong in my game regarding TAC Life Support. Yet those error pops up all the time my game is loading. Somebody knows what those error are refering to?

Thanks for your time.

Ben.

Link to comment
Share on other sites

Hey, is there a way to disable the part where kerbals take in and give off? I want to add oxygen/food/water tanks for aesthetics (or Apollo 13 type disasters)

Right-click on the part, then click the little box next to the resource bar. The game won't automatically use that pool any more, but you can still transfer resources.

Link to comment
Share on other sites

Given the number of recent discussions on expanding TAC (and ideas of my own for new parts), I have a question for TaranisElsu: how were the current TAC resources intended to fit together in a single game system?

The way I see it, with the current mod each of the four life support resources has its own distinct feature, and is therefore not redundant with any other resource:

  • Oxygen is recyclable, and is not needed on Kerbin or Laythe
  • Water is recyclable, but is always consumed
  • Food cannot be recycled, so you must pack enough for the trip
  • Electricity is renewable, so it doesn't require as much special storage capacity, but is therefore easier to run out of by accident

Is this more or less the intended balance between the resources? If so, do you have any guidelines for adding new parts or resources to avoid upsetting the balance? For example, I assume you don't want Oxygen, Water, and Food to behave identically, since then there's no point to making them separate resources.

I'm no expert but I always assumed it was set up this way because this is how it is in Real Life.

Link to comment
Share on other sites

Hi,

On note of "Food cannot be recycled, so you must pack enough for the trip", is there a "reprocessed nutrient pellet" part out that uses power + waste= food @ similar rates as water recycler.

Although the idea isnt appetizing i'm sure waste could be reprocessed, with a loss, into food. or a part that uses power + all 3 waste (waste/CO2/waste water) in a bio-reprocessing greenhouse to become food/oxgyen

.

Link to comment
Share on other sites

Hi,

On note of "Food cannot be recycled, so you must pack enough for the trip", is there a "reprocessed nutrient pellet" part out that uses power + waste= food @ similar rates as water recycler.

Although the idea isnt appetizing i'm sure waste could be reprocessed, with a loss, into food. or a part that uses power + all 3 waste (waste/CO2/waste water) in a bio-reprocessing greenhouse to become food/oxgyen

.

Or what about a generator that uses food waste to give u electric charge

that will be like a recycling machine

Link to comment
Share on other sites

Or what about a generator that uses food waste to give u electric charge

that will be like a recycling machine

With ModuleManager you can do anything you want. You can make an engine that produces food as a side effect.

Link to comment
Share on other sites

Could someone give me a opinion about this mod? It looks really awesome but i'm afraid im more busy at giving the kerbals food, water etc then actually exploring planets.

Also if I have kerbals on laythe (example), which is pretty far away, the food and water will run out after a while or you can also get frood and water from there? otherwise you need to send a cargo ship to laythe which is pretty hard to do.

Thanks

Link to comment
Share on other sites

Could someone give me a opinion about this mod? It looks really awesome but i'm afraid im more busy at giving the kerbals food, water etc then actually exploring planets.

Also if I have kerbals on laythe (example), which is pretty far away, the food and water will run out after a while or you can also get frood and water from there? otherwise you need to send a cargo ship to laythe which is pretty hard to do.

Thanks

That's pretty much the point and why I and others use it. If you're going to be leaving Kerbals on other planets/moons, obviously you'll need to resupply them. Or do what I do and send an expedition and then bring it home. Or you can just let them die...

If you are one who does well with planning ahead, this mod is great.

Link to comment
Share on other sites

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