Jump to content

[1.12.x] Cryogenic Engines: Liquid Hydrogen and Methane Rockets! (Jan 22, 2022)


Nertea

Recommended Posts

On 23/1/2016 at 10:45 AM, leops1984 said:

Here's a configuration file for people to tryout and see how it works. I've adjusted the masses and volume so it should be close, but I have NOT adjusted the costs at all.

Thanks, your config added the boiloff to procedural tanks for me. They still have the wrong LH2/LOx ratios though. Seems there's some other patch or something I have that overrides yours, adding the hydrogen option to procedural tanks even if I only copy over the CryoEngines folder (and not the cryotanks folder with the configs), giving them the wrong ratios. Any idea what that could be/how to fix it?

Link to comment
Share on other sites

Here's an IFS-only patch to add the zero-boil-off option to Ven's CryoX tank range. The tanks are marketed as being specifically for cryogenics so this seems reasonable to me.

More reasonable than the patch itself, though. I would describe it as "brutal", and perhaps "uneducated". I experimented with many variations of deleting and adding resources before the CryoTanks patch ran, directly replacing ModuleCryoTanks post-patch, and so on. I couldn't see a way to maintain both the ZBO feature and reasonable dry masses with IFS - not a new problem. LH2-only tanks were weighing nothing at all! So, I had to duplicate all the calculation logic, and that makes me uncomfortable. Probably somebody else knows a much more elegant way to do this.

Spoiler

// Patch to add zero-boil-off functionality to Ven's orange cryogenic tanks (the CryoX series). IFS only.

// ZBO tanks modified from Nertea's original (CryoTanks/CryoEngines v0.2.0)
// Not pretty because all the logic and constants are duplicated and will drift out of sync over time.

// LH2 resource levels are the default IFS-provided values.
@PART[CryoXsmall]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	RESOURCE
	{
		name=LqdHydrogen
		amount=24000
		maxAmount=24000
	}
}

@PART[CryoXmed]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	RESOURCE
	{
		name=LqdHydrogen
		amount=48000
		maxAmount=48000
	}
}

@PART[CryoXBig]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	RESOURCE
	{
		name=LqdHydrogen
		amount=80000
		maxAmount=80000
	}
}

@PART[CryoXnoseCone]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	RESOURCE
	{
		name=LqdHydrogen
		amount=11910
		maxAmount=11910
	}
}

@PART[CryoXendButt]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	RESOURCE
	{
		name=LqdHydrogen
		amount=9420
		maxAmount=9420
	}
}

@PART[CryoXsmall|CryoXmed|CryoXBig|CryoXnoseCone|CryoXendButt]:NEEDS[!modularFuelTanks&!RealFuels]:NEEDS[CryoTanks]:AFTER[CryoTanks]:AFTER[VenStockRevamp]
{
	// Remove standard resources
	!RESOURCE[LiquidFuel] {}
	!RESOURCE[Oxidizer] {}
	// Remove Nertea-added IFS and MCT
	!MODULE[InterstellarFuelSwitch] {}
	!MODULE[ModuleCryoTank] {}
	// No modifications to Nertea's patch after this line

	%LH2ConversionFactor = 10 // <- EDIT HERE (LH2 vs LF/OX capacity conversion; should be identical to LH2ConversionFactor for lifting tanks above)
	%LH2OUnitRatio = 15 // <- EDIT HERE (LH2:OX unit ratio; should be identical to LH2OUnitRatio for lifting tanks above)
	%mixOXProportion = 0.4 // <- EDIT HERE (proportion of tank volume containing OX; should be identical to mixOXProportion for lifting tanks above)
	%dryMassPerUnitLH2 = 0.00003125 // <- EDIT HERE (dry mass per unit LH2 capacity)
	
	%LH2 = #$RESOURCE[LqdHydrogen]/maxAmount$
	
	%mixOX = #$LH2$
	@mixOX /= #$LH2ConversionFactor$
	@mixOX *= #$mixOXProportion$
	%mixLH2 = #$mixOX$
	@mixLH2 *= #$LH2OUnitRatio$

	// masses
	%mixLH2mass = #$mixOX$
	@mixLH2mass *= 0.000625
	%tempVar = #$mixLH2$
	@tempVar *= #$dryMassPerUnitLH2$
	@mixLH2mass += #$tempVar$
	
	// costs
	%LH2cost = #$cost$
	@LH2cost *= 0.5
	@tempVar = #$LH2$
	@tempVar /= #$LH2ConversionFactor$
	@tempVar *= 0.459
	@LH2cost += #$tempVar$
	@cost -= #$LH2cost$
	
	%mixLH2cost = #$LH2cost$
	@tempVar = 1
	@tempVar -= #$mixOXProportion$
	@mixLH2cost *= #$tempVar$
	@tempVar = #$mixOX$
	@tempVar *= 0.18
	@mixLH2cost += #$tempVar$
	
	!RESOURCE[LqdHydrogen] {}
	
	MODULE
	{
		name = InterstellarFuelSwitch

		volumeMultiplier = 1
		massMultiplier = 1

		resourceGui = LH2;LH2/OX
		resourceNames = LqdHydrogen;LqdHydrogen,Oxidizer

		resourceAmounts = #$../LH2$;$../mixLH2$,$../mixOX$

		displayCurrentTankCost = true

		hasGUI = true
		showInfo = true

		availableInFlight = false
		availableInEditor = true

		basePartMass = 0
		tankMass = #$../mass$;$../mixLH2mass$
		tankCost = #$../LH2cost$;$../mixLH2cost$
	}
	MODULE
	{
		name =  ModuleCryoTank
		FuelName = LqdHydrogen
		// in % per hour
		BoiloffRate = 0.05
		// in Ec per 1000 units per second
		CoolingCost = 0.10
	}
}

 

