Jump to content

Recommended Posts

Before starting

Q. What is SimDLL

A. A dll for simulate heat transfer/fluid flow/etc

------------------------------------------

Overview diagram

image.png.4097295e389d890229bac9068689b159.png

Download the save file: The Super Duper Crew.sav

------------------------------------------

1. Ambient radiation limitation

Ambient radiation is limited to 9M rads. But the limitation doesn't always work.

image.png.d71a74892c4471a358c598bc20259fdf.pngimage.png.3378eb65533ab320860c4eca7cc48add.png

2. Large mass liquid can pushes one tile small mass liquid to move, but not in vacuum

image.png.8c1da10e68c522b3bb9d822044c56f32.png → image.png.32c6adf45b9b7a5407235706a0280bdb.pngimage.png → image.png.63bf7333b17af126bd1621be9631c7b0.png

3. Overcompressed liquid (1.5x maxmass) with one tile different liquid on the top, can push gas in airflow tile to somewhereelse.

The following structure demonstrates, I call it, static liquid-pushed gas pump

image.png.e7444bf86f3369f95d80aa28fd28259b.png

4. The structure 3 doesn't work in vacuum, because the target grid of diagnoal pushing must be the same kind of gas, not vacuum.

image.png.096193e6d79058b27ba90d0b9f577501.png

5. It is well-known that heat transfer doesn't happen between to tiles with exactly the same number of heat.

image.png.62c2fed7b872832e00e677438446fd75.pngimage.png.d57e060a34884fa5132b74abb37c37be.pngimage.png.269a4a8000e2f2e4b09417caa9d98e4c.pngimage.png.2b4fb19c9f5ed5e4b3019896ac76f707.png

6. When Partial Melting happened, the solid tile will first try to generate liquid drop. The gas will loss the heat for heating the solid to liquid.

image.png.6d5e927873476f13264305a003cde602.png → image.png.e37cf93121a4fae5cc45a320bb245065.png

But if the condition of generating liquid drop is not met, the game will move the surrouding gas and generate a tile of liquid. In this situation, the gas will not loss any heat.

image.png.b469bf270818ac81d4592b89f7f89411.png → image.png.022e366181814691ef37c0d12b7237ae.png

By the way, the easiest way to prevent liquid drop generation is build a airflow tile below.

7. Overcompressed liquid can't crack airflow tile, because the damage check stops at liquid/gas/vacuum.

image.png.45277cb1038ca26d65eba6f4337d3bb7.png

8. Overcompressed liquid can't crack door, because the door gives unbreakable property to the grids.

image.png.bb2fb796e753fa59ad350b01714227da.png

public partial class Door : Workable, ISaveLoadable, ISim200ms, INavDoor
{
	protected override void OnSpawn()
	{
		// ......
		foreach (int cell in this.building.PlacementCells)
		{
			// ......
			SimMessages.SetCellProperties(cell, Sim.Cell.Properties.Unbreakable);
			// ......
		}
	}
}

9. The gas can't diffuse diagonal if one of the top/horizontal-adjacent grid is solid, or one is gas and another is liquid.

image.png.cad304e4fbedfac992b41f05ed4b43ea.png

10. Overcompressed liquid (1.5x maxmass) will upwell, even the minVerticalFlow condition is not met.

image.gif.958db977eb8c0067e9ddbb08192b42b8.gif

11. The calculate range of Constant Type RadiationEmitter is

  • X: X_Center - X_Radius ~ X_Center + X_Radius
  • Y: Y_Center - Y_Radius ~ Y_Center - Y_Radius + 2 * X_Radius

It means, the emitRadiusY must be equal or smaller than emitRadiusX, otherwise the radiation source may not work as intended.

Fortunatelly, so far, there is no radiation source which has bigger Y radius.

Spoiler

지금 로아 서버 상태가 이거임? - 로스트아크 - 에펨코리아

Spoiler

But if you modify the code or made some mods...

public class RadiationLightConfig : IBuildingConfig
{
	// ...
	public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
	{
		// ...
		// radiationEmitter.emitAngle = 90f;
		// radiationEmitter.emitRadiusX = 16;
		// radiationEmitter.emitRadiusY = 4;
		radiationEmitter.emitAngle = 360f;
		radiationEmitter.emitRadiusX = 4;
		radiationEmitter.emitRadiusY = 16;

image.png.1f20ad8002a5e6391f8a20f24ffeba54.png

12. Up layer liquid will flow diagonally downwards, if the horizontal-adjacent grid is solid, and diagonal-downwards grid is gas, not vacuum.

image.png.487528b82ab99854c6da382cc2e0377c.png → image.png.8b73351ce7e44beb92022aef1ccbbed8.png

13. The property liquidCompression of Phyto Oil and Biodiesel is 1, not 1.01. But  it never works.

image.png.7d7c1a3c2d027eee304b215b0ce9f44d.png

14. The sublimation mass of multi-layered polluted water (PW) is 1kg, but the loss mass of PW won't exceed the mass of top layer PW

image.png.676f80f83a1ea922a3a198ec7d06fd2b.png → image.png.ceae714efe00bdd2863034dc5bf16925.png

15.  In the below structure, if grid A is liquid with enough mass, game will move B to grid C, then move 1/8 mass of A to grid B.

At same time, A will drop to grid E, D will drop to grid A. Therefore, game will move 1/8 mass of A from D to grid B, though the mass of D might not be enough.

image.png.e6c57819d505492e66c1b520a6aec2aa.png

To reproduce liquid in this way, the only challenge is how to create this structure effectively.

Spoiler

image.png.a9b046aa787813b9960ac75c0c9fe3eb.png

Edited by FIXBUGFIXBUGFIX
  • Like 5

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...