Template:Table/Template:InheritSegmentTable

From railML 2 Wiki
Revision as of 06:45, 3 September 2020 by RailML Coord Rollingstock (talk | contribs) (formatting)
Jump to navigation Jump to search

This is an example for using the segmentTable for defining a tractive effort curve. The curve is compsed of polynomials per several intervals/segments making the full speed range.


graphical representation of the curve:

SegmentTable04.jpg

tabular representation of curves:

SegmentTable01.jpg

railML® code:

<rail:vehicle id="r002" speed="220">
	<rail:engine>
		<rail:propulsion power="5200000" id="r003" powerType="electric">
			<rail:tractiveEffort>
				<rail:segmentTable segmentStartValueName="speed" segmentStartValueUnit="km/h" functionValueName="effort" functionValueUnit="N">
					<rail:columnHeader exponentValue="0"/>
					<rail:columnHeader exponentValue="1"/>
					<rail:columnHeader exponentValue="2"/>
					<rail:valueLine segmentStartValue="0">
						<rail:values coefficentValue="300000"/>
						<rail:values coefficentValue="-373.8"/>
						<rail:values coefficentValue="0.15"/>
					</rail:valueLine>
					<rail:valueLine segmentStartValue="78">
						<rail:values coefficentValue="720098"/>
						<rail:values coefficentValue="-8095.9"/>
						<rail:values coefficentValue="30.19"/>
					</rail:valueLine>
					<rail:valueLine segmentStartValue="100">
						<rail:values coefficentValue="582600"/>
						<rail:values coefficentValue="-5312"/>
						<rail:values coefficentValue="16.1"/>
					</rail:valueLine>
					<rail:valueLine segmentStartValue="120">
						<rail:values coefficentValue="461478"/>
						<rail:values coefficentValue="-3319"/>
						<rail:values coefficentValue="7.9"/>
					</rail:valueLine>
					<rail:valueLine segmentStartValue="160">
						<rail:values coefficentValue="356950"/>
						<rail:values coefficentValue="-1991.2"/>
						<rail:values coefficentValue="3.69"/>
					</rail:valueLine>
					<rail:valueLine segmentStartValue="200">
						<rail:values coefficentValue="304170"/>
						<rail:values coefficentValue="-1450.9"/>
						<rail:values coefficentValue="2.31"/>
					</rail:valueLine>
				</rail:segmentTable>
			</rail:tractiveEffort>
		</rail:propulsion>
	</rail:engine>
</rail:vehicle>

The segmentTable allows the definition of arbitrary curves by using polynomials as equivalent for the original function y=f(x) within segments. For the entire table all needed exponents i needs to be specified. If the exponent i is not used for a particular interval the related coefficient ai shall be 0. For each interval the coefficients ai are given per valueLine. The limits of the intervall are definied by the segmentStartValue of that valueLine as the lower (inclusive) limit and the segmentStartValue of the next valueLine as the upper (exclusive) limit. In case there is no next valueLine the maximum is given by other values. In the example the maximum is taken from the speed attribute.

Using this construct of the segmentTable the resulting y-value for each arbitrary x-value can be easily calculated solving the related polynomial.

SegmentTable.png

For the x=110 the polynomial would be 582,600*110^0-5312*110^1+16.1*110^2 = 193,090.