The dry masses end up slightly higher than Nertea's CryoTanks. This makes sense from an RP perspective, as Ven's tanks appear to be of sturdier construction. So, they're now a nice alternative for vessels that aerobrake, pull high Gs, etc.

Edited by Bluebottle
Link to comment
Share on other sites

hey how will this work with other mods that impliment boil-off in some form or another? i have a lot of mods, interstellar, this one, etc, and it seems that in some vessels my liquid hydrogen boils off, were in some it doesent. i think it has something to do with radiators from interstellar and reactors from interstellar, but do not know.

Link to comment
Share on other sites

Generally, boiloff is implemented as a custom-written plugin, because there's nothing in stock that can be perverted for the job. As a result, expect each mod's tanks to be affected by the parent mod only.

The one edge case that you have left is stock fuel tanks with fuel switching. Cryogenic Engines does it, and another mod that also implements boiloff and also adds fuel switching for stock tanks may also do it. What effects that may have, I can only guess - but my first gut feeling is that the boiloff mechanics simply stack. In other words, you get to deal with both mods sapping your fuel supply at once. You can prevent such a thing by identifying the MM patches mods use to add boiloff to stock tanks, and removing all but the one you like best.

 

 

Oh, and by the way: CKAN pull request is still waiting in the queue.

 

Edited by Streetwind
Link to comment
Share on other sites

22 hours ago, nom said:

Thanks, your config added the boiloff to procedural tanks for me. They still have the wrong LH2/LOx ratios though. Seems there's some other patch or something I have that overrides yours, adding the hydrogen option to procedural tanks even if I only copy over the CryoEngines folder (and not the cryotanks folder with the configs), giving them the wrong ratios. Any idea what that could be/how to fix it?

I genuinely have no idea. Maybe Modular Fuel Tanks if you're using that?

Link to comment
Share on other sites

On 1/27/2016 at 4:05 AM, Sudragon said:

If I could request one thing, it'd be a .625m size Lhyd/oxy  engine.

Given the low fuel density, even the lowest fuel draw cryo engine would burn through it in mere seconds (and that would be with LH2/OX, much higher fuel density). As a formfactor it would be nice to match with the Kandl from Atomic Age, but honestly a better bet for that tiny thing is just a half size of the smallest 1.25m tank we currently have.

Link to comment
Share on other sites

Something apparently has gone haywire with Cryogenic Engines. Had a problem and uninstalled in through CKAN. Went to reinstall and now it won't install CE. It wants to install Kerbal Atomics instead, and that fails saying it can't download the file.

Any thoughts?

Thanks!

3 minutes ago, jmbailey2000 said:

Something apparently has gone haywire with Cryogenic Engines. Had a problem and uninstalled in through CKAN. Went to reinstall and now it won't install CE. It wants to install Kerbal Atomics instead, and that fails saying it can't download the file.

Any thoughts?

Thanks!

 

