... Pretty obvious that the original mass was correct and, if I understand Zec's post, there is no reason to be concerned about volume. The volume contains a lower mass for broken coal because of the air space between chunks of coal.
Norm I'm not sure I follow the comments on volume you made. Volume is important and in fact volume is the only thing Trainz considers when it loads cargo into a railcar.
I started a reply to John and Zec but I think some clarification of how Trainz treats all this is relevant:
The railcars in trainz have a tag called mass that is the unloaded or empty mass and in the US this is equivalent to the tare weight - note weight and mass are related in that weight is the force of gravity pulling the mass towards the surface of the earth. The weight of the loaded railcar is called gross weight and native Trainz has no tag to represent that. In order to carry cargoes in Trainz railcars need to have product queues specified. These queues specify the VOLUME not mass or weight of the product (commodity or cargo if you like) that the queue can hold. Products in Trainz are assets and the ones for bulk commodities like coal have a tag called mass but it is really the mass desnsity of the product. Volume for the queue is specified in units of 1/1000 cubic meters (litres) and mass densities of the products are specified in kg/ltr. You can convert between metric units and imperial and US standard units and also between mass and weight based units using standard conversion factors.
A point of fact: when loading railcars, native Trainz does not consider mass/weight at all - only volume. Real life railcars have weight limits imposed on them - the Maximum (allowed) Gross Weight , but native Trainz does not impose any weight limits. It loads the railcar by determining how much volume (space) is available and then filling up that space with the product. So an industry will always transfer x litres of product to the railcar - sufficient to completely fill the volume available in the railcar's product queue. That is without some custom script to intervene.
Physically real hopper cars have a maximum volume that can be filled with the cargo. The volume of the hopper measured to the top edge plus maybe some extra that can reasonably be heaped up above that is the maximum volume available to carry bulk cargoes and we can specify that as the maximum volume of the product queue. Typical densities used to determine how much mass or weight of cargo that occupy that volume take into consideration how big the individual "chunks" of it are. It's an average value especially for minerals/rock/stones that are mined/quarried and consist of pieces and chunks of varying sizes that pile up with random sized void spaces in between the chunks. With coal that's been graded we can see numerous values based on mineral content and graded size of the "chunks". Here's just some of the coal products available in Trainz:
Code:
<kuid:103021:100213> Anthracite Broken Coal mass 0.84
<kuid:103021:100218> Anthracite Buckwheat Coal mass 0.91
<kuid:103021:100216> Anthracite Chestnut Coal mass 0.88
<kuid:103021:100214> Anthracite Egg Coal mass 0.86
<kuid:103021:100217> Anthracite Pea Coal mass 0.89
<kuid:103021:100212> Anthracite Raw Coal mass 0.935
<kuid:103021:100215> Anthracite Stove Coal mass 0.87
<kuid:103021:100194> Bituminous Egg Coal mass 0.83
<kuid:103021:100193> Bituminous Lump Coal mass 0.81
<kuid:103021:100196> Bituminous Nut Coal mass 0.87
<kuid:103021:100191> Bituminous Raw Coal mass 0.925
<kuid:103021:100192> Bituminous Run of Mine Coal mass 0.78
<kuid:103021:100197> Bituminous Slack Coal mass 0.89
<kuid:103021:100195> Bituminous Stove Coal mass 0.85
NOTE: mass tag is mass density value in kg/ltr
Ratio of max density to min density in above list is 1.20
It is only after the product is loaded into the railcar that Trainz uses the mass density to determine how much mass has been added. It is calculated from volume of product in the queue times its mass density. But a real railroad wouldn't fill the hopper up to the "brim" using all available volume if the weight of that cargo plus the tare weight of the railcar exceeds the maximum allowed gross weight. The gross weight value can't be exceeded in operation of the car. With lite density cargoes all the volume will be used and the gross weight will be less than the max allowed gross weight. With heavy cargoes there will be unused volume left over but the gross weight always equals the max allowed gross weight.
We could do as Zec mentions and work around this by specifying a queue and setting the volume of the queue artificially based on the product's mass density so the product loaded plus the tare weight would not exceed the railcars maximum allowed gross weight. In fact in native Trainz this is the only way we can do this. Of course every bulk product we load would need a separate queue and volume determined by it's mass density. But typically in real hoppers cargoes won't be mixed and the same cargo space is used for all cargo products carried.
Using the method Zec discusses we still have the problem where a heavy cargo would not fill the "real" hopper up when it reached the max weight limit but we'd see the hopper 100% full in Trainz because the queue we specified is 100% full. Would we need different animations to represent each product density? Or a custom script and a way to determine what % of total hopper volume this queue represents? The actual volume available to load in the real car never changes but doing it this way we have to change that volume for each product carried.
Well, back in TRS04/06 era some creative content creators (lars was one) set up a script system and a railcar tag, the maxweight tag, to fix this. The maxweight tag provides a way to specify the maximum allowed gross weight of the car. I believe and many others back then did too that this was an oversight in Trainz. It is still not part of native Trainz and therefore up to each content creator to make use of this or similar systems or not make use of them as they see fit. But in short, systems like this work like the real world does and limit both the volume loaded so it does not exceed the volume available and at the same time also ensure the weight loaded will not cause the railcar's maximum gross weight to be exceeded - regardless of what product is loaded into the hopper. This system uses both the available volume in the queue and the product's mass density to determine how much product is loaded. And I'll repeat: native Trainz does not do this. And to implement it we only need the 1 additional tag and the 1 queue volume that represents the actual volume for the railcrar hopper to work with any bulk cargo.
Bob Pearson