User Tools

Site Tools


dev:proposals:fuel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:proposals:fuel [2023-01-13 13:50]
56independent [Fuel] New calculation logic
— (current)
Line 1: Line 1:
-====== Power ====== 
-===== Fuel ===== 
-Fuel is essential for any real train to run. However, Advtrains trains seem to run using some form of prepetual energy source. This is physically impossible in the real world. 
  
-To rememedy this problem, trains could run on fuel. In the real world, there are two main types of power sources: Electric and Combustible Fuel.  
- 
-==== Powering Types ==== 
-Trains in Advtrains can work in any of three ways: 
- 
-  * Electric Only 
-  * Combustible Fuel only 
-  * Hybrid 
- 
-A train creator can specify the fuel type of the train with either ''fuel_type = "electric"'' or ''fuel_type = "combustible"''. If this value is ommitted or invalid (which includes ''fuel_type = "hybrid"''), the train is assumed to be hybrid. 
- 
-If a train can run on electric, it checks the track below for a third rail, and if found, checks if it is electrified. If it is not, it comes to a rolling stop. 
- 
-If a train can run on combustible fuel, it has a small inventory of fuel. Fuel calculations are compilcated, so are explained in another section. 
- 
-The locomotive will drop "exhaust" onto the tracks for every 100 units of burntime. Exhaust can be turned to a lump of coal by using 9 exhaust for "exhaust powder", using 9 exhaust powder for "exhaust powder block", and using 9 exhaust powder blocks for 1 lump of coal. 
- 
-A mod can then create the "exhaustcleaner" carriage, which will automatically craft exhaust into coal and put it into its own inventory. You can also set the exhaustcleaner to automatically move coal to the fuel inventory. 
- 
-==== Running out of fuel ==== 
-If fuel of any train runs out, it will come to a rolling stop. The train will be unable to accelerate unless on a down ramp, in which case it will increase speed by 0.75 m/s for every block it falls. Brakes still function if neccesary. Once a train has stopped, it will report to chat the ID, position, and lack of fuel. 
- 
-==== Fuel Calculations ==== 
-For simplicity's sake, here are the figures for fuel usage, per non-locomotive wagon: 
- 
-^ Action ^ Energy usage in AEU per wagon ^ Energy usage in burntime (20 AEU) per wagon ^ Energy usage in amounts of oil extract (30 burntime) per wagon ^ 
-| Acceleration | 5 per m/s/s | 2.5 per m/s/s | 3.33 | 
-| Speed maintanence | 2.5 per m/s | 0.125 per m/s/s | 1.67 | 
- 
-Let's see how we got to these figures. 
- 
-Fuel energy measure is calculated in terms of AEU, which is the "Advtrains Energy Unit". This unit is exactly equal to 100 joules. 
- 
-Now, knowing the metric anchor for AEU, we can now do equations to calculate fuel usage. 
- 
-First of all, let's assume every wagon is exactly 500 kg. Let's also assume the highest speed is 20 m/s. 
- 
-Ok, so from this, we can get to energy usage. 
- 
-Let's first get to acceleration. Since the momentum equation is speed*mass, we can see that each additional m/s costs: 
- 
-1*500 
- 
-or 500 joules per wagon, or 5 AEU per wagon per m/s. 
- 
-So, to accelerate from 0 to 20, that would be 100 AEU. 
- 
-And then to maintain speed, we have 0.5 m/s/s of deceleration to counter. 
- 
-Thats: 
- 
-0.5*500 
- 
-or 250 joules, or 2.5 AEU per metre, per second.  
- 
-So, to keep a speed of 20 m/s throughout a journey of 1,000 m, that's (2.5*20)*1000, or 50,000 AEU. That works out to (50,000/20)/30 oil extract, which is 83 pieces of oil extract per wagon. 
- 
-If we had a nice fast 7 carriage passanger train covering that distance, we can expect 581 pieces of oil extract to be used. This would take 6 inventory slots of the 9 in a locomotive.  
- 
-To take all 9 stacks, that would be (((9*99)*30)*20)/(20*2.5), 10,692 m for a 1 wagon train. For 7 wagons, we get approximately 1.5 km. 
- 
-Don't forget you can change the burntime-AEU conversion factor from 20 to a higher number for larger ranges! 
- 
-==== Third Rails ==== 
-A third rail track will only be electrified if either: 
- 
-  * ''advtrains.electricity_always_on = true'' in minetest.conf 
-  * A HV technic wire links to a "power station" connected to the track. The track draws a consant amount of power. If a train is on the track, the power draw grows. 
-  * A mesecons on wire is connected to the third rail and ''advtrains.allow_mesecons_power = true'' in minetest.conf 
- 
-Third rail can only be powered for 250 metres. After this, the rail is unelectrified.  
- 
-Multiple power sources (which are transmitting power) on the same stretch of third rail will cancel each other out and mean the third rail is unelectrified.  
- 
-If a third rail does not terminate in a ramp, the electricity "runs" into the ground from the exposed edge and the third rail remains electrified. 
- 
-Depending on a conf setting, people may be "electrocuted" within 10 m of an improperly-terminated third rai track (or their feet touch an electrified third rail). This only occurs if the player is not wearing insulating shoes (which can be defined in conf). 
- 
-When a player is being electrified, their avatar becomes uncontrollable. They spasm in random directions, see red, and lose 2 hp per second. For every second spent being electrified, 4 random items in their inventory are cooked as if in a furnace. 
- 
-If a stretch of track remains unelectrified for any reason shown above, it will report this reason with the location(s) which are causing the errors: 
- 
-  * "POS, POS, and POS are power sources on the same third rail segment. Third rails are not electrified unless only one power source transmits power." 
-  * "POS is an improperly terminated end for third rail. Place a ramp to terminate it properly (wear insulating shoes or you may be electrocuted)." 
- 
-There are three new nodes for tracks: 
- 
-  * Third rail ramp termination 
-  * Third rail 
-  * Two rail (standard) 
- 
-==== Refuelling Tracks ==== 
-For combustable fuel, for automatic refuelling, there is a refuel track. This track takes fuel from a below-track chest and moves as much as possible to the train. 
- 
-The refuel track will automatically stop a train with space for fuel over it and transmit one stack of fuel every 2.5 seconds before sending it away with "SM" as an ATC command.  
- 
-===== Maintenence ===== 
-**Note:** If you are easily confused, don't read this section as i wrote it before my English improved 
- 
-Trains do not run without problems. Tubes get blocked. Electric short-circuit, 
-Power supplies break, and all forms of other things cause inconvinience. 
- 
-What i propose is adding this to advtrains. Randomly, one of your rolling stock 
-suddenly develops a problem and runs at 50-90% of its speed. To fix it, punch 
-it with a repair tool, which leaves your inventory and makes the train work 
-again at full speed. There is also a maintinince track, which works in the same 
-way as a loading track but with repair tools. 
- 
-For better identification, the coordinates of trains with problems can be found 
-using a command and the broken trains make loud noises. 
- 
-Some points regarding maintenence not-yet considered 
- 
-  * The vehicle breakdown algorithm should take it into consideration that the maintenance tracks allow periodical maintenance of a train, which reduces the probability of a breakdown. This means that vehicles maintained more often should be less prone to vehicle breakdowns. 
-  * The quality of the maintenance (which corresponds to (e.g.) how much is checked for a train) should be considered. A primitive implementation could calculate this based on the time spent on the maintenance track (with a limit on the maintenance status). 
dev/proposals/fuel.1673614258.txt.gz · Last modified: 2023-01-13 13:50 by 56independent