Appears Kerbalstuff.com is down.........guess I'll wait. Can't play until CE gets reinstalled. :(

Link to comment
Share on other sites

21 minutes ago, jmbailey2000 said:

Something apparently has gone haywire with Cryogenic Engines. Had a problem and uninstalled in through CKAN. Went to reinstall and now it won't install CE. It wants to install Kerbal Atomics instead, and that fails saying it can't download the file.

Any thoughts?

Thanks!

 

Appears Kerbalstuff.com is down.........guess I'll wait. Can't play until CE gets reinstalled. :(

No need to wait!

There are two download links on the OP besides kerbalstuff.

Also, double check any CKAN uninstall, it is notorious for leaving little scraps behind that can confuse other mods.

Link to comment
Share on other sites

CKAN will download Kerbal Atomics alongside CryoEngines, but it will not install Kerbal Atomics unless you request it to do so.

The reason for this is that CryoEngines shares a dependency with Kerbal Atomics. Due to the way CKAN works, you have to decouple the dependency and list it as an extra mod, to avoid duplicate installs. And that decoupled extra mod sources itself from the download of one of the two main mods. I picked Kerbal Atomics in this case because it really doesn't matter which way I do it.

CKAN will download the Kerbal Atomics file and store it on your disk, then extract the required dependency from it and only install CryoEngines.

Edited by Streetwind
Link to comment
Share on other sites

Hello guys,

Jimbodiah raised a question in my thread for SSTU -- why do SSTU Fuel tanks hold half the capacity of LH2 as similar-sized Cryo-tanks fuel tanks?

He presented me with these images:

sstu_lh_01.jpg

sstu_lh_03.jpg

Which made me immediately start calculating volume.  2.5m diameter tank * 7.5m tall = ~36.815 cubic meters = ~36.8k liters;  subtract %15 for tankage volume losses, you arrive at ~31.3k liters / cubic meters of volume.

I guess I should start the question with:  what unit of measure does CryoEngines/Near-Future use for the volume of a unit of LH2?  By the CRP resource definition density, this appears that it should be a liter.


Which brings me to the meat of this post -- are cryo-tanks intentionally holding twice the amount of fuel that they should?  (e.g. 64k units = 64k liters = 64 cubic meters; the tank only has 32 cubic meter capacity)   Or is some of my math off somewhere / my unit-of-measure for volume of LH2 incorrect?

The cryo-tank volumes / fuel switch volumes are set through the patch https://github.com/ChrisAdderley/CryoTanks/blob/master/GameData/CryoTanks/Patches/CryoTanksFuelTankSwitcher.cfg  which appears to use a 10:1 unit volume ratio compared to stock fuels; this would mean 1 unit of LH2 is 0.5liters, but has the same density as a real-world 1 liter unit of LH2.  (line 4: https://github.com/ChrisAdderley/CryoTanks/blob/master/GameData/CryoTanks/Patches/CryoTanksFuelTankSwitcher.cfg#L4)

Not trying to be critical, merely inquiring as to if this was done intentionally?

Thanks,

Shadowmage

Link to comment
Share on other sites

@Shadowmage Your interpretation is correct, and yes, it's completely intentional. With CryoTanks, LH2 is given 200% real-world density inside fuel tanks for gameplay and balance reasons. Even with 2x real-world density, it remains far less dense than other fuels (e.g., ~14% LFO density) and thus still poses an interesting challenge to the player without becoming un-fun. Ideally, it would be nice for the LqdHydrogen resource definition to reflect this greater density (rather than being fudged via configs), but it's a CRP resource and thus can't be altered ad hoc.

Link to comment
Share on other sites

27 minutes ago, Fraz86 said:

@Shadowmage Your interpretation is correct, and yes, it's completely intentional. With CryoTanks, LH2 is given 200% real-world density inside fuel tanks for gameplay and balance reasons. Even with 2x real-world density, it remains far less dense than other fuels (e.g., ~14% LFO density) and thus still poses an interesting challenge to the player without becoming un-fun. Ideally, it would be nice for the LqdHydrogen resource definition to reflect this greater density (rather than being fudged via configs), but it's a CRP resource and thus can't be altered ad hoc.

Okay, thanks for the confirmation.

Link to comment
Share on other sites

1 hour ago, Jimbodiah said:

What was the intent for switching from 10:1 to 15:1, as I thought the balancing was out for realistic weights and volumes?

It was motivated by a balancing dilemma: how to give LH2O tanks a meaningful dry mass disadvantage relative to LFO, despite LH2 representing only a small percentage of the tanks' mass (mostly OX), without making LH2-only tanks unplayably terrible as a result. I would recommend reading the dev thread if you'd like to know more.

In regard to realism, the LH2:OX mass ratio was a little below real-world before, and a little above real-world now. The LH2:OX volume ratio is now closer to real-world.

Edited by Fraz86
Link to comment
Share on other sites

21 hours ago, Fraz86 said:

It was motivated by a balancing dilemma: how to give LH2O tanks a meaningful dry mass disadvantage relative to LFO, despite LH2 representing only a small percentage of the tanks' mass (mostly OX), without making LH2-only tanks unplayably terrible as a result. I would recommend reading the dev thread if you'd like to know more.

In regard to realism, the LH2:OX mass ratio was a little below real-world before, and a little above real-world now. The LH2:OX volume ratio is now closer to real-world.

The dry mass argument doesn't quite stack up, given that Centaur was incredibly light, and RP1 tanks require(d) significant internal bracing (in lift stages). Centaur's structural strength came from the pressurization of the contents. Also, did you take into account the cryogenic nature of the LO in an LFO tank? It seems only LH2 is being penalized for insulation weight/dry mass disadvantages, and LO gets away with it. Maybe this is why Kerbal Atomics was introduced: all other NTR engines running with Cryotanks are at a permanent disadvantage now, and it's very, very tough to make an NTR/LH2 ship that has better dV than LFO for the same mass. When you need upwards of 2000Ec/s for ZBO, those reactors get heavy! And again, LO has no penalty at all. With absolutely no snark (I know how difficult the IFS configuration is), has the outcome matched your intentions?

Link to comment
Share on other sites

6 hours ago, Bluebottle said:

The dry mass argument doesn't quite stack up, given that Centaur was incredibly light, and RP1 tanks require(d) significant internal bracing (in lift stages). Centaur's structural strength came from the pressurization of the contents.

Nertea's LH2 tanks are incredibly light. An LH2-only ZBO tank has only half the dry mass of an equivalently-sized LFO tank. LH2 lifting tanks are even less.

Quote

Also, did you take into account the cryogenic nature of the LO in an LFO tank? It seems only LH2 is being penalized for insulation weight/dry mass disadvantages, and LO gets away with it.

The fuel:dry mass ratio for oxidizer (8:1) is derived from stock KSP, and as such is not something we would alter. Nor would we add boiloff to a stock resource. Adding boiloff for LH2 but not LOX makes a certain amount of sense anyway, as boiloff is a much less severe problem for LOX compared to LH2 in the real world. Moreover, the mass "penalty" for extra insulation/refrigeration for LH2 is actually relatively minor - that is, the interval mass difference between LH2 lifting tanks and ZBOs is equivalent to only 10% of the dry mass of a volume-matched LFO tank.

The true dry mass "penalty" for LH2 tanks is primarily related to fuel density. LH2 is far less dense than other fuels, and therefore requires much greater (~700%) tank volume for an equivalent fuel mass. Greater tank volume means greater tank mass, though the mass per volume is actually only half as much (or less), as mentioned above, which partially offsets this penalty. The penalty is further mitigated by using 2x the real-world density of LH2. What we're left with should be a bit inferior to LFO as a fuel type, but reasonably easy to balance by giving NTRs attractive properties.

Quote

When you need upwards of 2000Ec/s for ZBO, those reactors get heavy!

What kind of craft are you building that requires 2000 EC/s for ZBOs? That should correspond to 18 of the ridiculous 10 meter tanks.

Quote

With absolutely no snark (I know how difficult the IFS configuration is), has the outcome matched your intentions?

Yes, absolutely. I'm not aware of any significant problems with the current implementation. It may come to light that a few things need some minor balancing tweaks, but I think it's a very robust framework.

Edited by Fraz86
Link to comment
Share on other sites

1 hour ago, Fraz86 said:

Nertea's LH2 tanks are incredibly light. An LH2-only ZBO tank has only half the dry mass of an equivalently-sized LFO tank. LH2 lifting tanks are even less.

I think it's more meaningful to look at the tank mass per unit of fuel mass rather than per volume.  Since just about everything in rocketry is about mass (volume affects drag a bit but it's usually not a major concern).

Link to comment
Share on other sites

4 hours ago, blowfish said:

I think it's more meaningful to look at the tank mass per unit of fuel mass rather than per volume.  Since just about everything in rocketry is about mass (volume affects drag a bit but it's usually not a major concern).

Fuel:dry mass ratios are certainly much more meaningful for analysis of performance. However, when arguing that LH2 tanks ought to be lighter, based on comparisons to specific real-world rocket stages or lack of need for internal bracing (as Bluebottle was doing), I believe it's useful to step back and remember that empty LH2 tanks are actually the lightest objects in the game for their size.

Edited by Fraz86
Link to comment
Share on other sites

If LH2 fudge factor were 1.5, it would result in much more handy (matching-wise and a bit closer to RL) 2:1 tankage ratio with OX. Just a thought occurred while trying to mash up a ship with cool looks, separate  LH2/OX tanks and sane part count.

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