Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Majola Lumko 2000

Download as pdf or txt
Download as pdf or txt
You are on page 1of 212

THE OPTIMISATION

OF

TRAIN MAKE-UP AND TRAIN

HANDLING - SIMULATING LONGITUDINAL

TRAIN DYNAMICS

LUMKA MAJOLA

Submitted in fulfilment of the requirements for the degree of Master


of Science in Engineering, in the department of Mechanical
Engineering, University of Natal, Durban.

Submitted 2000
ABSTRACT

The South African rail industry is undergoing a phase of restructuring and much focus
is concentrated on re-engineering i.e. optimising the utilisation of available assets and
using existing technology in order to improve efficiency; attention shifts to improved
heavy haul asset management through train performance models.

The computer programs presented in this thesis have been developed to calculate
longitudinal in-train forces accruing in long heavy haul trains and their effect on train
operations. The model of the train is implemented by dedicated differential equations
for the movements of each vehicle. The simulation is menu driven for all input and
output decisions using Microsoft Excel while the engine for the dynamic analysis is
ACSL (Advanced Continuous Simulation Language).

The main program is capable of simulating the operation of any train configuration
over any route, including remote operation.

The thesis comprises: -

• a discussion on the need for alternative train configurations based on the current
fleet and the potential of such operating changes;

• the comparison of the dynamic response of trains operating with only head-end
locomotives, trains operating with both head-end locomotives and remote
locomotives and trains operating with different class locomotives in one
locomotive consist;

• the investigation of the lateral effects in the different train consists as a function of
the longitudinal in-train force in the simulation environment·,

• the advantages of operating with remote locomotives in terms of increased train


length, reduced force spectrum on vehicle components and improved energy
consumption;
• the implications of the optimum position of the in-train locomotive consist on
loading and unloading operations;

• the implications of different train configurations on driver technique or train-


handling and the need for an optimum driving strategy to gain maximum benefit
from the locomotives.
ACKNOWLEDGEMENTS

I express my gratitude to the following persons and organisations for their


contributions and assistance towards this thesis :-

Professors V. Verijenko and S. Adali for their guidance and support through the
duration of the research. Their guidance is gratefully acknowledged; in the end, I can
only hope that their high standards will be met.
I am also indebted to Dr. S. Kaczmarczyk for his constructive criticism and assistance
in drafting this thesis. My team - D. Reddy and B. Desmorat for their assistance
throughout the computer programming and modelling which are the basis of this
thesis.

Support of this work from Spoomet is gratefully acknowledged. Only with the
experienced assistance of Mr. Willem Vorster was it possible to create viable
simulation models. This co-operation was realised by the effort of Dr. C.l . Dutton of
Spoomet.

Kgomotso Matseke for all his moral support when things got strenuous towards the
end.

I wish to dedicate this thesis to my parents, family and entire clan for their
encouragement and support. With all your motivation, all the miracles I must achieve
in this lifetime, I will achieve.
CONTENTS PAGE
ABSTRACT
ACKNOWLEDGEMENTS
CONTENTS
TABLE OF FIGURES
LIST OF TABLES
DEFINITIONS

1 INTRODUCTION 1
1.1 Railway Energy Consumption
1.2 Freight Business Structure
1.3 Transport Economics
1.4 Operation Scenario
1.5 Management of Train Operations
1.6 Characteristics of Coal Line Trains
1.7 Objectives

2 MODELLING APPROACH 21
2.1 Introduction
2.2 Railway Vehicle System Models
2.3 Longitudinal Train Dynamics
2.4 Lateral Effects and Derailment Potential

3 SOLUTION TECHNIQUES 38
3.1 Introduction
3.2 Analytical Techniques
3.3 Numerical Integration Schemes
3.4 Digital Simulation

4 LOCOMOTIVES 58
4.1 Introduction
4.2 Locomotive Rating
4.3 Locomotive Characteristics
4.4 Wheel-Rail Parametric Relationships
4.5 Temperature Rise of Motors

5 TRAIN DYNAMIC RESPONSE 80


5.1 Longitudinal Train Dynamics
5.2 Train Components and their Mathematical Models
5.3 Locomotives in Multiple
5.4 Results

6 TRAINHANDLING 117
6.1 Introduction
6.2 Optimisation
7 T~PERFORMANCEPROGRAM 122
7.1 Program Control
7.2 Input Data
7.3 Output Records

8 CONCLUSIONS 130
8.1 Operation Improvements and Efficiency
8.2 Longitudinal Train Dynamics
8.3 Solution Techniques
8.4 Management of Train Operations

9 FURTHER WORK 133

10 REFERENCES 135

11 APPENDICES 138
11.1 Rolling Stock Characteristics
11.2 Train Configuration Program Code
11.3 Train Handling Algorithm
11.4 Program Control Macros
LIST OF FIGURES

Figure 1.1 (a) : Technical and Economic Criteria ....... ........ .... ... . ..... .... ....... .... 8
Figure 1.1 (b) : Socio-Political Issues ......................................................... 8
Figure 1.2 : General Model of Cost Effectiveness Analysis ........................... 9
Figure 1.3 : Cost-Availability Model. ................................................... 11
Figure 1.4 : The Two Stages of Life Cycle Management.. ............................ 16

Figure 2.1 (a) : The Co-ordinate System .................................................... .26


Figure 2.1 (b) : Forces Acting on each Vehicle ............................................ .26
Figure 2.2 : Wheelset Kinematic Motion on Straight Track ......... .. ... .. ......... .28
Figure 2.3 : Radial Position ofthe Wheelset in a Curve ............................... 28
Figure 2.4 The Railway Wheelset. ..................................................... .29
Figure 2.5 Jack knifing Measurement. ................................................. 30
Figure 2.6 Wagon Geometry ............... ... ... ........................................ 32
Figure 2.7 Forces in a Curve ............................................................. 33
Figure 2.8 Overturning in Curves ....................................................... 36

Figure 3.1 Co-ordinate System for the Model ........................................ 38


Figure 3.2 Runge-Kutta Fourth Order Algorithm .................................... .43
Figure 3.3 Structure of Input to ACSL ..... ............... .. ...... ... ................. 52
Figure 3.4 Main Program Loop of ACSL Model. ................................... 56

Figure 4.1 Locomotives Operating on SA Railroads ................................. 58


Figure 4.2 Series Wound Traction Motor ............................................. 61
Figure 4.3 Series Motor Characteristics ................................................ 62
Figure 4.4 DC Motor Traction Drives Regimes of Operation .. ............ ... ...... 63
Figure 4.5 Tractive Effort Curve ........... ......................... ... ....... .... ...... .63
Figure 4.6 Braking Effort Curve ........................................................ 68
Figure 4.7 Wheel-Rail Parametric Relationships ...................................... 71
Figure 4.8 The Relationship between Creep and Adhesion Coefficient. .......... 74
Figure 4.9 Traction-Creep Curve ........................................................ 75
Figure 4.10 Friction-Creep Curve on Dry Tangent Track .... ... ...... . ... ......... ...76
All speeds 16 - 32 kmIh

Figure 5.1 The Air Brake System ....................................................... 83


Figure 5.2 Flowchart for Air Brake System ............................................ 86
Figure 5.3 The Miner SL-76 Characteristic Chart .................................... 90
Figure 5.4 Functional Draw gear and its Action .......... .. .... ... ...... ... ... .... .. .92
Figure 5.5 In-train Forces for Head-end Operation ................................... 98
Figure 5.6 : In-train Forces for Remote Operation ...................................... 99
Figure 5.7 : In-train Forces for Mixed Consist Operation (head-end) ............... 99
Figure 5.8 : In-train Forces for Mixed Consist Operation (remote) ................. 100
Figure 5.9 : Simulation Results ..................................................... 102-112
to 5.29

Figure 6.1 Drawbar Pull behind Last Locomotive(tangent track) ................ 119
Figure 6.2 Velocity Profile of Leading Loco (tangent track) ...................... 119
Figure 6.3 Drawbar Pull behind Last Locomotive(ascending) .................... 120
Figure 6.4 Velocity Profile of Leading Loco (ascending) ......................... 120
Figure 7.1 : Master Menu .. ..... .. ................ ... ...... ........... ... ........ ... .... 123
Figure 7.2 : Locomotive Data Menu ... ................... ........... .... .............. 125

LIST OF TABLES

Table 1.1 Summary of Rolling Stock Working the Coal Line ........................ 18

Table 2.1 Critical Tractive Effort in Curves ............................................. 35

Table 3.1 The Effect of a and Pon Acceleration ........................................ 48

Table 5.1 The Train Configurations ....................................................... 96


Table 5.2 In-train Forces for Configuration # 1..........................................97
Table 5.3 In-train Forces for Configuration # 2 .......................................... 97
Table 5.4 In-train Forces for Configuration # 3.......................................... 97
Table 5.5 In-train Forces for Configuration # 4 ............................. ............ 98

Table 7.1 Wagon Detail .... .. ............... ........ .................... .... .. ...... ....... 124
Table 7.2 Tractive Effort Data ............................................................ 126
Table 7.3 : Dynamic Brake Effort Data ................................................... 126
Table 7.4 Coupler Data ................. ........ ........................................... 127
Table 7.5 Track Data .. .... ....... .................... ......................... . ... '" ...... 127
Table 7.6 Train Handling Data ............................................................ 128
Table 7.7 Brake Data ................................................................... .... 129
DEFINITIONS

Adhesion - The coefficient of friction between the wheel and the rail for acceleration
and retardation.

Air Brake System - All of the devices and parts included in making an air brake for
controlling the speed and stopping a locomotive or train.

Brake Cylinder - A cylinder, in which compressed air acts on a piston which,


transmits the force of the compressed air to the associated brake rigging.

Braking Force - The total force in Newtons pressing the brake shoes against the
wheels.

Coupler - An appliance for mechanically connecting rolling stock (railway vehicles)


together. The coupler comprises a draw head and a knuckle.

Creep - Part-elastic, part-frictional behaviour intermediate between pure rolling and


overall sliding of wheel on rail.

Draft Gear - A shock cushioning unit, installed to transmit compression and tension
forces between the coupler and vehicle structure.

Draw Gear - semi-rigid coupling between vehicle structures comprising coupler,


yoke, draft-gear element, loose rear stops and front follower.

Drawbar Pull - The force exerted on the coupler between the locomotive and trailing
mass which is equal to the locomotive tractive effort less the rolling resistance of the
locomotive.

Dynamic Brake - An electrical means used to convert some of the energy of a moving
locomotive into an effective retarding force.
Grade - A measure ofthe inclination of railway track. In North American practice,
grade is usually stated in per cent e.g. 1%. Elsewhere track grade is usually expressed
in terms of the distance along the track for unit of rise or fall e.g. 1 in 100 (1: 100).

Grid - An electrical resistor capable of dissipating quantities of electrical power.

Knuckle - The pivoted end joint of a coupler by means of which coupling is effected
between adjacent vehicles when the knuckle is locked.

Locomotive - A unit propelled by any form of energy or a combination of such units


operating from a single control station.

Retarding Force - The sum of external forces acting on a moving body tending to
oppose continued motion.

Slack - There are two kinds of slack: One is termed "Free Slack" and is the
accumulation of clearances and wear in the associated parts of the couplers. The other
type of slack is often called "Spring Slack" and results from the compression of draft
gears.

Tractive Effort - The force developed at all the locomotive driving wheels parallel to
the rail to move the locomotive and wagons. This force is directly proportional to the
locomotive horsepower and inversely proportional to the locomotive speed.

Wheel Slipping - The wheel rotating on its axis with motion existing between the
wheel and rail at the area of contact.

Wheel Sliding - The wheel not rotating on its axis and relative motion existing
between the wheel and rail at the area of contact.
N ornenciature
1.Modelling Approach

[M] = mass matrix

{x} = acceleration vector

{x} = velocity vector

{x} = longitudinal displacement vector


y = lateral deflection of the wheelset from the centre of curve

ro = radius of wheel

I = wheel centre to wheelset centre distance

Rc= radius of curve

r = angle at which wheel-treads are machined

v cr = over-turning speed

ell = Creep coefficient


F;ol/g = longitudinal force
Nomenclature
2. Longitudinal Train Dynamics

Xi = the longitudinal displacement of the ith vehicle

Xi = velocity of the ith mass


v = velocity of vehicle (km/h)

i . = acceleration of the ith vehicle


I

t = time
m , mass = vehicle mass
g = gravitational acceleration
h = gradient
D = degree of curvature
R(x) = draw-gear reaction force
Fp = draw-gear pre-load force
Fm = draw-gear maximum force
X = draw-gear travel
X = draw-gear velocity
a = draw-gear characteristic constant for compression
b = draw-gear characteristic constant for release
s = maximum draw-gear travel (stroke)
1. INTRODUCTION

As labour and fuel or power costs continue to escalate, so does the requirement to
operate longer and heavier trains more efficiently. The operational change implies a
reduction in cost to haul a tonnage of material. However, as train lengths increase, so
do problems related to train handling. In-train forces increase, higher fatigue damage
is incurred to rolling stock, and draft gear components and there is an increased risk of
a train breaking.

The prime objectives of this simulation study were to:


• evaluate the effects of operating with alternative train configurations on :
in-train forces and hence locomotive and wagon life cycle implications;
derailment potential;
energy consumption;
traffic capacity and train length;
running time;
operating costs;

• optimise train make-up and train handling based on the current fleet.

This meant presenting information on the longitudinal behaviour of long heavy haul
trains to allow the author to determine and to quantify the consequences of the
proposed operating changes.

1.1 Railway Energy Consumption

The increase in oil prices rendered railway electrification more attractive because of
its potential for reducing energy costs. The extent of this reduction depends, of
course, on the cost of electrical power and on the future evolution of oil and
electricity prices. Although electrification involves a large initial investment in fixed
installations and locomotives, it produces operating and maintenance benefits, which
increase with traffic. As a result, electrification becomes justified. There is also the
increased power capacity advantage that manifests itself in increased train speeds
bringing capacity and productivity gains.

Typically, 85% of the railways' energy consumption is for traction and depends
significantly on the driving techniques. For many railways, the most critical traction
issue is locomotive availability. The emphasis should be on reliability taking into
account environmental conditions, and maintenance facilities and procedures. These
aspects together with supportability form a group of entities in the system engineering
approach known as the "ilities". The importance of analysing the "ilities" in the design
and upgrade of systems will be discussed in subsequent sections.

Railways all over the world have been studying different methods to reduce energy
consumption. French Railways started developing programs for minimising energy
consumption as far back as 1984. The main feature was speed-distance diagrams
produced by central computers, off-line. Tests showed that when using these
diagrams, drivers obtained energy savings of about 10% for freight trains. The
Germans replied by studying the introduction of on-board microcomputers with
expected reduction in consumption of up to 20%. North American experience shows
that grouping vehicles to reduce wind resistance can reduce energy consumption by as
much as 10% on a given run. Furthermore, improved marshalling strategies not only
improve the overall efficiency of railway operations but also decrease energy
consumption [1].

Substantial improvements in the railways' energy efficiency appear possible by


improved train handling techniques. Computer-assisted driving could have substantial
impacts. Given the railway'S current rolling stock, a more realistic factor to consider
in the quest to increase the railway'S energy efficiency, would be better utilisation of
capacity. This would also reduce railway costs all round. This introduces the need for
a means of quantifying the merits of operating with different train configurations and
increased train lengths.
Categories of Energy Efficiency Improvement

The major areas that can ensure improved energy efficiency are:
• operational techniques. These include efforts to drive with reduced energy
consumption as the objective, better scheduling of vehicle operations and
improved maintenance of vehicles.
• vehicle engineering techniques. The concept involves replacement of parts,
sub-systems and systems of rail vehicles with improved or upgraded designs.
• replacement equipment techniques. Time-expired vehicles are replaced with new
vehicles of upgraded design. Justification for the investment might include the
reduction in maintenance costs, speed of service with energy cost reductions
offering an incidental benefit.

1.2 Freight Business Structure

In the 89 years since it began life as South African Railways and Harbours, Transnet
(a fitter name for the organisation that criss-crosses the country with a network of
different forms of transportation) has become a hugely important component of the
national economy and Spoomet is a division thereof. Transnet has evolved through a
number of transformation stages of which the most recent one was the formation of a
public company with the state as the only shareholder. This process was triggered by
a number of factors. As a result of this move, Transnet was called upon to operate in a
deregulated market on equal terms with its competitors.

1.2.1 How the efficiency of Spoornet compares with that of Canadian or


European railways

In some areas, Spoomet is top of the league. For example, the company has a train of
record length and size - the 16 locomotives, 660 wagons, carrying iron ore, 7.5
kilometres long and carrying 68 000 tons of freight - operating on the Sishen-
Saldanha line; on the Ermelo-Richards Bay line, Spoomet regularly run trains of
more than 21 000 tons, which makes the company a world leader. In other areas,
however, the South Africans are not among the best.
Spoomet shouldn't be compared with the European lines in terms of efficiency since
they are largely passenger-orientated while Spoomet carries mostly goods. But a
comparison with Canada would be more appropriate. The Canadians are ahead - for
example in saving manpower. From a macro-economic point of view, reducing the
number of jobs is perhaps not the best approach for South Africa.

The latest reports show that several pronouncements have been made regarding
privatisation of a number of Transnet's business undertakings, but at this stage,
various options are being explored.
According to management, there is no way Spoomet will be privatised. For the time
being, the possibility of concessioning certain divisions within the company will be
looked into. The difference between concessioning and privatisation lies in the
following. In the former, one gives the asset away for a specified period. Various
conditions are then attached to the transaction - like specifying that the new partner
would have to invest in the asset and that the maintenance must be of a certain
standard. Privatisation is an outright sale, not feasible in this country since there is no
open plan railway infrastructure. For now, Spoomet will have to concentrate on
transformation and re-engineering. This means that the company needs to optimise the
utilisation of its assets and use existing technology for improved efficiency.

Spoomet's recent past has been characterised by the need to meet the challenges
placed on the business by its markets, customers, competition and shareholders. This
has led to the conception of a business structure with 3 specialised business units -
COALlink, benchmarked as a world best in providing a competitive edge to our
export coal customers on the Richards Bay Coal Line, OREX, providing dedicated
export iron ore transport on the Sishen-Saldanha Line. The remaining General Freight
Services is grouped into 15 industry based business sectors which forms mining,
heavy manufacturing, and light manufacturing divisions.

1.3 Transport Economics

Transport is the life-blood in the effective functioning of any entire economic system.
The transport system is, without doubt, one of the most important components of any
infrastructure and particularly important to South Africa due to the long distances that
have to be covered in moving goods - about 600km for coal and 860km for iron ore.
Without the steady development of the rail network (now operating under the name of
Spoornet), South Africa's economic and social development would have been
rendered redundant, and so would that of other countries in the southern and central
Africa, for they had long depended essentially on the surge provided by this country's
economIc expansIOn.

In South Africa, as in many other countries, the electrical operation of railways plays
a significant role. The statistics of South Africa's railway undertaking give the
following figures : of the total traffic demand in tonne-kilometres some 80% are
carried by the railways. The gross tonne-kilometres performed, 82% were provided by
electric traction and 18% by diesel traction. Steam traction was eventually terminated
except for enthusiast trains.

In the above-mentioned regard, Spoornet is very much aware of the important role it
has to play in the effective countrywide transportation system by means of the
provision of acceptable rail services and facilities. This demands technical
innovations to reduce the cost of existing rolling stock. Improved energy efficient
technologies have to be introduced to rail transport at a rate consistent with changing
competitive conditions and the need to achieve certain financial objectives.

Freight transport by rail comprises 2 principal types of operation all of which are
operated exclusively by Spoornet. These operations are:
• bulk freight carried in trains each operated solely for an individual customer. The
major portion of this operation is coal (33%) and iron-ore (18%), carried from
mining field to harbour.

• general freight which constitutes 49% of the total market. This service includes
solutions for industries, such as mining and mineral, steel, wood and timber, and
consumer ware.

To provide these services in line with market demands, a market-oriented approach is


required. This would lead to better utilisation of rail freight services. What is in effect
required is a market-oriented transport service with improved efficiency and
effectiveness that can fulfil the present day needs of customers functioning in a
dynamic economic environment. In these circumstances, continued research on
development and the adaptation of services becomes a necessity to enable the operator
or service provider (Spoornet) to remain economically viable.

1.3.1 Market-oriented Rail Freight Service

In so far as Spoornet is concerned, marketing of rail freight services should be seen in


a more comprehensive context than merely the "selling" of the services. A wider
spectrum of activities must be covered such as the following:

(1) Market Analysis


determining the scope and nature of the total market in question;
evaluating own strengths, weaknesses and opportunities;
identifying the segments of the total market;
establishing the degree to which the total demand is satisfied;
developing services to suit such needs.

(2) Interpretation and definition oftransport needs.


(3) Development and adaptation of services to fulfil the changing transport needs.
(4) Improvement of existing services on aspects such as reliability, speed,
effectiveness, performance, cost and competitiveness.
(5) The understanding of customer needs and problems with a view to increase
customer satisfaction and improvement of the image of the organisation.

1.3.2 The Competitive Edge

South Africa is now part ofthe "global village" and will have to increase its
productivity if the country is to stay competitive in international markets. Spoornet
remains the indispensable link in the country's economy as it provides transport and
related services in local, regional and world markets for profit. The challenge of
creating a modem, dynamic and reliable railroad is the key to survival. Every tool at
our disposal will have to be utilised to accomplish this. Regardless of the type of
industry involved, the "ilities" as discussed below playa key role in achieving this
objective.
An operating system exists because it contributes towards the achievement of
strategic objectives of its owner. Rolling stock exists because it contributes
commercially to Spoomet where performance generates profit. Cost Effective
Analysis (CEA) is a decision aid that can be used by decision-makers to consider all
the technical attributes and performance characteristics of train systems and sub-
systems within a unified evaluatory framework. This allows system effectiveness and
costs to be predicted over the entire life cycle of the rolling stock. CEA is the subset
of the overall systemic worth assessment procedure limited to technical/operational
factors. Figure 1.1 shows subjective issues in evaluating system worth i.e. technical
and economic factors, and socio-political factors [2]. A summary of the range of
evaluating criteria that can be brought into the assessment of the overall systemic
worth is shown. System effectiveness is a figure of merit that indicates how well the
system meets operational requirements.
Figure 1.1(a) : Technical and Economic Criteria

Figure 1. 1 (b) : Socio-Political Issues

8
A simplified general model of CEA is shown in Figure 1.2 and a more complex model
is presented by M'Pherson [2].

Corporate ........_ _ _...


1-----1 Objectives System
' - - - - - - t Objectives Operational
Scenarios &
Requirements

SYSTEMIC EVALUATION

Figure 1.2 : General Model of Cost Effectiveness Analysis

9
1.3.3 Analysing the "i1ities" in the Upgrade
Of Systems

When designing and/or upgrading a system, it is very important to analyse the so-
called "ilities". These are :

• Availability
• Reliability
• Maintainability
• Supportability
The factors all affect the stock turnover rates and system operational costs.

Availability

Availability indicates the relative ability of the train system to be up and running
when required to meet an operational requirement. It is mostly cost related and
consistent with reliability and maintenance targets. Unavailability (forced or
scheduled) may lead to loss of revenue while high availabilities lead to high capital or
procurement costs. There is an optimum availability which is found by marginal
costing techniques comparing capital and operating cost charges with revenue
improvements due to increase availability. Proper maintenance and reliability of all
rolling stock and sub-systems minimise forced unavailability. Figure 1.3 shows the
relationships between costs and availability [2].
The two most important contributing cost / availability relationships are:
(1) Capital or procurement costs rise very steeply at high availabilities because of
reliability assurance and system configuration costs;
(2) Breakdown costs or loss of revenue are negative and linear from 0 at lOO%
availability to total loss at zero availability.

It can be seen that an optimum availability exists. This optimum is found by marginal
costing techniques comparing capital and operating cost charges with revenue
improvements due to increased availability.
Cost

o 100%
Availability

Figure 1.3 : Cost-Availability Model

CT = Overall Costs
CR = Total Running Costs
Ao = Optimum Availability
CB = Breakdown Costs (or Lost Revenue)
Cp = Capital Cost
Cv = Variable Running Cost
Cf = Fixed Running Cost

Reliability
The importance of reliability in industry in relation to both economics and safety has
grown enormously in the past decade. A technology of analysis, assessment and
monitoring has grown and is now available to management and engineers to help
them ensure reliability of products, systems and services. Reliability can be defined
as :
"The characteristic expressed as a numerical probability of a system that it will
11
perfonn a defined function in the required manner under all relevant conditions
whenever it is required to do so."

Reliability considerations that need to be taken into account are :


• the environment in which the rolling stock must operate;
• the train system's design defects and all constituent components and sub-systems;

• degradation due to operations and maintenance procedures;

• management of the rolling stock and minimising penalties and danger.

Maintainability
Acceptable maintainability characteristics need to be ensured and hence the overall
train system availability. With predefined train maintenance policies, operating
environment and procedures strictly adhered to, high operational reliability can be
maintained. Maintenance scheduling need to be brought into line with operational
requirements. Further, life expectancy levels can be maintained and the risk of
unavailability (and the implications thereof) is minimised.
Over the last half century, the philosophy of how and when maintenance has to be
perfonned has changed.
According to [3], maintenance techniques have evolved through a number of
generations viz. :
(1) First generation (1940 - 1950)
• Technique
- Fix it when it broke
(2) Second Generation (1950 - 1980)
• Technique
Scheduled overhauls
Systems for planning and controlling work;
Use of big, slow computers.
(3) Third Generation (1980 - 2000)
• Technique

Condition Monitoring;
Design for reliability and maintainability;
Use of small, fast computers and decision support tools such as failure mode
and effects analysis, expert systems etc.;
Multiskilling and team work.

The traction division of Spoomet is in the process of adopting the Reliability-Centred


Maintenance (RCM) approach to maintaining its vehicles. The RCM process has been
defined as follows:
Maintenance: ensuring that physical assets continue to fulfil their intended
functions.
ReM: a process used to determine the maintenance requirements of
any physical asset in its operating context.

Seven questions must be answered about each selected asset in the process of RCM
and these are :
• what are the functions and associated performance standards in the operating
context;
• in what way does it fail to fulfil its functions;
• what causes each failure;
• what happens when each failure occurs;
• in what way does each failure matter;
• what can be done to prevent each failure;
• what should be done if a suitable preventative task cannot be found?

Supportability

Supportability enhances the overall system effectiveness and assesses the implications
of train system reliability and maintainability on system support. Defined at
procurement stage, supportability requirements must be consistent with reliability and
maintainability targets.
1.4 Operation Scenario

In the last two and a half decades, two main lines have been built to transport bulk
export commodities viz., coal and iron-ore from mine to port. These two lines are the
Sishen-Saldanha Bay Line, the so-called "Ore Line" and the Ermelo-Richards Bay
Line, the so-called "Coal Line". For a variety of reasons, these roads have found it
necessary to operate the longest, heaviest trains possible within the capabilities of the
track structure, vehicle structure and locomotive haulage capacity. Not the least of
these considerations is the need to minimise the total number of trains in the operating
circuit to avoid line congestion while transporting between 22 million and 65 million
tons of freight per annum. This in turn requires a thorough understanding of the
longitudinal behaviour of such trains. To reach this goal, accurate and efficient
simulations are essential to complement practical research.

Of particular interest in this case is the Coal Line. The line was built with the primary
purpose of transporting coal in bulk for export from Richards Bay Harbour. Initially,
about 10 million tons of coal was the annual export target through the port, but the
figure has over the years been increased and currently rests on the 62.5 million ton
mark. At first, it was decided that the line would be operated by diesel-electric
locomotives. In 1973, as a direct result ofthe energy crisis and increased costs of
imported fuel, it was decided that the line should be electrified and 25KV AC traction
has now been introduced.

In recent times, even the price of locally produced electric power has increased
enormously and energy efficiency improvement has become of primary importance. It
is therefore an opportune time to consider the economics of electric traction and on
this line in particular. To transport 62.5 million tons of coal from Ermelo to Richards
Bay, the gross traffic handled amounts to 170 million tons annually and the quantity
of electrical energy is more than 380 million kWh per annum based on current
operating strategies. This figure should not vary significantly with different
locomotive combinations and the sizes of individual trains nor the usual variation in
speed on this line. A question that will be answered is that of the influence of
remotely controlled locomotives on this figure.
1.5 Management of Train Operations

The effective technical management of rolling stock is the foundation for success of
any railroad. An essential element of railroad heavy haul asset management is the use
of computer models for operations planning and as decision support tools to optimise
the present investment in plant and equipment. The use of such models allows heavy
haul railroads to optimise the physical plant and maximise the productivity of each
train set.
To provide a very focused approach to the life cycle management of rolling stock, i.e.
managing the system effectiveness, life cycle cost, and safety, a department known as
Rolstock was created in 1988 to act as a custodian of all rolling stock belonging to
Spoomet. The most important issues in this concept are the functions of Business
Management, Project Engineering, Technical Fleet Management, and Technical
Ownership. In Rolstock, the life cycle management is handled in two distinct stages
as shown in Figure 1.4. Stage one consists of the system definition and specification,
design and development, and manufacture and procurement phases of the life cycle.
Stage two focuses on operating and support, and retirement and disposal phases of the
life cycle. For effective working of this process, people and information play an
integral role; the ultimate aim being the support of customer requirements and not
only Spoomet's survival but the provision and care of reliable rolling stock to enable
Spoomet to achieve maximum advantage from the market.
I'
System Definition & Specification

Stage 1 ... Design and Development

Procurement and Manufacture Life Cycle


\,

,. Operating and Support


Stage 2_

l Retirement and Disposal

Figure 1.4 : The Two Stages of Life Cycle Management

Six main departments exist within the Rolstock organisation and these are (with their
functions) as described by de Bruyn [4] :
• Business Management that:
- establishes and interprets customer requirements as either new
rolling stock, modified rolling stock or changes in the maintenance plan;
- monitors customer satisfaction.
• Engineering Services that:
takes responsibility for stage one oflife cycle management through the Project
Management group;
contributes towards the effective management oftechnology through "Very
Important Technology" owners (VIT owners). Examples ofVIT areas are
Bogie design, Couplers & Drawgear, Brake System and Traction Control
Systems.

=> VIT owners identify the technology needed to balance the customer
requirements with Spoomet's survival.
• Fleet Services that :
takes responsibility for stage two of technical management of rolling stock
through Technical Fleet Managers, Technical Owners, Maintenance
Engineering, Maintenance Operations, Industrial Engineering and
Configuration Management .
~The focus of the Technical Owner is the technical management of the

rolling stock in the operational environment. He takes ownership of the asset


and integrates the technical management with the customers and establishes
long, medium and short-term maintenance plans according to the condition of
the fleet.
There are in total 17 technical owners in Rolstock managing a total of
approximately 3200 locomotives, 131 180 wagons and 1300 main line
coaches.
~ The Technical Fleet Manager takes responsibility for the long-term fleet
planning of a logical grouping of rolling stock; this includes replacement and
modification decisions, capital plans and matching client requirements with
the available fleet. He monitors the utilisation of rolling stock assets within the
operational environments.
~ Maintenance Engineers establish the condition of local fleets and the
influence of local conditions on the performance and reliability of the rolling
stock, identify and eliminate faults on rolling stock, facilitate short-term
maintenance planning and scheduling.
supports the rolling stock in the operational environment through fleet
planning and maintenance activities.
~ Configuration Management supports the asset and maintenance process
by ensuring that maintenance procedures are carried out according to
instruction.
• Asset Management that :
supports the effective technical management of rolling stock through Risk
Management (including statutory requirements), Materials Management,
Quality Assurance, Management of Capital spending, and Information
Systems.

• Finance Management;
• Human Resources.
Much of the discussion above centred on a concept representing the "hard' assets of
heavy haul rail system. It has become more difficult to squeeze productivity
improvements out of the "hard" assets and focus shifts to using the above mentioned
process together with what is known as the "soft" side of railroading i.e. the use of
computer modelling. Used in tandem, they will allow the heavy haul planner to
optimise train service, train schedules, maintenance windows, and physical plant

improvements.

1.6 Characteristics of Coal Line Trains

The export Coal Line uses the following rolling stock :-

Type Name Rating Rating Balancing Tractive Effort Mass


(kW) (kV) Speed(krn/h) (kN) (ton)

Locomotive lIE 3880 25 34 580 174

7E3 3000 25 34 450 168

Wagon CCL-1 80

CCL-3 80

CCL- 5 104

CCL-7 104

CCL- 8 104

CCL-9 104

Table 1.1 : Summary of Rolling Stock Working the Coal Line


It is current practice on the Coal Line to run :
• 100 wagon trains with the wagons coupled together in pairs;
• 200 wagon trains with the wagons coupled together in rakes of four wagons.
The rakes are coupled via standard draw gear assemblies. Within the rake, the
wagons are coupled via a draw bar. The characteristics ofthe coupling mechanisms
will be discussed in detail in Chapter 5.
Dutton [5] discusses the merits of train consists comprising semi-rigidly coupled rakes
of rigidly coupled wagons and puts the concept of "slackless" into perspective. Focus
was on extending component life cycles by incorporating a coupling mechanism
which would reduce the in train forces experienced by the wagons.

Advantages of the slackless system include the following:


• Reduced potential for train separations, derailments and lading damage due to an
improved force spectrum;
• Moderate slack action is experienced;
• Air brake problems are reduced due to the elimination of conventional glad hand
type connections;
• The solid connections minimise jack knifing capability and hence lateral forces;
• The aerodynamics of the train is improved due to pulling the wagons together and
reducing inter-wagon turbulence and drag.

• The Coal Line is approximately 580 km long with a ruling gradient of 1: 160.

Based on current operating data, the locomotive design is optimal in that any
additional train mass will have to be accompanied by additional locomotives with the
associated increase in costs based on the operating techniques. We then have to look
at other ways to improve utilisation of the current fleet and optimise its capability.

10
1.7 Objectives

This thesis will attempt to answer the questions listed below along with appropriate
recommendations:
• what are the effects of operating with remote locomotive consists on in-train
forces and component life cycles, energy consumption and train length;
• what is the optimum position of the in-train locomotive consist given different
boundary conditions such as force spectra etc.;
• what are the effects of operating with mixed locomotive consists and their
implications;
• what are the implications of such operating changes on train handling and how a
train is made up;
• is there an optimum way such trains could be driven to gain maximum benefit
from the locomotives;
• would the introduction of such train configurations have an effect on derailment
potential;
• is an active draw gear unit or passive draw gear unit required for the locomotive
consists.
2. MODELLING APPROACH
2.1 Introduction

A model represents essentially 3 aspects of knowledge about the system :-

• structure ofthe system;


• parameter values;
• response of the model.

To assess the validity of the model, several questions must be answered after a set of
validation criteria has been defined. These questions include the following:
• Can the model with the given structure describe the actual behaviour of the train;

• What simplifications and neglections are justified;


• What parameter values give an optimum correspondence between theory and
experiments;
• Are these parameters different for different velocities, class of vehicle(s) , operating
conditions and train configurations;
• What is the accuracy of the optimum description;
• Is the description of forces correct.

The model would not have been particularly good because it had many degrees of
freedom or many parameters, or because it includes non-linearities; only its capability
to compute the force distribution and assess stability would determine the reliability
of the mathematical model.

2.2 Railway Vehicle System Models

The study of the dynamic behaviour of rolling stock and train consists can be divided
into two basic groups: the study of the dynamic response and the study of dynamic
stability. The former concentrates on predicting the dynamic behaviour of the system
under different operating conditions while the latter is aimed at investigating the
stability of the system under different operating conditions.
Garg and Dukkipati [6] suggest that railway vehicle system models can be divided

into 8 main groups viz. :


(1) Vehicle Dynamics
(a) Vertical/Lateral Dynamics Models designed to study the dynamic response of
a vehicle to track irregularities.
(b) Lateral Stability Models used to predict the critical speed, wheel-rail forces,
suspension and vehicle body forces and displacements.
(c) Curving Models used to calculate the dynamic or quasi -static forces 0 f a
vehicle during curve negotiation.

(2) Train Dynamics


(a) Longitudinal Dynamics Models used primarily in studies of in-train forces i.e.
forces between adjacent vehicles.
(b) Lateral Stability Models aimed at investigating the effects of coupler
alignment control, length of couplers, and vehicle geometry on train stability
in the lateral plane.
(c) Vertical Stability Models used primarily to study a string of vehicles for
coupler separation under impact conditions.

(3) Freight Dynamics


(a) Freight Impact Models used to study lading damage caused by impact in
switching yards.
(b) Freight Damage Models aimed at investigating freight damage due to the
dynamic actions that occur in transit.

Generally, in constructing a mathematical model for studying the dynamic behaviour


of a train consist, the components of the system are assumed to be rigid bodies with
the characteristic six degrees of freedom which correspond to 3 displacements
(longitudinal, lateral and vertical) and 3 rotations (roll, pitch and yaw). 6N differential
equations would be required to represent the system mathematically. N is the number
of components in the system.

Relatively weak coupling exists between the vertical and lateral motions of a vehicle.
It is thus not necessary to include the lateral degrees in the vertical response and vice
versa. For vertical response, bounce, pitch and roll degrees of freedom suffice for the
analysis while in the case of lateral response, it would be adequate to use lateral, yaw
and roll degrees of freedom. In studies of longitudinal behaviour, the longitudinal,
pitch and roll degrees of freedom of components can be included in the model. In this
study, only the longitudinal degree of freedom will be considered to predict coupler
forces, speed, distance and time relationships etc.

2.3 Longitudinal Train Dynamics

Longitudinal train dynamics models have been developed over the years expressly for
use in studies concerning train makeup, train handling, braking system design and to
investigate cushioning devices and their design.
Longitudinal forces are very important and must be monitored since they are
primarily responsible for broken draw gears, wear and fatigue involving broken
components and they can affect train operations noticeably. Factors that affect these
forces include:

• number of locomotives and wagons and their related weights, dimensions and
positions;

• grades or the curvatures over which the train operates;


• characteristics of the braking system used;
• types of draw gears used;

• the speed ofthe train and the types ofthrottle used in brake manipulation to control
the train.

Train movement and traction duty cycle results in dynamic interactions among
individual vehicles and between vehicles and the track. The longitudinal in-train
coupler forces playa significant role in safe, efficient and stable train operations. The
area of longitudinal train dynamics deals primarily with the study of the development of
these in-train forces and their resulting effect in the vertical, lateral, and longitudinal
directions.
2.3.1 Longitudinal In-train Forces

In this chapter, the parameters significant to train dynamics, and in particular


longitudinal train dynamics, are introduced. These represent patterns to be looked out
for in the simulations presented in Chapter 5.
With head-end powered trains, in-train force variations are primarily due to:
• variations in the steady state forces;
• impact forces.

Steady-state Forces
These forces occur due to the combined influence of various external forces acting on
the train, including those due to the track gradient, rolling and curve resistance,
tractive effort and train brakes.

Impact Forces
Impact forces are usually superimposed onto the steady-state forces and occur when
run-in or run-out waves pass through the train due to the transition existing between
wagons in tension and those in compression in response to variations in the steady-
state forces . As the name suggests, they result from the impact between single wagons
or a block of wagons.

With trains using remotely controlled locomotives, in-train force variations are
primarily due to:
• variations in the steady-state forces;
• impact forces;
• longitudinal vibration of a fully stretched or fully compressed train.

The description of the first two types offorces is the same as the case of head-end
powered trains. The third type of force, i.e. longitudinal vibration, takes place in two
stages, one preceding the other in the following manner:
(1) Cyclic Vibration - occurs as the train attempts to reach an equilibrium state. This
creates local impact forces in the vicinity of the remote locomotives.
(2) Longitudinal Sustained Vibration - occurs when the total train is in tension or
compression. If some excitation (e.g. motoring or braking) is applied to the train,
the whole train vibrates like a continuous body.

The longitudinal vibration will continue until:


• a change of state occurs anywhere along the length of the train and at least one draw

gear is in the relaxed state.


• the in-train force anywhere along the length of the train is sufficiently low for the
coupler to enter the relaxed state.
• the vibration has been damped out by the structural damping from the couplers.

2.3.2 Slack Run-ins or Run-outs

A train can either be in buff or draft mode. In the former, all the vehicles in the train
consist are SUbjected to compressive forces while in the latter, tensile forces dominate.
Slack run-ins or run-outs manifest themselves as peak forces of brief duration at any
location within the train. Run-in (longitudinal in-train compressive) and run-out
(longitudinal in-train tensile) train actions are initiated as a train passes over track
having grade changes of sufficient magnitude to overcome the available tractive effort
or braking.

Run-ins:
• may crush a truck frame;

• break a coupler;
• cause wheel climb on outer rail on a curve and damage to the track by accentuating
the angularity between adjoining couplers;
• may cause overspeeding of locomotives resulting in derailment.

Run-outs:

• are more damaging when they peak near the front or rear end of the train;
• may cause train separation through failure of coupler, knuckle, yoke or draft gear
lugs;

• may cause wheelclimb on inside rail and thus may overturn the inside rail on a
curve;
• may rupture the underframe of a wagon.

2.3.3 Vehicle Model

To determine total train forces, information on all the forces acting on each vehicle is
required. The couplings between vehicles in Figure 2.1 (a) denote spring and damping
elements. The forces shown in Figure 2.1 (b) are considered to act on each vehicle
during train movement.

Vehicle n Vehicle 2

l H ~l HLocoJ
E () E· E C
n

l l (l
Ftrl

Frr,Fbrk,Fc,Fgrad

Figure 2.1 (a) : The co-ordinate system Figure 2.I(b) : Forces acting on
each Vehicle

Fbrk = Force due to air brake application


Fe = Force due to curve resistance
Fgrad = Force due to grade resistance
FtraC/Fdyn = Drawbar force due to tractive effort or dynamic braking force
Frr = Rolling resistance due to friction between wheel and rail
Ftrl = Rear coupler force
Flead = Front coupler force

The development of each of the above-mentioned external forces is discussed in


Chapter 5. Once the external forces are known, the acceleration or deceleration of the
entire train mass can be calculated. Each vehicle is treated as a single mass at all times
and a general system of equations developed to calculate the motion of the train at all
times. The equations of motion (discussed in detail in Chapter 5) for the entire train

system are written as :


[M ]{x} = {g(x,x)} (2.1)

where g is a function of the response, x, and x

2.4 Lateral Effects and Derailment Potential

The study presented in this thesis focuses on longitudinal train dynamics. Under
certain conditions e.g. high compressive forces on straight track and high tractive
forces in sharp curves, lateral dynamics and derailment potential investigations pose
special interest. The lateral effects are examined as a function of the longitudinal in-
train force and draftgear system configuration. Overturning in sharp curves is assessed
through the wheel unloading on the outer rail. This should not exceed 60%.

2.4.1 Lateral Effects

This section is aimed at presenting a global idea of how in-train forces influence the
lateral response of wagons in a long train. The lateral wagon movement due to in-train
forces can be explained as follows:
Due to gauge clearance between a wheelset and the rails, the wagon can move
laterally between two rails as shown in Figure 2.2. The wheel-treads are machined at
an angle r to the rotational axis of the axle so that when the wheelset is displaced
laterally with respect to the track, a rolling radius differential is generated between the
wheels of the wheelset. The radius differential generated by the wheel set
accommodates the difference in the distance rolled between the inner and outer
wheels in a curve or when the wheel set is executing a centering motion on straight
track (Figure 2.2) and radial alignment on curved track (Figure 2.3) all presented by
Toumay [7].
n
-,., -- -- - _. ~

Figure 2.2 : Wheel set Kinematic Motion on


Straight Track

I~
I
i ii
I
I - - t"-y I
I I
L-~~~I r---~~
~-t+--tt-- - ----1l.t+
.l+-- - --tt-+:
' -----'I'~--.I
I 1 - - - -..........-----41 I
-t-. L ~
L
I i I I

\ \LWhee~ \
L Track
J
'\ \

Figure 2.3 : Radial Position of the Wheel set


in a Curve
Figure 2.4 : The Railway Wheel set

The lateral deflection of the wheelset from the centre of the curve for pure rolling is :

(2.2)

There is also some lateral play and compliance within the bogie and within the
draftgear system. If the train is subjected to a tensile in-train force, the centre lines of
the wagons would form a straight line and no lateral force will be needed to keep the
wagons on the track. However, if the train is subjected to a compressive in-train force,
each wagon would tend to buckle away from the track centre line. The front bogie of
each wagon tends to the right resulting in the so-called jack-knifing phenomenon. To
keep the train on the track, the rail exerts lateral forces on the wheels.

Reasons for concern about these lateral forces and the jack-knifing phenomenon
include the following:
• many of the derailed wagons on the coal line come to rest in a jack-knifed pattern;
• excessive lateral displacement on the bogie can cause additional wheel wear due to
increased wheel creep forces;
• the HS-type bogies used on the coal line have low lateral stiffness which may
aggravate the jack-knifing behaviour.

Assuming that the drawbar rotates around its vertical centre, the lateral jack-knifing
displacement between two wagons can be calculated from two lateral drawbar
displacements in the manner presented in Figure 2.5. van der Westhuizen et al [8]
present the jack knifing measurement between the first two wagons from actual tests
on the track on two sections. The first section represents data recorded the 20 km post
to the 40-km post. The second section shows data recorded between the 40-km post
and the 69-km post.

wagon 2

wagon 1

Figure 2.5 : Jack-knifing Measurement

(2.3)

Where:

J = Relative lateral jack-knifing displacement between wagon 1 and wagon 2.


d = Draw bar length between pivot centres.
r = Distance between drawbar pivot centre and lateral displacement
measurement point.
D 1 = Lateral displacement of the drawbar relative to wagon 1.
D2= Lateral displacement of the drawbar relative to wagon 2.

The lateral movement ofthe drawbar relative to each wagon body can be measured
using two displacement transducers :

(2.4)
Fit = in-train force
k= constant = 40x 106 N/m
From the jack-knifing vs. in-train plots, the maximum lateral load on the drawbar
pivot can be estimated in the following manner:

Flat J

J .
0at = - Fzt (2.5)
d
Flat = Lateral load on draw bar pivot point.

Assuming that the jack-knifed wagon rotates about its vertical centreline, the lateral
load on the bogie can be calculated according to equation (2.6).
bogie centre
wagon centre draw bar centre

~ •
I'
x
4I
I
I
I
I y
I' ·1

Figure 2.6 : Wagon Geometry


y
F,at (Bogleo)=F,at x- (2.6)
X

Where:
FLat (Bogie) = Lateral load on bogie centre
x = Distance between bogie centre and wagon centre

y = Distance between drawbar pivot centre and wagon centre

2.5.2 Wheel Unloading and Traction

Wheel loads vary with variation in lateral acceleration of the vehicle. This is
particularly apparent in curves when the vehicle is subject to centrifugal acceleration.
Figure 2.7 shows the quasi-static forces acting on a vehicle in a curve [9].
Figure 2.7 : Forces in a Curve

M = total mass of the vehicle


U = centrifugal force
V = vehicle speed

H = height of the centre of gravity above rail level


h = track cant

B= Cant angle (Approximately !!..-. for small angles)


2a
g = gravitational acceleration
F = lateral force
2a = track gauge
Rc = radius of the curve

Taking moments about A:


R8 2a - (Mg cos B + U sin B)a + (U cos B - Mg sin B)H =0 (2.7)

For small B, cosB ~ 1 and sinB ~ B;


R82a - (Mg + UB)a + (U - MgB)H =0 (2.8)

The centrifugal acceleration is V2 and thus :


Rc

(2.9)

Summation of forces in the lateral direction yields :


F = UcosB-MgsinB (2.1 0)

For small B,
F=U-MgB (2.11)

(2.12)

Excessive traction forces in sharp curves can cause a train to be pulled to the inside
of the curve, and excessive compression forces can push wagons off to the outside.
The critical or overturning speed is reached when:

(,;' - gsinl1 JH ;, ga (2.l3)

For 2a = 1.l3,

(2.14)

The tractive effort exerted on couplers to give 60% wheel unloading is


2

F,rac(crir) = (2· M
B 2H
cosa asm + c cos
[ (2acosB
B) g
2
.)
-HsmB -0.2g(2a)+
0.0772V
Rc
+HcosB
]

.......... . ...... (2.15)

a = angle between the coupler and axis of the wagon

a = bg cos[~]
2Rc
+ bg cos[~] - 90
2Rc
o~ bgSin[2~]
L1 = Distance between coupler mounting points
b = Distance from mounting point of coupler on one wagon to the same point on the
next wagon in metres.
He = Height of the coupler above rail level in metres.

Results
Table 2.1 shows the influence of speed and degree of curvature on wheel unloading
and stability during curving.

Speed Radius
I(km/h) (m)
100 125 150 200 300 400 500

10 436.97 435.64 435.04 433.94 432.82 432.56 432.23

20 456.89 451.58 448.33 443.9 439.47 437.55 436.21

30 490.08 478.14 470.48 460.51 450.55 445.85 442.87

40 536.56 515.29 501.48 483.77 466.05 457.49 452.17

50 596.32 563.12 541.35 513.66 485.98 472.45 464.14

60 669.36 621 .55 590.07 550.21 510.34 490.75 478.77

Table 2.1 : Critical Tractive Effort in Curves


Overturning in Curves

0650-700
.600-650
0550-600
Ftrac (kN) 550 0500-550
500
450 .450-500
60 Speed
400 400-450
o 10 (km/h)
o 0
o
'I""" 'I""" 0 o
('I')
LO
Radius (m)

Figure 2.8 : Overturning in Curves

The results depicted in Table 2.1 and Figure 2.8 are presented in the fonn of the
maximum allowable tractive effort at a given line speed in a curve of a particular
radius.

Discussion
Inspection of the results illustrates the following:
• At low speeds, the tractive effort that will cause 60% wheel unloading on the outer
rail in a particular curve is less than that at high speeds. The low speed enables the
locomotives to exert high tractive forces that could cause a significant sideways
component of the coupler forces.

• There is a greater variation in the critical tractive effort at higher speeds as the
radius of curvature increases and the critical tractive effort decreases as the radius of
curvature increases for any given constant line speed.

36
• At speeds greater than 50kmlh and curve radii between 100m and 150m, there is
reduced chance of overturning. The maximum tractive effort that the lIE locomotive
is capable of delivering in this region is only 270 kN while the minimum tractive
effort required to cause wheel unloading is 590 kN.

Conclusion
• Care must be taken in train handling when negotiating sharp curves at low speeds
due to the high tractive forces that can be developed in this mode. Wheel unloading
may result in instability and hence derailment.
3. SOLUTION TECHNIQUES
3.1 Introduction

A train is a multiple-degree-of-freedom system in which vehicles represent the masses


and inertias, couplers denote spring elements and draw gears are damping elements as
shown in Figure 3.1 below [10].

~------------------------Xn------------------------~

Figure 3.1 : Co-ordinate System for the Model

The dynamic model is based on differential equations relating system parameters to


each other with time as the independent variable. There are many forms in which
these equations may be formulated for solution, the most common being a set of state
equations for the system. This form has not been easily adapted to the modelling of
vehicle dynamics due to the difficulty of relating the parameters of the physical
system to the coefficients required in the state-variable formulation. However, state-
variable equation solutions have been invaluable in the analysis of many vehicle
subsystems. The direct differential equation formulation approach has been more
widely used, with the early solutions obtained by means of analogue computers. The
analogue computer has largely been supplanted by software packages for digital
computers designed to simulate the operation and programming techniques used on
analogue computers. These packages include CSMP (Continuous System Modelling
Program), Simscript, ACSL (Advanced Continuous Simulation Language) and many
others. The software utilised to conduct the dynamic simulation was ACSL and its
features will be discussed in later sections.
3.2 Analytical Techniques

The equation of motion for a multiple-degree-of-freedom system are written as :

(3.1)

[M], [C] and [K] are the nxn mass, damping, and stiffness matrices, respectively.
The dynamic analysis involves time-, velocity- and position-dependent externally
applied forces. Not only do excitations and responses vary with time but at any
instant, the derivatives of one or more variables depend on the values of the system
variables at that instant. In most non-linear problems, it is not possible to obtain
closed-form analytical solutions for the equations of motion and computer simulation
comes into play. Further, as system complexity increases, such calculations become
time consuming, expensive and prone to error.
Several numerical schemes employed in computer simulations to obtain the
approximate solution of equations of motion or sets of such equations. Examples
include Explicit Schemes e.g. Fourth-Order Runge-Kutta Scheme, Implicit Schemes
e.g. Houbolt Scheme etc.

The model analysis of the railway vehicle system consists of the solution of a forced
vibration problem. This involves time domain solution in which the equations of
motion are numerically integrated in time.

Consider the multiple-degree-of freedom system presented in Figure 3.1. The


damping and spring effects are accounted for in the excitation forces and the general
equation of motion becomes :

(3.2)

where F is the excitation force function


Equation 3.2 can be solved by using the numerical integration schemes discussed in
subsequent sections or by digital simulation.
The analytical treatment of only a single body from the system takes the form
presented below.
First, the system is reduced to an autonomous system i.e. t does not appear explicitly
in the equation and appears only as a differential dt. The equation becomes:

mx = F\x,x) (3.3)
x = !(x,x) (3.4)

F (3.5)
where !=-
m
Let x = Xl and X = X2

(3.6)

From Equation (3.6),

x2 = !(xl'x 2 ) (3 .7)

Equation (3.4) has then been expressed as two simultaneous first order differential

equations in Xl and x2 •
This can further be reduced to the following single equation in which time is implicit:

dX 2 !(xl'x 2 ) (3.8)
=

The solution of the equation above can be portrayed in a phase plane where the co-
ordinates are (x, x) or (xl' x 2 ) i.e. a family of traj ectories in the phase plane gives a

perspective of the general solution of the equation.

3.3 Numerical Integration Schemes

Several numerical schemes can be employed to obtain the approximate solution of the
equations of motion for any multiple-degree-of-freedom system. A complete
discussion of numerical integration schemes is beyond the scope of this study but
there are many available textbooks on the subject [11]. In this chapter, selected
numerical integration schemes widely used for non-linear dynamic analyses are
discussed. For the solution of non-linear equations of motion, direct numerical
integration methods are mandatory. In a direct integration method, the equations of
motion are integrated successively by using a step-by-step numerical procedure. Time
derivatives are generally approximated by using difference formulas that involve one
or more increments of time. There are two basic approaches used in the direct
integration method: explicit and implicit. In the former, the response quantities are
expressed in terms of previously determined values of displacement, velocity, and
acceleration; in the latter, the difference equations are combined with the equations of
motion, and the displacements are calculated directly by solving the equations. Of
particular interest is the Second-Order Runge-Kutta Scheme since it is the chosen
algorithm for all simulations for its accuracy, stability and it uses less computer time
[12].

The Predictor-Corrector Technique


This section is dedicated to the numerical solution of eq. (3.4).
x = f(t ,x,x) (3.9)
Evaluating the initial acceleration (at time t = 0) from eq. (3.9) yields:
Xo = f(O , xo,xo) (3 .10)

The velocity Xi at time ti is approximated as :

. . + xi-! + Xi M.
X. = X . I
I 1- 2 I (3 .11)

where Xi_I is the velocity at the preceding time t i _ 1 and the acceleration in the step

/).t i is taken to be the average of xi-! and Xi ' Similarly, the displacement Xi is

approximated by the trapezoidal rule as :

X.
I
= X . + X. I 2+ X.
I-I
1- I /).t .
I (3.12)

where the velocity in the step is taken to be the average of Xi _ I and Xi' Substitution of
eq. (3.11) into eq. (3.12) yields:

_ • A ( .. •• ) (Mi)2
Xi - Xi _ I + Xi _ I Dti + Xi _ I +Xi (3.13)
4
In applying this method, eq. (3.13) is not used directly but eqs. (3.11) and (3.12) are
used in succession and the solution is iterative in each step. The following expressions
represent the jth iteration of the ith step :

(j >- 1) (3.14)

(3.15)
(3.16)

where:
(a)

(b)

After evaluating Xo from (3.10), XI for the first step may be approximated by:
(i)
(XI)I = Xo + xoMI
The approximations for XI and XI are obtained from eqs. (3.15) and (3.16),

respectively. All subsequent iterations for the first time step require the use of eqs.
(3.14), (3.15) and (3 .16).
To start the iteration in the ith time step,

(XJI = Xi-I + Xi_IM i (3.17)


When Xi in eq. (3.17) is substituted into eq. (3.12), the following expression is

obtained:
x . = X · 1 + X. 1M. + X. I (M.) 2 /2
I 1- 1- I 1- ,
(3.18)

The principal term of the local truncation error is :

R" = (~t)3 x' (3.19)


xl 12 I- I

In all the cases considered thus far, the effect of damping has not been included in the
analyses. The subsequent schemes will consider simplified interconnecting units
(linear spring model with damping).

3.3.1 Explicit Schemes


Runge-Kutta Methods

Runge-Kutta routines evaluate the derivatives at various points across the integration
step, and a weighted combination of these derivatives is used to step across the
interval. Figure 3.2 shows the procedure for the Fourth-Order algorithm.
x = state
L1t = integration step size
t = time
k" k2, kJ, k4 = approximate derivative values computed in the interval tk~t ~tk+,.jl

~~
I
I
i
x

./
./
./
/GJ
.!
I
././
./
./

-----@
./
./

--
./
./

---- ---
./
./
./ I
new state I
--
./ I
./
./
/;:....... ..-
./ I
I
"'*"'=:._--
--- --- --- I
k, ---- -1-- ______

--- --- --- --- k4 I

..

t t+itt

I~

Figure 3.2 : Runge-Kutta Fourth Order Algorithm

The new state is calculated by :

{y(+~(} = {yJ + M [k] + 2k2 + 2k3 + k4] (3.20)


6
where:

k] = {f(t,yJ}

M I1t }
k3= { !(t+2,Yt+k22)

k4 = {J(t + I1t,y( + k3I1t)}


The truncation error et is in the form :

e, = k(l1t) s (3.21)

The Second-Order Runge-Kutta Scheme follows a similar procedure, making one


derivative evaluation at the beginning and another at a point two-thirds across the
step. In the fourth-order scheme, the second derivative evaluation is at a point halfway
across the step. Here, the new state is weighted by one-fourth and three-fourths and

calculated by :

(3 .22)

where:
kJ = {f(t, y,)}
2M 2M }
k2 = { f(t + -3- 'Yt + k J --)
3
The system equations are converted into state variable form i.e. both displacements
and velocities are treated as unknowns {y} defined by :

{y}= {{x}} (3.23)


{x}
The Runge-Kutta Scheme has the advantage that, because its use at each stage of the
advancing calculation does not require information relevant to the previous time steps,
the method is completely self-starting and is particularly suitable when computer
requirements are to be minimised. Its principal disadvantage consists of the fact that
each forward step requires several calculations, increasing the cost of computation.

Trapezoidal Rule Scheme

The incremental form of the equation of motion under consideration, at any time t is
expressed:

(3.24)
In the first iteration cycle, increments in the velocities and displacements are
estimated by using the following formulae : -
(1) For the first time step :
{Lilt}= M{xt_M} (3.25)

(2) For other time steps :


{Lilt}= 2flt{xt_6t }- {Lilt-6t} (3 .26)

{xt}= {Lilt-6t }+ {Lilt} (3 .27)

{LUt}= ~ M({xt_6t }+ {x t }) (3.28)

Increments in the accelerations are evaluated by solving (3 .24) :

(3.29)

(3.30)

In the second iteration cycle, increments in the velocities and accelerations are
redefined as:

(3.31)

{Xt } = ({xt - M } + {xt }) (3.32)

{LUI} = ~ M({xt _ M } + {XI }) (3.33)

Finally, (3.30) is used to calculate the accelerations at time t.

Central Difference Predictor Scheme

The difference formulae in the central difference predictor scheme for velocity and
acceleration are written as :

t
{Xt}= (2M ({Xt+6t} - {xt_M}) (3 .34)

{xt}= flr 2({Xt+6t }- 2{xt}+ {xt-6t }) (3.35)


Substituting (3.34) and (3.35) into (3.1) yields :
[m ]{Xt+M} = {F;} (3.36)

[m]=_1 [m]+_1 [c] (3.37)


M2 2M

(3 .38)

Displacements {x t+ M } at time t + M can be calculated by solving (3.36).

Velocities and accelerations at time t can be solved by substituting {x t + M } into (3.34)

and (3 .35) respectively. Provided that M is reduced to account for the highest
frequency during the computations, the condition:

M ~ _2_ is valid for stability i.e. the time step is limited by the highest frequency
'{jJ max

of the discrete system.

3.3.2 Implicit Schemes


Houbolt Scheme

The Houbolt Scheme is based on third-order interpolation of displacements.


Multistep implicit formulae for velocity and acceleration are derived, in terms of
displacement, by using backward differences.
The difference formulae in the Houbolt Algorithm for velocity and acceleration are
written as :

{Xt + L1I } = (6f:,.t t (11 {xt + L1t } -18{xt } + 9{xt _ M } - 2{xt - 2M}) (3.39)
2
{Xt + LIt } = f:,.r (2 {xt +LIt } - 5{xt } + 4{xt _ M } - {X -
t 2M
}) (3.40)
Substituting (3.39) and (3.40) into (3.1) yields:

[m ]{Xt+M} = {F;+M} (3.41)

[m]= ~[m]+~[c]+[k] (3.42)


M 6f:,.t
(3.43)

Displacements {Xt + M} at time step t + M can be calculated by solving (3.41).

Velocities and accelerations at time t + I1t can be solved by substituting {x t + M } into

(3.39) and (3.40). The method is not self-starting and requires a large core storage in a
computer.

Wilson- 8 Scheme

In the Wilson- 8 Scheme, it is assumed that the acceleration varies linearly over an
increment of time () ~ 1.0 and that the properties of the dynamic system remain
constant during this time interval.
The difference formulae are written as :

{Xt+8~J = () 2~t2 ({Xt+8~f } - {xJ) - ()~t {xJ - 2{xJ (3.44)

{Xt+8M }= ()!t ({Xt+8~t} - {xt}) - 2{xt}_ ()~t {\ } (3.45)

[m ]{Xt+8M }+ [c ]{Xt+8~t }+ [k ]{Xt+8tlt }= {Ft+8M } (3.46)

{~+8~t } = {~} + ()({~+tlf} - {~}) (3.47)

[m ]{Xt+8~t } = {~+8M } (3.48)


where:

[m]= () 2 M 2 [m]+~[c]+[k]
6
()M
(3.49)

IF..,,,, }~ {F"",, }+(B' ~t' [m 1+ B~ [c1) {x,}+(B~ [m 1+ 2[cl)lx,}


+[m]+ B~t [c1)lx,}
(3.50)
Now,

(3.51)
{XI + llt } = {XI} + ~ ({X t+llt }+ {Xt})
(3.52)

{XI + llt } = {XI} + M{x t }+ M2 ({X;+ llt } - 2{xt }) (3.53)


6

Solution of (3.48) yields {X t + BM } which is substituted into (3.51) to obtain the

accelerations at time t + t:.t .Velocities and displacements at time t + M can be solved


by substituting (3.51) into (3.52) and (3.53) respectively. The overall scheme is
conditionally stable when () ~ 1.5. Equilibrium is never satisfied at time t + M .

The Newmark - ~ Scheme


The Newmark-~ Scheme uses parameters a and ~ to obtain integration accuracy and
stability. These parameters can be changed to suit the requirements of the particular
problem. The expressions for velocity and displacement are given by :
(3.54)

x,." ~ x, + x,b.i + [( ~ - p )x,+ jJi,." ]b.i l (3.55)

The nett effect of a and ~ is to change the form of the acceleration variations during

the interval L1t in the manner shown in Table 3.1.

a ~ Acceleration

112 0 Constant and equal to xt during each L1 t

Constant from beginning as XI and changes to X1+lll in the


112 1/8 middle of L1 t

112 1/6 Varies linearly from xt to Xt+M

112 1/4 Remains constant at an average value of (xt + xI+lll ) / 2

Table 3.1 : The Effect of a and ~ on Acceleration


The difference formulae for the Newmark-p algorithm are:

(3.56)

(3.57)

[m ]{Xt+M} = ~+M } (3 .58)

where:

[m]=_1-2[m]+~[c]+[k] (3.59)
f3M f3M

(P,.J ~ {F,.,J +p~, [m1+;:1 [cl}x,}+[~I [m1+(; -I)Cl}x, }


+(2~ -1)ml+8IC~ -I)cl}x,}
(3.60)

Solution of (3 .58) yields {Xt +~t} which is substituted into (3.56) and (3 .57) to obtain

the accelerations and velocities at time t + M . The greatest disadvantage of this


scheme is the fact that for a multiple-degree-of freedom system, the peak amplitude
may not be correct.

The Park Stiffly Stable Scheme

The velocity formula in the Park Stiffly Stable Scheme is derived by using a linear
combination of the velocity difference formulae in the Houbolt Algorithm i.e. :

(3.39)

and the velocity formula at time t+ Lit in the Gear two-step method i.e. :

Giving:

(3.61)
Similarly:

xr+t.t = (6.6.t t (lOx t +M -15xt + 6xt_M - xt-nJ (3 .62)

The difference fonnulae are :

{Xt+t.t } = (6M t (1 O{xt+t.t}-15{xt}+ 6{xt_ {xt- t.t})


M} - 2
(3.63)

{xt+t.t } = (6M t (1 O{xr+t.t }-15{x r}+ 6{x t_t.t }- {xt- nt }) (3 .64)

(3.65)

where the effective mass matrix is :

[m]= 100 10 [] []
[m]--c+k (3.66)
36M 2 6M
and the effective force vector is :

(3.67)

The solution of (3.65) yields {xt+t.t } which is substituted into (3.63) to obtain

velocities.
{xr+t.r} is substituted into (3.64) to obtain accelerations. The method is non-self
starting and requires large computer memory to store the velocity and displacement
values from the two previous time steps.

Backward Difference Approximations

The backward difference approximations used in developing the various central


differences in this chapter are as follows:
3.4 Digital Simulation
Advanced Continuous Simulation Language (ACSL)

ACSL is produced by Mitchell and Gauthier Associates (MGA) Inc. The language has
been developed expressly for the purpose of modelling and evaluating the
performance of continuous systems described by time-dependent non-linear
differential equations. Although the systems being modelled are time-dependent, the
independent variable may be something other than time e.g. distance or angle. An
important feature of ACSL is its ability to sort the continuous model equations, in
contrast to general-purpose languages such as FORTRAN where program execution
depends critically on statement order.

The ACSL program code can be derived from:


block diagrams;
mathematical equations ;
conventional Fortran statements.

Language Highlights

• free form input;

• function generation of up to 3 variables;


• independent error control on each integrator;

• flexibility in plotting the behaviour of models under a number of external forcing


functions;

• many simulation-oriented operators are included and are readily accessible. These
operators include variable time delay, dead zone, backlash and quantization;
• global single or double precision calculation can be selected;
• sorting of the continuous model equations in contrast to other packages where
program execution depends critically on statement order.
Job Processing

• Inputs to ACSL are in two parts, namely :


(1) the program stored in a .CSL file defines the system being modelled;
(2) the runtime commands stored in a .CMD file exercise this model (i.e. change
parameters, execute runs, specify plots, etc.)
See Figure 3.3 .
• The program is read by the ACSL translator which translates it into a Fortran
compile file (.FOR) . The Fortran code is then compiled, linked with the ACSL
runtime library (the .PRX file) and executed, finishing at an ACSL runtime prompt:
ACSL>
• At this point, ACSL is waiting for runtime commands, which can be entered
Interactively or by reading the command file. The commands are read, decoded
and executed in sequence.

Figure 3.3 : Structure of Input to ACSL

52
Language Features

The language consists of :


(1) operators - arithmetic, relational and logical;
(2) standard functions e.g. SQRT (square root), MOD (modulus) , etc.;
(3) a set of special ACSL statements;
(4) a MACRO capability that allows the extension of special ACSL statements, either
at the system level or for each installation, or for each individual user by defining
new operators. If defined once, a macro can be invoked as many times and as
from many places in the model code as needed.

Steps to Complete in Writing an ACSL


Program for any Physical System

(1) Understand the physical system being described.


(2) Make simplifying assumptions.
(3) Determine the variables to be used.
(4) Derive the appropriate equations.
(5) Gather data on initial conditions, gains, boundary conditions, etc.
(6) Write the program code and command statements.

Structure of the Program Code

Figure 3.4 outlines the flow of an ACSL program with explicit structure [13]. This is
the structure that all the programs presented in this thesis will follow. The outline of
an explicitly structured program is presented below:

PROGRAM name
! .......... comments
Define Program Constants
INITIAL
Define variable types and initial conditions.
END ! ..... of initial
DYNAMIC !.... .... moves forward in time
ALGORITHM IALG=?
NSTEPS NSTP=?
MAXTERVAL MAXT=?
MINTERVAL MINT=?
CINTERVAL CINT=O.Ol
DERIVATIVE
Contains differential equations and integration (statements to be integrated
continuously).
END !.. ..... 0fDerivative

DISCRETE ! describes discrete events


Statements executed at discrete points in time.
END !........ of Discrete

Statements executed at each communication interval e.g. termination condition :


TERMT (T.GE.TSTOP)
END !... ..... ofDynamic
TERMINAL
Statements executed after the run terminates.
END !..... ... ofTerminal
END! .... .. .0fProgram
ACSL Statements

The following statements are mandatory in any ACSL program following the explicit
format i.e. every complex program .

• Integration Algorithm IALG defines the runtime integration routine.


There are 9 integration algorithms available, hence the integration algorithm is an
integer constant between 1 and 9. For most mechanical systems, the Runge-Kutta
second order algorithm is recommended as the most efficient and takes on the value
4.

• Communication Interval CINTERVAL is the interval at which the dynamic section


is executed and the variables on the OUTPUT and PREP ARE lists (in the command
file) have their values recorded. It is a real constant with a default value of 0.1 but a
communication interval that generates 100 to 200 data points during a run gives
sufficient detail.

• Maximum Calculation Interval MAXTERV AL is the upper bound on the integration


step size for both variable and fixed step algorithms, and is a real constant.

• Minimum Calculation Interval MINTERV AL is the minimum value of the


integration step size. Fixed step algorithms e.g. Runge-Kutta second order algorithm
ignore MINTERVAL.

• The NSTEPS statement defines the integration step size in terms of the
communication interval i.e., NSTEPS is the number of integration steps in a
communication interval and is an integer constant.
/START /

INITIAL
----------------- CODE
BLOCK

END

State has initial


INITIALIZE conditions transferred;
INTEGRATION Derivatives are
ROUTINE
calculated once.

DYNAMIC Stop = False


J
DERIVATI

----------- DYNAMIC CODE BLOCK


i---------1
: END
END
Derivative Evaluation
I
: DISCRETE

i_______ ~~{
Integrate over CINT

FALSE

T}ERMINA~ ________ _________ __ ___ _______ __ _______________......


__ --_!_ _--1-_ _ _ _........

~
END L
_
START
/ .....
Write Last Output & Prepare
Lists

Figure 3.4 : Main Program Loop of ACSL Model


The Simulation System

The heart of the simulation system is the integration operator that is called by either
INTEG (simple integration) or INTVC (vector integration).
When building any model, all differential operators must be changed to integration
operators. This is done by expressing the highest derivative of a variable in terms of
lower derivatives and other variables.

Example:
Consider the system in figure 3.1 and take one vehicle excited by a given function of
time, F(t). In general form, this is :

mX = F(t)
Expressing this equation in terms of the highest derivative, x gIves:

.. F(t)
X=--
m

x= Ix ;x(O) =x (@t = 0)
X= Ix ;x(O) =x (@t = 0)

In ACSL code, this becomes:


xdd = F(t)/m
xd = INTEG (xdd,xdO)
x = INTEG(xd,xO)
4. LOCOMOTIVES
4.1 Introduction

In order to understand the science of train make-up, train configuration and train
handling, one needs to understand the intricacies of locomotive units as the prime
movers.
Spoomet have had a number of years in-service experience with 7E type 25kV AC
50Hz, 9E type 50kV AC 50Hz, IOE type 3kV DC supply and lIE for 25kV AC 50Hz
supply. The coal export program necessitates the haulage of about 65 million tons of
coal between Ermelo and Richards Bay. Clearly there is an advantage to be gained in
respect of capital investment and reduced maintenance if a lesser number of more
powerful locomotives could be used to haul these heavy freight trains.

The principal requirement for the locomotives is to have the maximum tractive effort
available and the performance characteristics of these locomotives are somewhat
different. Electric traction has a faster rate of acceleration and a higher sustainable
cruising speed because it can draw extra power from the supply system, whereas
diesel is limited by the maximum output of it's on-board engine. Figure 4.1 below
describes the various classes of locomotives.

Figure 4.1 : Locomotives Operating on SA Railroads

This study deals solely with electric locomotives. Electric locomotives can (as seen
above) be classified as either resistance controlled DC or thyristor controlled DC

58
according to the type of control system employed. Since 1985, Spoomet has been
shifting from operating electric locomotives employing semi-conductor control
systems to the application of microprocessor control systems on all fleet tender as the
latter would lead to further improvements in performance and reliability. Plans exists
to advance to working the Coal Line with three phase AC motored locomotives. The
increased complexity of the three-phase drive has a number of advantages justifying

it. These include:


• extended range of effective working speeds;
• increased practical adhesion levels due to very good wheel slip control;

• reduced maintenance requirements;


• allowing increased installed power.

4.2 Locomotive Rating

Power of an electric locomotive is that exerted at the wheel rim, whereas that of a
diesel locomotive is the power of the engine itself; the power at the wheel rim is less
power to auxiliaries and losses in the transmission. The kW rating of a locomotive
affects the speed at which a load can be hauled, but does not influence the mass. The
mass of the load which can be hauled is purely dependent on the mass of the
locomotive and the nominal adhesion of the locomotive type.

When the traction motor ventilation system is capable of keeping the temperature rise
of the motors to acceptable limits under all circumstances, the locomotives can be
continuously worked at their usable adhesion limits at normal speeds.
The locomotives will thus be rated on starting, short term and continuous rating, with
the continuously rated tractive effort not that much less than the one-hour rating. The
one-hour rating defines the output which after one hour from a cold start results in the
traction motors reaching their maximum safe temperature.

So far, this chapter has focused on horsepower as the measure oflocomotive capacity.
But there are, in fact, two other variables that determine how much the potential of a
locomotive may be usefully applied. These are tractive effort and the factor of
adhesion and will be discussed in subsequent sections.
4.3 Locomotive Characteristics

Information about tractive effort and dynamic brake effort characteristics of a


locomotive at different speeds are required in order to study train dynamics[14].
Tractive effort is the force developed at all the locomotive driving wheels parallel to
the rail to move the locomotive and cars while dynamic brake effort is a similar force
but offers retarding action. The traction force is equal to the force provided by the
traction converter, less lost torque introduced by the mechanical drive between motors
and wheels. Although the basic function of a locomotive is to supply tractive effort to
the train, the traction motors are also used to slow down the train, a function achieved
by means of dynamic braking. The traction motor acts as a generator during braking
and the generated electricity is either fed back to the overhead supply (regeneration)
or dissipated in large banks of power resistors depending on the class of locomotive.

The locomotive characteristics are developed in terms of plots for each throttle
position. For a given throttle position, the maximum power is known and the available
tractive effort or dynamic brake effort at the rail corresponding to this power is a
function of speed. An electric locomotive, theoretically, has no maximum power
limitation since it is merely a converter of energy. It has a maximum limitation in
practice of course but this limitation is due to the physical design limitations of its
components and not due to power limitation of its own power source like a diesel or
steam locomotive.

By using the throttle handle, the driver is able to select a notch which in actual fact
represents the demand value. Given this demand value and locomotive speed, the pre-
set operating point on the characteristic can be determined. It is necessary for every
operating notch throughout the working range of speeds to be a running notch; that is,
it must be possible to dwell indefinitely on any speed within the given loco
characteristic and at a load current within the continuous rating. In order to understand
the technical aspects of locomotive characteristics, a thorough understanding of a
series wound traction motor must be completed.
4.3.1 Series Wound Traction Motors

Using Kirchoffs laws, the traction characteristics of a series wound traction motor,
can be defined. A simplified version of the electric circuit is shown in Figure 4.2
below [15].

Ia
.,-

t~
I'
\ If

V
EIV
l

~
Figure 4.2 : Series Wound Traction Motor

From Figure 4.2, the following relationships can be derived (Kirchoffs Laws) :
(a)

where:
V = supply voltage
E = voltage across the motor
Ra = armature resistance

fa = armature current

~ Vbr = brush voltage drop

But the RaJa term in (a) is small compared to V , hence V ~ E .

E = k x tllr X ¢ (b)
where:
k = armature constant
'llJ r = armature speed

¢ = useful magnetic flux

The electromagnetic torque developed is :


(c)

The torque (or tractive effort) developed is proportional to the product offield
strength and armature current. However, the field strength is dependent on and
proportional to armature current and hence the torque developed is a function of
current only; torque is proportional to the square of the armature current resulting in a
parabolic relationship. The speed versus armature current curve is hyperbolic. Thus
the natural motor characteristic of torque versus speed looks hyperbolic. These
relationships are shown in Figure 4.3 below [16]. It follows that for variable torque
(and hence tractive effort) the traction motor current will have to be variable. Further,
if the electric power is to be kept constant, then voltage will also have to be variable.
This is the basis of operation ofthe so-called constant power locomotives e.g. the
lIE. Voltage does not determine or have anything directly to do with torque except
that it determines the current.

Speed /Torque vs Armature Current Torque vs Speed


...
"~
o
t"0
......
Q.
(1)
;:l
'" ...c:r
o
f-<

Armature Current

Speed

Figure 4.3 : Series Motor Characteristics

The constant voltage locomotives (e.g. 7E) see the introduction of two basic modes of
speed control. In the first instance, speed is increased by increasing the voltage while
the flux is at its maximum. Ifthe armature current remains at its maximum during this
process, the torque will remain at the full rated value. Secondly, the speed is increased
by reducing the field current. It cannot be raised by increasing the supply voltage
because it is already at its maximum. If the armature current remains at its maximum
value, the mechanical power output remains at full rated value. See Figure 4.4 below
where the base speed is the speed corresponding to rated voltage, flux and torque.

Speed control using a series motor can be achieved by varying the terminal voltage
through a series resistance, or field through diverter resistors.
In the separately excited motor, field excitation is obtained using a power supply
separate from that for the armature circuit. Speed control is achieved by varying the
armature voltage or the field current. The separately excited motor is suitable for
traction because it may be controlled to produce high torque at low speeds, and yet
utilise its rated power at high speeds.

DC motor regimes of operation


I Armature I
current

power

Field
'II

I current

(a) (b) (c)

(1) (2) (3) (4)

Figure 4.4 : DC motor traction drive regimes


Of Operation

The critical speeds labelled 1 to 4 in Figure 4.4 are:


(1) Minimum controllable speed at about one-tenth of the base speed, due to poor
regulation at low speeds;
(2) Base Speed;
(3) Transition Speed;
(4) Maximum Speed.

63
The three control regimes are (as labelled in the figure) :
(a) Armature Voltage Control with rated field - torque is constant and power linearly
increases with speed;
(b) Field Weakening with constant armature current giving constant power operation;
(c) Weak Field Operation where armature current, torque and power all decrease.

4.3.2 Traction Characteristics

The curves of tractive effort against speed represent the so-called "tractive effort"
characteristics of a particular locomotive. Because power is a product oftractive
effort and speed, it follows that for constant power, the tractive effort characteristic
curve should be a hyperbola. This assumes that the transmission employed is capable
of such conversion with 100% efficiency. In practice, such a transmission does not
exist of course but the actual tractive effort versus speed characteristic is generally a
fairly close approximation to a hyperbola. There is a high starting torque followed by
a falling torque level with increasing speed. This feature is attractive for' traction
because it inherently allows wheelslip correction.

For all types oflocomotives, and irrespective ofthe type or efficiency oftransmission,
there is an upper limit to the maximum tractive effort which can be exerted by the
wheels. This is the adhesion limit which is unique for each condition of rail surface
and axle loading and determined by the following expression:

TE
Adhesion = (4.1 )
Weight
where: TE = tractive effort
Weight = axle loading

A further practical limitation for all locomotives is the maximum running speed. The
existence of these two practical limitations (maximum tractive effort and maximum
speed) makes it unnecessary for the hyperbola to be extended to infinity at its two
extremities. The limits of the speed/tractive effort characteristic can be altered by the
gear ratio. An increased ratio will provide a higher maximum tractive effort but also a
corresponding reduction in maximum safe speed hence moving the performance range
bodily up or down the constant power curve without altering the shape of the
characteristic.

In order to increase the tractive effort at higher speeds, the motor series field must be
weakened. This can be achieved by means of :

(1) a variable resistor connected in series with the motors. During the starting process,
some electrical power will then be dissipated in the resistor;

(2) a chopper between the power supply and motors, the circuit being such that the
armature current is diverted from the fields through the weak field converter.
The controller ensures that the constant power limit and minimum weak field
Envelope are not exceeded. The minimum field strength must be limited to avoid
commutator flash over.

The classic direct current motor with the field and armature connected in series,
compensates automatically for changes in load - a change in gradient for example. If
the gradient changes, the speed on the gradient automatically changes the armature
current and with it, the tractive effort at the wheel. The tractive effort characteristic
curve is shown in figure 4.5 . Particular tractive effort curves for the locomotives used
in the simulations (i.e. the class 7E and lIE) are shown in the Appendices.
~urre ~'--____
~t l'10ft
........
.- Power to start \
\

t:
and accelerate \I
~ the train \
UJ ,
\
.~ 1:: .f\ - -\.
n:0 ~
UJ
1\ C
, \. 0"&{y
t= Q.) Power to \
::J .::: operate and ~~(
A:l
~~ run the train 0k-t9....
:) I- I
~ t--~--~--+------......""J... I!fo
~
11q./bI'C
'It 0
'lij~
'~VICft·
I 101')

Useful Speed
""

Base Speed Max. Speed


Speed (km/h)

Figure 4.5 : Tractive Effort Curve

4.3.2.1 Resistance Controlled Locomotives

Although this class oflocomotives does not form part of the study, it presents a good
basis for comparison with the thyristor-controlled locomotives that are in operation on
the Coal Line.

Operational Characteristics

• The field is reduced by diverting a portion of the motor current through shunt
resistors. This implies electromechanical complexity leading to unreliability .
• Cannot deliver rated power other than at a few fixed speeds since the natural
characteristic is the basic series motor characteristic characterised by a rapid fall in
power with increasing speed .
• Cannot be used at low speeds for long periods of time since the resistor banks get
very hot due to the large voltage drops across them .
• Have a finite number of discrete notches with discontinuity between combinations.
There are 21 notches made up of series full field, 10 series weak field, parallel full
field and 9 weak field notches.

4.3.2.2 Thyristor Controlled Locomotives

With semi-conductor control of motor voltage and current, it is theoretically possible


to obtain any shape of tractive effort curves. The first generation thyristor locomotives
had analogue control while the later classes have microprocessor control.

Operational Characteristics
• The current across the armature is reduced by means of 'choppers' and this applies
to adjusting the field strength as well.
• Have infinitely variable characteristics between marked notches in contrast to the
previous class of locomotives.
• Have improved train handling at low speeds.
• Have a very flat characteristic at speeds below the natural full field motor
characteristic curve, with the accompanying disadvantages when working heavy
trains.

4.3.3 Dynamic Brake Characteristics

The dynamic brake (electric brake) is a flexible modulating factor to adjust train
speed for variations in grade and curvature. It is important to optimise the application
of the electric brake for two reasons:
Firstly, if too little electric brake is used, train wheels may overheat on long down
grades because friction braking must contribute a disproportionate amount to the total
brake effort. Secondly, if too much electric brake is used, it can lead to very high
compressive forces between the train and the locomotives. This can lead to empty or
lightly loaded wagons being forced out on sharp curves. The financial implications of
damaged and cracked wheels, and damage to lading and wagons cannot be
overlooked.
Just as in traction, the curves of dynamic brake effort against speed represent
"dynamic brake characteristics" of a particular locomotive. The braking throttle
position represents a certain grid current, provided that the locomotive is above the
speed of peak braking effort, approximately 45 kmIh . The motor current then
regulates to this grid current value. Above 45km/h, the braking effort drops as the
locomotive speed increases because, although the armature current remains constant,
the field current decreases in order to maintain this current. Consequently, the braking
effort decreases. Ifthe train speed is increased because grade becomes steeper, the
braking current remains constant, but the braking effort decreases.
The upper limit to the maximum dynamic brake effort which can be exerted by the
wheels is the heat dissipation limit. The curves are limited by the maximum running
speed on the high-speed end. The control of armature current and field strength
follows a similar course to that used during motoring. The dynamic brake
characteristics of the locomotives that work the Coal Line are shown in the
Appendices section. A typical dynamic braking curve is shown in Figure 4.6.

Braking
Current Limit

.-...
z
- /l ~
~
~

t
~
I..U
OJ I
.s
I
"-----
....:
...
~
--
en i
I Critical Speed
Rang e

Max . Sp~ed
S peed (km/h :1

Figure 4.6 Braking Effort Curve


4.3.3.1 Resistance Controlled Locomotives
Operational Characteristics

• Achieve electric braking through regeneration with the generated power fed directly
into the overhead lines. Regenerative braking is limited in both range and
effectiveness and is also unreliable. Under rare conditions, the generated energy can
be re-used thus reducing the overall energy consumption. In many cases though, the
energy has no user resulting in regenerating locomotives tripping out.
• Electric braking build up and release is quick.
• Prone to "motoring in regen" with resultant poor load distribution characteristics

between axles.

4.3.3.2 Thyristor Controlled Locomotives

This class of locomotives has a brake characteristic that comprises of a maximum


braking effort envelope; the intermediate notches are a series of straight lines from the
no brake effort at Okm/h mark to the continuous power curve.

Operational Characteristics

• The intermediate notches have a "fail safe" characteristic of rising brake force with
rising speed up to the rated braking power of the locomotive.
• Once the continuous power curve is reached, all notches are the same. This means
that sensory feedback to the driver is reduced and this is undesirable for good train
handling.
• The peak of this characteristic can cause unacceptably high compression forces.
Later classes e.g. lIE have a flat-top characteristic with the slope of the straight
Line portion of the curve steepened to improve train handling at low speeds.
4.4 Wheel-rail Parametric Relationships
4.4.1 Introduction

The dynamic behaviour of a railway vehicle is significantly affected by the interactive


forces between the wheel and rail. These forces depend on the adhesion, creep and
wear characteristics. The basic wheel rail parametric relationships are shown in Figure
4.7 . Under steady state conditions, the adhesion - creep - wear characteristics are
affected by the following parameters :-

• Geometry of the Wheel and Rail. This is because the creep forces are significantly
influenced by the area of contact and contact stresses between the wheel and the
rail;

• Surface and Environmental Conditions. Surface roughness and contamination due to


water, oil, dirt and other factors usually influence adhesion-creep-wear
characteristics;

• Material Properties. The hardness, toughness, shear moduli of elasticity of the wheel
and rail materials also playa role in this regard. These in tum are related to the grain
structure, chemical composition and the heat treatment of the two materials;

• Load-related Parameters. Normal load per wheel, area of contact between wheel and
rail, the forward velocity of the wheel, the distance slipped by the wheel, the
operating and maximum coefficients of friction between the wheel and rail surfaces ,
time, and angle of attack between the wheel and rail.
Figure 4.7 : Wheel-Rail Parametric Relationships

4.4.2 Adhesion

Close control of tractive effort is desirable to ensure that locomotives operate as close
as possible to the limit of adhesion. Adhesion can be defined as the resistance to
slipping between the wheel and rail. It is a complex phenomenon often simplified to a
coefficient of friction Jl and expressed as a percentage. This means that the force

71
transferred from the wheelset to rail is equal to the product of the axle load and
adhesion. The limiting effect of adhesion explains why same axle load locomotives on
the same track have the same tractive effort on starting , regardless of the horsepower
rating. The magnitude of the maximum coefficient of adhesion which can be utilised
is obtained from basic operating data with existing locomotives on existing tracks .
The adhesion values used in all simulations will be between 18% and 25%. This is the
range recommended where reliable operations must be maintained.
This coefficient of adhesion is significantly smaller than the theoretical maximum
possible coefficient of friction between wheel and rail.

Once the constant power curve is reached, however, power rapidly makes its presence
felt. A further point to consider is that adhesion drops with increasing speed all else
being equal.

Factors Affecting Adhesion

The contact between wheel and rail can be affected by the following factors, in
practice :

(1) Vehicle factors -

• locomotive weight and axle load distribution on driver axles;


• weight transfer due to traction and geometry of the locomotive body and bogie
components, and dynamic behaviour of locomotives;
• speed. The two aspects of speed which affect adhesion are:
- dynamic effect of the friction-creep relationship;
- dynamic effect of speed on the wheel load due to vertical track profile;
• wheel size variations (wheel diameter differences) due to wear;
• electrical transmission and distribution',

(2) Track factors -

• rail surface condition and an important factor to consider is contamination - by


water, lubricants, rust and other contaminants. Adhesion is reduced in
comparison with clean dry rail;
• rail profile - vertical irregularities;
• track curvature - tangent or curved track;

(3) Contact area common factors -


• wheel-rail materials;
• Hertz stress and the contact geometry between driving wheels and track;

• relative slip.

4.4.3 Creep

Creep is part-elastic, part-frictional behaviour intermediate between pure rolling and


overall sliding of wheel on rail and is of fundamental importance in the study of
curving [17]. The limiting case of creep i.e. complete slip of wheel on rail, is
important for studies of traction and braking.
The value of adhesion for rail vehicles has a maximum of about 0.4 . It decreases
slightly with absolute wheel velocity, and after an initial sharp rise, decreases more
steeply with wheelslip velocity.

The physical processes determining wheel/rail adhesion are complex. Figure 4.8
shows the relationship between wheel-rail creep and the adhesion coefficient. This is
an averaged curve compiled from many experimental measurements [18]. The relative
velocity between the wheel and rail must be non-zero to exert a tractive force. lithe
creep is allowed to increase beyond a certain threshold (5%), a region of unstable
operation will be entered resulting in uncontrolled wheelslip. This normally occurs
when high applied propulsion or braking forces exceed the available adhesion force.
Practical wheel slip/slide control schemes must exploit the relationship of Figure 4.8
to maintain an optimum creep velocity in order to maximise the adhesion force.
The understanding of wheel creep stability is therefore closely related to traction
controller design.
0.5
c
0
en
(l)
0.4
.r:.
"0
ro 0.3
...c 0.2
'to-
0

(l)
·0
~
(l) 0.1
0
0
0
W1eei-ra1 aeep,olo

Figure 4.8 : The Relationship between Creep and the


Adhesion Coefficient

The work ofKalker and subsequent non-linear numerical studies by him have become
accepted as the most accurate and convenient means of predicting rolling contact.
Analytical and experimental investigations relate the creep experienced by a wheel
and the tangential force transmitted between the wheel and the rail in the manner
shown in Figure 4.9.
Jl = coefficient of friction;
N = total normal force between the wheel and rail.
The linear portion implies that under small creepage, the force transmitted between
wheel and rail is proportional to creep. As creepage increases, proportionality
disappears and the curve asymptotically approaches the limiting adhesion (JlN). Note
that as the creepage increases, the size of the area of adhesion in the contact area
reduces.

74
T
R
A
C
T
I
o
N

....
........
........
CREEP

Figure 4.9 : The Traction-Creep Curve

4.4.3.1 Friction-Creep Relationships

The factor having the greatest influence on the friction-creep curve is the surface
condition of the rail. There is no simple description of any friction-creep relationship
for the wheel-rail interface of a locomotive as explained above. The basic friction-

75
creep curve is in essence a broad band of values affected by many factors. Figure 4.10
shows the friction-creep curve on dry tangent track.

45
40
35

c:
- 30
0
U 25
'c
u. 20
.....
c:
Q)
0
L-
15
Q)
(L. 10
5
0
0 10 20 30 40
Percent Creep

Figure 4.10 : Friction-Creep Curve on Dry Tangent


Track - All Speeds -, 16 - 32 km/h

There is a dramatic difference between the characteristic shapes of the friction-creep


curves in traction and in dynamic brake. The Electro-Motive Division of General
Motors has, since 1967, conducted a series of comprehensive tests aimed at
investigating the friction-creep characteristics that exist between steel wheels and rails
on railroads. A summary of the conclusions derived is presented below [19].

Dynamic Brake Friction-Creep Study


• Friction between wheel and rail cannot be substantially improved by letting a
locomotive's wheels operate above the 2 to 3 % creep level that a nonnal slide
correction system allows;
• Peak friction level occurs between 3 and 5 % creep with no marked benefit for
operation above 3 % creep;

76
• Rail contamination lowers the friction level with no significant change in the creep
value at which friction level change occurs;
• Sand causes the peak of the characteristic to move to a lower creep level and
increases the friction level by over 50 %;
• Track curvature reduces the friction level but does not significantly affect the
creep level at which the peak occurs;
• There is no significant improvement in rail friction for the trailing wheels when
higher creep levels are allowed to occur on the lead wheels of the locomotive.

Traction Friction-Creep Study


• Friction between wheel and rail can be improved by letting a locomotive's wheels
operate above the 1 to 2 % creep level that a normal slide correction system
allows;
• Peak friction level always occurs at 1 % creep but no marked benefit for
operation above 15 % creep;
• Rail contamination lowers the friction level at the peak and causes the peak to
occur at a higher creep level;
• Sand causes the peak of the characteristic to move to a lower creep level and may
sometimes increase the peak friction value;
• Track curvature reduces the friction level and increases the percentage creep at the
peak of the curve;
• When higher creep levels are allowed to occur in the lead wheels of the
locomotive, these wheels tend to improve rail friction levels for the trailing
wheels.

4.5 Temperature Rise of Motors

It is necessary to predict with reasonable accuracy the temperature rise of the motors
at any particular point of the route over which a specific weight of train is required to
operate. This temperature rise occurs on the locomotives as a result of motoring or
dynamic braking as well as the transition between these two phases.
A direct calculation of the temperature rise is almost an impossible task when it is
considered what numerous variables will have to be accounted for even after making
certain justifiable assumptions.

The components of the traction motor would have to be considered separately and
each of the components has more than one heat source [20]. The annature for
example is composed of three main heat sources, namely :
(1) the annature winding;
(2) the commutator;
(3) the annature teeth and core under the slope.

The temperature rise at any instant is given by :

( 4 .2 )

where:
T = temperature rise of component at time t
W = total annature loss comprised of:
no-load core loss
brush friction loss
brush contact friction
annature loss
Kc = cooling factor or rate of heat dissipation from annature surface
A = total annature surface
Ta = average temperature rise of cooling air in machine
t= time from start at ambient temperature

Ct = thennal time constant

CsMA
=
KcA
where MA = weight of annature
In the case of the field coils, the calculation is simpler because there is only one heat
source and is the l R loss at maximum temperature.

c = CsMF
I KA
c
MF = weight of copper per coil

For continuous running at a constant load, t becomes infinity so that the temperature
rise becomes :

W
T=-+T (4.3)
KA
c
a

Conclusion
• The theoretical consideration of all the heat sources in the armature, together with
the rate of heat transfer from the teeth and core to and from the conductors through
the insulating wall can be a fascinating mathematical exercise. For the purposes of
this study, such complications are not justified. The monitoring of the armature
current will suffice in gauging the temperature rise of the motors and hence if any
damage is incurred. This means that a qualitative approach based on armature
current will be followed.
5 TRAIN DYNAMIC RESPONSE

5.1 Longitudinal Train dynamics

5.1.1 Introduction

For analysis of dynamic systems, it very useful to have a viable simulation model of
the system under study. Such a model can contribute valuable insights which may be
difficult or impossible to obtain by direct observations of the actual system. This is
the principal reason for attempting to simulate the longitudinal dynamics of railway
trains; actual measurement or tests of dynamic effects in trains is both time and cost
consuming, and difficult. The procedure of actual tests needs planning and provision
of staff, vehicles (including special test coaches), lading and the track. Therefore, only
a few situations can be chosen to run test trains. Such limitations do not exist as far as
computerised simulations are concerned. Furthermore, a simulation can be realised
without any risks regarding staff, the infrastructure and the tested trains. A further
advantage of computer-based simulation is the possibility of the immediate control
regarding boundary conditions of the tests. Various situations can be set up and
simulated in a very short time.

Train simulation involves mathematical modelling of train dynamics involving large


numbers of parameters and is therefore complex. With the advent of digital
computers, it is now possible to simulate various train systems and track
characteristics and deduce their interaction. Cost however, has been the major
deterrent to simulation of train dynamics. Simplifying the model to a completely
linear system eases computational requirements considerably, but unfortunately
eliminates the most important features of the train. A balance must therefore be
reached between ease of computation, cost and validity of the model.

In general a vehicle is subjected to coupler forces due to curvature and gradient of the
track, rolling resistance of the vehicle (depending on its geometry and design features)
and braking force. If the vehicle is a locomotive then the tractive effort and dynamic
brake effort will also contribute.
5.1.2 Model Assumptions

In developing the train action model, the following assumptions were made:
(1) Suspension effects are not considered and bogies on each vehicle are considered
rigid.
(2) Rigid couplers are used i.e. no knuckle contouring is allowed.
(3) No alignment mechanisms are present and hence alignment control effects are
neglected.
(4) Tractive effort and dynamic brake effort are represented by linear, quadratic and
hyperbolic curve segments for any speed range of interest.
(5) Each vehicle is assigned the longitudinal degree of freedom only.
(6) Transient forces due to coupler slacks are approximated by a dynamic approach.
(7) The centre of gravity of any vehicle is at the level of the couplers to cancel the
effect of pitching.
(8) Wagon underframes remain elastic i.e. no impact can permanently deform an
underframe.
(9) Track irregularities are ignored.
(10) The lading in the vehicles is assumed to be integral with the wagon body.
(11) Each vehicle acts as a single mass at all times.
(12) Traction motors are equi-directionally installed to cancel the effect of pitching of
the bogie frame.

5.1.3 Equations of Motion of Vehicle

The ith vehicle is considered and force relationships developed.


Xi = the longitudinal displacement of the ith vehicle.
Xi-f, Xi + f = longitudinal displacement of the fore and aft vehicle respectively.

The forces acting on the vehicle are:

• The air brake force

~1
• The curve resistance

• The grade resistance

Fgrad = f(xi ,gradient)

• The rolling resistance

Frr = f(xJ

• The rear coupler force

• The front coupler force

• The tractive effort


Ftrae = f(noteh ,xJ

• The dynamic brake effort


Fdyn = f(noteh ,xJ

From Newton's Second Law of Motion:


8

m/xi = IFij
j=1

m.x. = +Flead. + Ftr!' -Fbrk.+Ftrae.-Fdyn. -Fe. ±Fgrad. -Frr.


I I - ,- I I I I I l I

It is evident from the above section that for simulating train dynamics, models
describing the coupler force, tractive effort, dynamic brake effort, rolling resistance
and air brake are required. Track data, i.e. gradient and curvature changes, as well as
speed restrictions and location of signals are also required by the train performance
program during execution.
5.2 Train Components and their
Mathematical Models

5.2.1 The Air Brake

Schematic of the Air Brake System

Figure 5.1 : The Air Brake System

1- Combined auxiliary and emergency reservoir


2- Control Valve
3- Brake cylinder and piston
4- Brake shoe and wheel arrangement
5- Train pipe
The primary objectives in braking are to:
• control train speed on descending grades and undulating territory;
• slow the train down to safe speeds for negotiating turnouts or passing critical
locations;
• effect a smooth train stop at and not beyond specific locations.

Components

• compressor on the locomotive(s) that supplies compressed air to the braking units
on cars.

• combined emergency and auxiliary reservoirs on each car that store the
compressed air delivered from the compressor.
• ABDW control valve that regulates the pressure of air from the reservoirs to the
brake pipe pressure carried for the particular application or release.
• brake pipe that extends through each locomotive and car from one end of the train

to the other.
• brake cylinder that activates the linkage mechanism.
• brake linkage mechanism that presses or releases each brake shoe against each
wheel tread.

Operation
Brake Application
• The brake pipe, auxiliary and emergency reservoirs are at this stage charged to the
same pressure, 550 kPa.
• The locomotive engineer opens the brake valve to atmosphere and the pressure in
the brake pipe is reduced.
• The control valve on each car responds to the reduction in the brake pipe pressure
by allowing a specific amount of compressed air to flow from the auxiliary reservoir
to the brake cylinder.
• The brake cylinder piston, because of the force exerted by the compressed air,
moves and activates a linkage mechanism that presses the brake shoe against
each wheel tread. Once applied, the brakes will remain applied at a constant
pressure, if brake pipe pressure is maintained at a constant value.

The amount of compressed air delivered from the auxiliary reservoir is determined by
the type of brake application initiated i.e. either service application or emergency
application. There are 3 service applications, namely:
minimum service which is the first brake pipe reduction made in the
application of brakes 35 kPa (5-7 Psi).
partial service which corresponds to a 100 kPa brake pipe reduction at the
service rate.
full service which corresponds to a 160 kPa (23-26 Psi) brake pipe reduction.
When circumstances dictate a very rapid brake cylinder application with higher brake
cylinder pressure and resultant higher retarding forces than obtained during a service
application, the brake pipe is quickly vented at an uncontrolled rate through a large
opening to atmosphere - the emergency application.

Brake Release
• The brake pipe and auxiliary reservoir on each car are charged by supplying
"
compressed air from the locomotive(s) .
• Brake cylinder air is simultaneously released to atmosphere, allowing the brake
cylinder piston to move back to the released brake position where it remains
under spring force, keeping the brakes released until the next brake application.
The brake pipe pressure is kept at its maximum.
• The application of brakes is enabled by reducing the pressure in the brake pipe by
progressive steps. Partial release of brakes cannot be accomplished.

Notes
• Brakes used by Spoomet are direct release brakes which means that as soon as
release is initiated, the train brakes are released fully.
• The brakes are not inexhaustible. It takes some time to fully recharge the brake
system after any release. This means that a series of short brake applications and
releases in sequence will result in the air reservoirs becoming depleted and affecting
the train's ability to stop.

The Air Brake Model


The braking force exerted on each wheel depends on the brake rigging, brake pipe
reduction, and duration of brake application. It is important to determine the time of
brake application as dictated by the transmission speed of the brake pipe pressure
drop along the train length (pressure wave's travel times) and hence the total length of
the train. Further, the distance of a given car from the vehicle at which brake pipe
pressure is initially reduced is an important factor.
The air brake model described is based on an analysis of the pneumatic circuit of a
train and individual vehicles and is described by Reddy [21].
The brake cylinder pressure is calculated as a function of time and position of the
particular vehicle on the train consist. For time less than the time required to reach
maximum force, the relationship is linear but beyond tb, cubic curves can be fitted.
This pressure is used to calculate the brake cylinder force using brake cylinder
geometry. Finally, the retarding force is calculated from the brake cylinder force
incorporating all losses in the brake cylinder and leverage system, lever ratio and
brake shoe friction.
A concise version ofthe computation scheme is described in figure 5.2 below.

Yes

Figure 5.2 : Flowchart for Air Brake System

86
5.2.2 Bogies

The bogie can be considered as an independently articulated framework holding one


or more wheelsets.
There are three basic kinds of bogies, namely:
• rigid bogies that hold axles parallel and in place laterally;
• radial bogies that allow axles to take up a radial position in a curve e.g. HS bogies;
• three piece bogies that hold axles parallel but allow them to move laterally.

The HS type bogie will be assumed for all vehicles in the system. When axles are
allowed to take up a radial position in a curve, there is no force input from the head of
the rails into the wheel tread and from the face of the rail into the flange as well in
sharper curves. Rigid and three piece bogies on the other hand have higher force
inputs.

Rolling Resistance

Rolling resistance includes all resistive forces acting on a train including air resistance
but excluding gradient and curve resistance. This resistance is made up of a constant
component (A+B/W N /ton), a speed dependent component (C v), and a component
which varies with the square of speed (D v 2/W).
A and B are constants for a given type of vehicle where the former is the rolling
resistance (external friction) coefficient and the latter is the bearing resistance
(internal friction) coefficient. External friction appears at the wheel-rail interface due
to three factors:
deformation of the wheels and rails at the points of contact, the separation force due to
rolling, and the energy loss from wheelslip.
C, the track resistance coefficient, is the constant resulting from the relative motion
between the wheelsets, bearings and rails, surface roughness of wheel and rail, natural
oscillation of the vehicle, the creep effect caused by the deformation in the wheel rail
contact area and friction from skew running bogies.
D is the aerodynamic resistance coefficient. Aerodynamic resistance appears as both
surface friction and normal pressure drag. It depends on vehicle dimensions, shape
and surface roughness.
W is the axle load of the vehicle in tons.

The rolling resistance, FIT, is often determined by the modified Davis equation in
which wind resistance is also included.
W. J. Davis Jr., developed a single equation to allow for differences in vehicle
configuration based on the rolling resistance tests of Professor Edward C. Schmidt
and Professor J. K. Tuthill [24].
The Davis formula as applicable to South African conditions in Metric units is:

Frr = (6.38 + O.137v). mass/lOOO + O.028v 2

For worn wagons, 6.38 changes to 62.88 .

5.2.3 Gradient Resistance

Gradient resistance is the resistance that has to be overcome by the locomotive consist
to move the train up a gradient. The component of the weight, mg, in the direction
parallel and down the gradient is the gradient resistance force, Fgrad.
Fgrad = -mg. sin e

But sine = y
r

The gradient is normally represented as the ratio 1: h, hence:


. e=
sm
1
r:--:?
2
,,1 + h
1
Fgrad = -mg. r:--:?
,,1 + h 2

5.2.4 Curve Resistance

Many rolling and sliding contact theories have been formulated to account for the
complex processes involved in as far as curve negotiation is concerned, but it is
sufficient to understand that curving forces give rise to resistance in a curve. Track
curvature represents extra work done in overcoming frictional forces between the
wheel flanges and treads, and the rail head and gauge comers. It depends on the
wheel-rail friction coefficient, the track gauge, and the distance between the axles in
each bogie. Curve alignment resistance, Fc, is generally derived experimentally and
approximated by the empirical expression below.
Fe = -0.00035mg • D
1745
D=------
Curve Radius

This representation is applicable to South African practice (only) possibly to allow for
the narrower gauge (1065mm). The US uses an equivalent gradient of 0.04% for
every degree of curvature instead of 0.035 %.

5.2.5 Draw-gears

Draw-gears are the predominant mechanical devices which would have the greatest
influence on the system response in studies involving longitudinal train dynamics.
The draw-gear sub-system comprises the following :-
• coupler;
• yoke;

• draft-gear element;
• loose rear stops and front follower.

Draw-gears comprise of spring-damping elements of various designs and materials.


The spring elements absorb, store energy and restore the gear to its neutral position
i.e. draw-gears deflect under load to absorb impacts between railway vehicles.
The cardinal feature of a draw-gear for train action is to limit the generation of slack.
This make the requirement of a high pre-load mandatory, so that the unit does not
stroke on slow variation of the train forces but reacts to a high rate of change of force
or jerk value.

At the end of the rakes, the Miner SL-76 draw gear is used. The characteristic of this
draw gear is shown in figure 5.3 and the performance specifications are listed below.
Performance Specifications:
• Construction - Wedge friction-rubber draw-gear

• Certification -AARM-901E
• Official Capacity - 64.8 kJ

• Official rating travel -77.5 mm

• Reaction Force @ rating travel - 2270 kN

• Pre-load Force -100 kN

• Gear Mass - 142 kg


• Efficiency - 36.8 %
• Maximum capacity @ rating travel - 73.1 kJ

The draw-gear model used in all simulations is based on an analysis of the spring and
damping elements of each individual draw-gear, and is described and developed by
Desmorat [23] .

Mner SL-76 Characteristic

z~ 2500
Cl) 2(XX)
...
(.)

0 1500
LL
C 1CXXl
.-
0
...., 500
(.)
ca
Cl) 0
0:::
0 20 40 00 80 100
Travel-om

Figure 5.3 : The Miner SL-76 Characteristic

90
The Draw-gear Characteristic

The overall response of the draw-gear sub-system is symmetric in tension and


compression since the combination is arranged such that the draw-gear element is
compressed in both cases. The tensile half of the characteristic will suffice for
illustration purpose. A schematic representation of the draw-gear arrangement and
action is shown in figure 5.4 followed by the description and analytical treatment of
the package.

Draw-gear Action

• The free slack region, [0], does not support any force and occurs due to clearances
and wear within the draw-gear assembly. Once loaded outside this region, the draw-
gear element is compressed.
• The draw-gear is loaded within phases of increasing stiffness in the stroking zone,
[1] and [2], due to the geometry of the arrangement. If the external load is reduced,
the draw-gear is locked, [5], and a very high stiffness is observed.
• The draw-gear element relaxes along a line of relatively low stiffness during the
unloading phase, [4]. This follows [5] provided the external load drops sufficiently
for friction to be overcome in the direction opposite to that during loading.
• The response may exhibit hysterisis, moving up and down the locked region several
times. This implies zero damping as far as the draw-gear element is concerned.
Damping is offered by the structure of the couplers and the vehicle body.
• Under very high loading, the resistance of the spring-damping element is negligible
and the stiffness is that of the structure, [3].
Force
draft gear force draft gear [2]

IWI&~I ~0ZINI
[3]
[5]
couplers
[0]
Travel

Figure 5.4 : Functional Draw gear and its Action

A general relationship, which is applicable to all types of draw-gear and is based upon
empirical data is mathematically described as:

R(x) ~ Fp + (Fm - Fp (I- e"~ )/1- e' ) For x ~ O&i ~ 0

R(x) ~ Fp + (Fm - Fp (I-e'~ )/1 - e


b
) For x ~ O&i -< 0

5.2.6 Locomotive Characteristics

As explained in depth in Chapter 4, the locomotive characteristics are developed in


terms of plots for each throttle position. The tractive effort or dynamic force applied is
given as a function of locomotive speed for each throttle (notch) position. The model
uses lookup tables to set the respective force levels. The armature current levels for
traction are also represented as lookup tables. The armature current is also a function
of speed and notch setting. There is no need to monitor armature levels during
dynamic braking since the locomotives are set to always operate below critical limits
in dynamic brake mode.
5.3 Locomotives in Multiple
5.3.1 Required Number of Locomotives

The tractive effort that the locomotives must exert must be equal to or more than the
total resistance that must be overcome. The number of locomotives of anyone class
that can work in multiple is limited (in practice) by a number of reasons, namely:

(1) Structure Strength.


Older locomotives (6E to lOE) are weaker and no more than 4 should be used in
multiple except under special circumstances where up to 6 can be used.
(2) Control Circuitry.
The locomotive control circuitry is designed to control only a certain number of
locomotives in multiple. The limit exists due to electrical loading and losses in the
train lines and the number (not more than 6) is usually specified at design time.
(3) Substation Capacity.
Very heavy trains require high continuous ratings (15 MW typically) which may
not be available since substation capacity is limited to about 6 MW per substation,
typically.
(4) Electrical Interference.
Modem 3-phase locomotives generate large currents internally, with variable
frequencies. If too many of these locomotives run on a line with track circuit
components sensitive to the generated frequencies, the minute residual
interference of each locomotive add up to the point where the signals may change
their aspect thus distort the signalling system.
(5) Working Together of Locomotives.
Resistance controlled locomotives do not always work together properly. The
more the locomotives that are put together, the less likely the chance that they will
work satisfactorily.
(6) Maximum Demand.
In order to limit the peak energy demand, Eskom introduced the so-called
Maximum Demand Tariff to encourage users to limit their usage maximums. This
implies that very heavy trains would be discouraged ifthe benefit conceived is
rendered not justified by the accompanying electrical consumption and expense.
(7) Coupler Strength.
A practical limitation to heavier trains exists, which is that the coupler strength of
standard coal trucks will be exceeded if more than 4 coupled electric locomotives
haul from the front of the train. E and F type couplers can be worked up to
l500kN to l600kN on the Coal Line.

The problems mentioned above limit the number of locomotives that can be worked
in multiple and hence the use of very heavy trains. Some of these problems could be
overcome by the division of motive power to enable longer trains. Another factor to
consider would be the use of mixed consist locomotives.

The Calculation Recipe

• Calculate the gradient resistance using the ruling grade (steepest gradient) of the
section.
• Calculate the rolling resistance. It is customary to assume that the resistance of the
locomotives is the same as that of the wagons.
• Add them together.
• Find the nominal tractive effort at balancing speed from the traction characteristic.
• Divide this tractive effort by the total resistance. This gives the load that the
locomotive can move up the given gradient.
• Subtract the mass of the locomotive from this total.
• Divide the operational load by this amount to get the number oflocomotives
required.
The calculation recipe presented above is derived from Spoomet's Technical
Operating Handbook [24].

5.3.2 Mixed Consist Operations

Different classes of locomotives can be used together in one consist provided they are
compatible in all the speed ranges.
This is practical from the electrical power aspect but problems of control and train
handling are introduced. The following locomotive combinations can be used in
multiple:
• Locomotives having different power output but same axle loading. At a certain
speed, the extra horsepower of the higher horsepower unit cannot be utilised and
must be reduced to that of the lower horsepower unit.
• Locomotives having different power output but same minimum continuous speed.
Power reduction is not necessary in this case although the adhesion levels are
different.

Since different locomotive types load up to characteristic amperages at different rates,


to permit each unit in a mixed consist to load up properly to provide a consistent
accelerating force, throttle changes should be made one notch at a time with a pause
between throttle changes.

5.3.3 Remote Locomotives

Remotely controlled locomotives allow the tractive effort to be spread throughout the
train enabling the full power potential of the additional locomotives to be realised
without exceeding the maximum allowable draw bar pull. Draw bar pull is the force
exerted on the coupler between the locomotive and the trailing vehicle which is equal
to the locomotive tractive effort less the rolling resistance of the locomotive.

Other advantages of division of motive power include the following :


• increased train lengths are conceivable. Longer trains are also preferred because
they average grades over a greater distance;
• faster brake application and release times are achievable hence improvement of the
performance of the air-brake system;
• power efficiency can be increased;

• reduced impact forces in the last half to two-thirds of the train by introducing a
means of controlling slack between vehicles in this region.
5.4 Results

5.4.1 Objectives

The objectives of the simulations were to :-


• determine the most appropriate train configuration for train operations;
• quantify the merits of operating with the optimum train configuration by

monitoring:-
in-train forces;
energy consumption;
running time;
temperature rise of the motors;
jack knifing displacement.

5.4.2 In-train Forces

The simulations were based on the train configurations presented in Table 5.1.

Simulation Configuration

I 4 x lIE head-end locomotives;


200x CCL-9 wagons
2 2x lIE head-end locos, 2x lIE remote locos;
200x CCL-9 wagons
3 2x lIE head-end locos, 3x 7E head-end locos;
200x CCL-9 wagons
4 2x lIE head-end locos, 3x 7E remote locos;
200x CCL-9 wagons

Table 5.1 : The Train Configurations

The most appropriate method of illustrating the effect of in-train forces is to consider
the maximum, mean and minimum forces measured at specific positions for each train
consist on the track. The comparative track is an adaptation of a section of the actual
terrain on the Coal Line.
The selected positions were 1, 36, 72, 84, 108 and 162, coinciding with coupler
positions since rakes of 4 wagons were used and there are no couplers within rakes
because of the slackless drawbars.
Tables 5.2 to 5.5 and Figures 5.5 to 5.8 illustrate the results obtained.

Table 5.2
Position
Force 1 36 72 84 108 164
(kN)
Fmean 58.479 17.418 82.436 8.167 503.931 306.408
Fmin -379.23 -356.9 -442.89 -434.38 -323.69 -830.75
Fmax 496.19 391.74 607.82 450.71 1332 1444

Table 5.3

Position
Force 1 36 72 84 108 164
(kN)
Fmean 54.109 -29.108 -61.097 -29.285 1.776 42.54
Fmin -191.56 -513.75 -519.04 -512.81 -518.06 -937.85
Fmax 299.78 455.54 396.84 454.24 521.613 1023

Table 5.4

Position
Force 1 36 72 84 108 164
(kN)
Fmean 148.02 80.34 -7.018 -49.159 -59.443 -7.109
Fmin -301.2 -561.53 -844.43 -853.33 -991.88 -555.23
Fmax 597.24 722.21 830.395 755.01 873 541.01
Table 5.5

Position
Force 1 36 72 84 108 164
(kN)
Fmean 30.696 -95.528 -8.789 12.143 13.623 -12.113
Fmin -259.89 -997.849 -657.53 -374.83 -406.56 -565.24
Fmax 321.28 806.79 639.93 399.12 433.81 541.01

Hxrlerd Qaatioo

2CXX)

-z 1f.OO

-
~ 1CXD
CD
(,)
~
f.OO
0 0
u.
-f.OO
-1CXD
\A3lide PcBtia1

Figure 5.5

98
Figure 5.6

Rende Qleration

1500
_ 100J
~ 500
-
CD 0
o -500
(.)

LL -100J
-1500
Vehicle Positioo

Figure 5.7

Mxed Operation (head-end)

1000

-
z
:::.
500
0
CD
~ -500
o
u.. -1000

-1500
Vehicle Position

Figure 5.8

99
Mixed Operation (remote)

1000

-z 500

-...
~

Q)
0
0
-SOO
0
LL
-1000
-1500
Vehicle Position

Discussion

From the results above, the following can be observed:


• with head-end operation, a tensile mean is dominant over the entire length of the
train regardless of the locomotive consist;

• the simulation with four head-end locomotives clearly shows the position of the
minimum effective longitudinal in-train force at a position near the middle of the
train consist and hence suggests this position as most suitable for remote
locomotives;

• remote operation yields a mean that is approximately zero through the train consist.
This is a favourable result as far as the fatigue life of the system and sub-system
components is concerned;

• in three of the above four cases, the force response is oscillatory implying increased
fatigue damage unlike the case of working 2 head-end locomotives and 2

100
remote locomotives in the middle of the train consist;

• it is possible to work different class locomotives in one locomotive consist when


electrical interface limitations are not considered, yielding an improved force
spectrum compared to that obtained from the simulation with same class
locomotives.
5.4.3 Optimisation of Train Make-up

Figures 5.9 to 5.29 illustrate the results obtained from simulations 1 to 3 respectively
in terms of critical draw gear forces, energy consumption, running time, armature
current, velocity profile and jack knifing displacement. A summary of the critical
parameters observed in the simulation is presented in section 5.4.3.1 below.
Figures 5.9 to 5.16 represent a standard train consist with 4 head-end locomotives.
Figures 5.17 to 5.24 represent a train consist with remote locomotives.
Figures 5.25 to 5.29 represent mixed consist operation.

2.0

~
.....
1.2
~ ""-
0
......
X
r--..
~
0.4
gp ......
0

~~ -0.4 ~

~
-1.2
h
-2.0
o 80 160 240 320 400
T (s)

Figure 5.9

102
2.0

g: 1.2

cc-
x
0.4
1~ h
oC>

gp
r--O If ~ aJ\.t
o -0 .4
~
&! -1.2

-2.0
o 80 160 240 320 400
T (s)

Figure 5.10

2. 0 -r------y------,--.,------y-----,

~ 1. 2 +-i-- + - - - + - - - t - - - t - - - - - - 1

~
-
......
C)

x
0.4
C>
T"""4
'-/

§ -0.4 +----+-----=-+----+---t----;
~
d! -1. 2 +--- - - + - - - - + - - - - + - - - + - - - - - 1
-2. 0 +----+---+----+----+---~
o 80 160 240 320 400
T (s)
Figure 5.11

103
400

320

~ 240
e-
"0 160
/
~
80 I
)
o0 80 160 240 320 400
T (s)

Figure 5.12

0.20 ~--~----~--~----~---.

o. 12 +---+----i----+---+------t

o. 04 -1------I---~----11----+--_____I
.-....
8...--. - 0.04 H+-- - + -- +--l..--+-fL-------+----t-----l
----
I---,

-0.12 ~~~--4--~~-~-~

-0.20 +-----+----+----f----1----I
o 80 160 240 320 400
T (s)

Figure 5.13

104
o ,/rrl
rr'"
~ -40
~I~ ~
fll
M
00
~ -60

,.......
1;f-120
........
~

-160

-200
o 80 160 240 320 400
T (s)

Figure 5.14

o ~rhf " r
~ -6 0 +--+i-- + - - - f - - - - - - - 1 f - - - - - t f - - - - - - I
M
00
,.......
x -160 ~~~--~~--+----+--~

,.......
'or
.01) - 24 0 t - - = - - - - f - - - - - t - - - - - f - - - - - - f - - - - - - I
o
~
~I -320+---~--~~--4---~--~
........
~

-400+---~--~~--+_--_+--~
o 80 180 240 320 400
T (s)
Figure 5.15

105
Figure 5.16

c>
c> c>
c> c>
'c;;T 'c;;T
C>
c> C>
C> C>
('tl ('tl
r- /x(I)
c>
C> c>
- /
_C>
8~ ;r--r-
D~ ~(1)
.,.-c c:"'J
'-"" ~
~
~C> -C>
Cc>
~~ IX: c>

/
.,.-c
Grad( )
C> C> -

C>
C>
C>
c>
c>
r
.,.-c
I
.,.-c
I 80 160 240 320 400
T ts)

Figure 5.17

2.0

:§ 1.2
""........
ot::)

x h h.
rw
,--......
0.4
~
gp ~ )u
0

~
.b
-0.4
~
-1.2

-2.0
o 80 180 240 320 400
T (s)

106
2.0

g 1.6
'"..-.
0
x
--...
1.2
00
0
....-
gp 0.8
'--/

~
0
~ V'u I
~ 0.4 '1
~

0.00 I' 80
\\J160Wi 240 320 400
T (s)
Figure 5.18

Figure 5.19

2.0 ...---- - - r - - - - - y - - - , - - - - , - - - - - - ,

g 1. 2 -1----+---++---+------+------1
-
'"o

~
x
0 . 4 +4-~-~~-+---~--~
0'\
.,.......
'--/

go -0. 4 +----+---~----+---~--__t
~
&! -1. 2 + -- - - + - - - - f - - - t - - - - - t - - - - - - - i

- 2. 0 +-----+-----+----+--_-+-__---1
o 80 160 240 320 400
T (s)

107
Figure 5.20

O.20~--~----~--~----~----'

O . 12+----+----~--~~--~--~

O. J4 ~----;_--~----~--~r_--~

-0.12+---~----~--~~---r--~

-0.20+---~----~--~~--~--~
o 80 160 240 320 400
T (s)

Figure 5.21

400

320

~ 240
e- I
o 160
~

80 I
)
o0 80 160 240 320 400
T (s)

108
Figure 5.22

0
0 0 ,--.,
0 0
~ ~
N

0
0 0
0 0 00
~
M M
0 --.. vf(1)
VI
0 0
], 1.0 ;---. /
8~ --..
--..0

v{~ lJ'~d(l;
~N ~

-..-
~
......."

roo Co
~8
--"0 ..........,
"'"0
:><:0
~

-.:;;t
.,
:><: ~
"
/
~

Grad( )
N
0 0 ~

0
0
0
0
0 0 I
~
I
~
I ~o 80 160 240 320 400
T (s)

Figure 5.23

~ -40~~--+-----~----~----~----~
,.......
X
r--..
,.......
~
,....... -60~~--~----~----~----~----~
'--'"
do)
·Ob
~-120r-----r-----~--~~--~~--~
...... 1
;:;:s
.....-
~-160+-----~r------++------r--------~----~

-200~--~----+----+----~--~
o 80 160 240 320 400
T (s)

109
o .. ......

,
g -40
M
C>
~ -60

T""""""I

1t-120
...--t

-160

-2000 80 160 240 320 400


T (s)
Figure 5.24

2.0

~ 1.2 ~ h
\

x
L() 0.4

~
'"-../
gp I-
o
~ -0.4 r"1"'""I
.b
~
-1.2 ~

-2.0
o 80 160 240 320 400
T (s)
Figure 5.25

110
Figure 5.26

2.0

~ 1.2
....C)
x
~
......
0.4
I~ ~
.~
<=>
..........
'-...../

gp
VI Uu.
o -0.4
~.b
~ -1.2

-2.0
o 80 160 240 320 400
T (s)

Figure 5.27

2.0 ,

~ 1.2
....C)
......
x
00' 0.4
I~ h
..........
..-
'-...../
gp
U \W" ~
o -0.4
~
.b
~ -1.2

-2.0
o 80 160 240 320 400
T (s)

111
Figure 5.28

C>
C>
C> O __--~----~--_r----r_--I
-.::j'" N

C>
o
C> OO~---+----~~~----r---~
,......
C"l
.~
g ~ L-----l---~t----__+_--_I__--__1

C>

C>
o C>L-__ -+____~--~----~--~
o
,...... ,......
I o 80 160 240 320 400
T ls)

Figure 5.29

0.20 -r--- - - r - - - , - - - - - - , - - - . - - - - - - ,

O.12 +----+----~----~--~----~

O.04 +----+----~~--~--~----~

8'
~

~-O.04~~--+-+-~~~--~----~----~

-O. 12 ~II----f------t-----_+__--___+----___I

-O.20+-----f------t-----_+__--___+----___I
o 80 160 240 320 400
T (s)
112
5.4.3.1 Critical Parameters

Head-end Operation
Maximum Longitudinal coupler force = 1650 kN
Maximum Armature Current = 795 A
Total Energy Consumption = 222 kWh
Running Time = 204 s
Maximum Traction = 280 kN
Maximum Lateral coupler force = 180 kN
Max. Lateral load on bogie centre = 240 kN
Max. jack knifing displacement = 164 mm
Position of largest longitudinal force = 109

Based on the results for a standard consist with 4 head-end locomotives, the
maximum draw gear force was noted in position 108 and the maximum drawbar force
was observed in position 109. This suggests harsh slack action in the last half of the
train consist and hence the appropriate location of the in-train locomotives to
introduce a means of controlling the slack. This is also a suitable position for the
remote locomotives from the operation point of view during wagon loading and
unloading. The discharge mechanism is a tandem rotary dumper which uses an
electro-hydraulic power unit to index the wagons through the tippler. The tippler has
the capacity to dump a consist of 100 wagons at a time.
The results of simulating a consist with 2 head-end locomotives and 2 remote (in-
train) locomotives after 100 wagons are presented below.

Remote Operation
Maximum longitudinal coupler force = 1459 kN
Maximum Armature Current =795 A
Total Energy Consumption =206 kWh
Running Time =204 s
Maximum Traction =280kN
Maximum Lateral coupler force = 128 kN
Max. lateral load on bogie centre = 168 kN
Max. jack knifing displacement = 135 mm
Position of largest longitudinal force = 191

Availability is an important factor to consider in providing a reliable and predictable


service hence the need to investigate the intricacies of working different classes of
locomotives in one train consist. A locomotive consist of2 class lIE locomotives and
3 class 7E locomotives was set up and the critical parameters are shown below.

Mixed Consist Operation


Maximum Longitudinal coupler force = 1773 kN
Maximum Armature Current = 795 A and 665 A
Total Energy Consumption =217kWh
Running Time =204 s
Position of largest longitudinal force = 118
Max. jack knifing displacement = 178 mm

Discussion
• Inspection of Figures 5.9 to 5.24 suggests that the introduction of remote
locomotives in a standard train consist improves the force spectrum;

• Slack run-ins and run-outs occur when either the air brake is applied or the mode of
operation is changed from powering to dynamic braking and vice versa;

• The current rating for the class lIE locomotive is 815 A and the maximum observed
current of795 A suggests that the temperature rise of the motors is within
acceptable limits throughout the simulation;

• Remote operation also suggests a 7% improvement in the energy consumption while


comparing standard operation with mixed consist operation shows no significant
change on this figure (2%). Train configuration has little influence on energy
consumption unlike train handling or driving strategy. This suggests a need for an
optimum train handling algorithm;
• Running time is only affected by the train handling strategy and is independent of
the train make-up when trailing locomotives are controlled by the leading
locomotive and their response passive;

• In both cases of head-end operation, the maximum allowable load of 1600 kN on the
knuckle of the draw gear is exceeded. However, in not one of the 3 cases
considered, do the lateral forces seem sufficiently high to shift a wheel on an axle.
To press a wheel onto or off an axle requires approximately 1200 kN;

• The 135 mm, 164 mm and 178 mmjack knifing displacements seem excessive
when compared to the specifications for lateral bogie displacement. A logical means
of reducing lateral effects due to in-train force is by decreasing the maximum in-
train force. This is achieved by distributing the tractive effort evenly through the
200 wagon train by introducing remote locomotives.

5.4.3.2 Knuckle Failure


Investigation of critical draw gear forces is important in that draw gear problems are
responsible for more than 12% of the wagon incidents in South Africa. Further
statistical analyses of draw gear problems indicate that failures of knuckles are
responsible for the largest percentage of draw gear problems i.e. 40.64% and about
69% of these failures occur on the Ermelo-Richards Bay Coal Line [29].
One of the major reasons for knuckle failures is abnormal in-train forces.
A knuckle is a draw gear component which is designed to work only under tension
loading in service. Spoomet uses the so-called F -type knuckles on the Coal Line.
The knuckle has two main purposes:
to couple train wagons to one another;
it is designed to fail if the in-train forces exceed a certain limit (1600 kN) to
protect other more expensive draw gear components.

The replacement cost for a new F-type knuckle as used on the Coal Line is about
R900. In 1996, for example, there were 65 incidents involving failed knuckles in a
period of9 months. The cost to replace failed knuckles was R58 500 ,excluding
labour and time.
The gross income per coal train is about R500 000 and there are 12 trains working the
line daily. The total time delayed as a result of knuckle failures in this period was
8231 minutes (6 days).
The total loss of income over the 9 month period was :
A = B[CxD]
= 6[12 x 500000]
= R36000000 i.e. R36 million
where:
A = Estimated cost as a result of time delayed;
B = Total time delayed (days)
C = Number of coal trains per day
D = Gross income per coal train

Although knuckles are relatively cheap and easy to replace, the cost due to the time
delayed is worth notice.
6 TRAIN HANDLING
6.1 Introduction

When trains encompass more than 100 heavy vehicles equipped with ARR-type
couplers and roller journal bearings, speed differentials between the various parts of
the train become an important consideration. These speed differentials caused by
variations in track gradients, curvature, throttle and braking conditions, in tum cause
slack changes. Slack changes cannot be prevented but can be controlled. Uncontrolled
slack action can cause damage ,train parting and in extreme cases, derailment and
hence must be avoided. The concept of controlling slack involves allowing time for
unavoidable slack changes to occur slowly - the art of good train handling.
The basis for good train handling requires that:
• the throttle of brake is advanced one notch at a time;
• motoring and electric braking do not occur simultaneously i.e. when motoring, the
dynamic brake must be off and where braking, traction must be off;
• in the initial starting mode, the throttle is at as Iowa setting as possible. This allows
slack to stretch out slowly and minimises the total tractive effort exerted;
• since heavy head-end braking causes high compression forces behind the
locomotives which can cause derailment when negotiating sharp curves, it must be
avoided;

• power changes are not made unnecessarily since they cause surges down the length
of the train.

Slack changes are inevitable whenever a train passes over reverse grade changes, i.e.
level to up, level to down, up to level, down to level, down to up and up to down.
The most practicable method of avoiding harsh slack action is to keep the locomotive
speed as constant as possible, only with a minimum variation. Further, having a
minimum train brake application in effect should lessen the harsh slack action. This
ensures an acceptable force spectrum so that the fatigue life of the components of the
system is not severely reduced.
Variables Affecting Train Handling

(1) Weather - cold, hot, rain, dry, calm or wind etc.


(2) Adhesion between the locomotive and rail as influenced by condition of the rail
and track conditions.
(3) Speed, train length, tonnage, starts and stops.
(4) Character and make-up of the train.
(5) Effectiveness of train brakes.
(6) Normal slack between vehicles in the train consist.
(7) Grade - level, ascending, descending, undulating or a combination thereof.

6.2 Optimisation

The algorithm for train handling on straight tangent track and ascending grade is
presented in Appendix 9.3. The simulations thus far have been based on the
assumption that steady state conditions have been reached and the investigations are
based on the steady state or maximum recommended speed.
In this case, the train starts with a certain initial velocity, 36 kmJh for straight track
and 54 kmJh for ascending grade under the assumption that momentum is carried
from the previous grade. The results are presented in Figures 6.1 to 6.4 where the
drawbar pull and velocity profile are monitored. Only the train configuration with 4
head-end locomotives of the same class was investigated.
In the first set of results, the train accelerates uniformly to the maximum speed of 60
km/h and then maintains that speed.
In the second set of results, the train decelerates due to lack of power and momentum
because of the degree of the grade.
The case of automatic train handling is a complex one and this chapter only serves as
an introduction to the traction duty cycle. Only three cases have been considered
independently, namely:
(1) tangent track;
(2) ascending grade;
(3) descending grade.
Figure 6.1

2.0

~ 1.2
.,..

~
-o
x
0.4
I.I....L
I
'-.../

gp
o
~ -0.4
~ ~
t:.Lt !--"
-1.2 .~

-2.0 0 80 160 240 320 400


T (s)

Figure 6.2

0
N

00
.........
~

~
tf.I

I..D
.........
/1 K~
~
.........
.............
""0
:xl ~
......... /
:/
N
......... /
V
0
.........
V
o 80 160 240 320 400
T (s)

119
Figure 6.3

0.0

-0.4
~
'0
.......
x -0.8 u
~ll
~

~
gp ~
0 -1.2
~~
~
-1.6

-2.0
0 40
"""
80
'-

120 160 200


T (s)

Figure 6.4

0
N

~
.......
~

:s
'"
til

N
.......
~ I'.....
--...
.......
'-/
--u
~
00

o
o 40 80 120 160 200
T (s)

l20
In the case of descending grade, several parameters are introduced and these are :
(1) balancing the grade;
(2) effecting the braking routine.
Appendix 9.3 defines the concept of balancing the grade. The speed that is set to be
maintained is the balancing speed for that gradient as defined by the gradient and
rolling resistance.
In order to effect the air brake routine, a macro defining the air brake required for
each grade is introduced and presented below.

Macro BrakeLimit(v,GGrad,vd)
If((GGrad.GE.-33.0).AND.(GGrad.LT.O.O))then
Brake Reduction= 16
else if ((GGrad.LT.-33.0).AND.(GGrad.GE.-40.0))then
Brake Reduction= 14
else if ((GGrad.LT.-40.0).AND.(GGrad.GE.-50.0))then
Brake Reduction=12
else if ((GGrad.LT.-50.0).AND.(GGrad.GE.-66.0))then
Brake Reduction= 10
else if ((GGrad.LT.-66.0).AND.(GGrad.GE.-I00.0))then
Brake Reduction=7
Endif
Macro End

The Macro above directs the program to the subroutine that calculates the braking
force since different brake pipe reductions have different characteristic curves and
behaviour. The program code will only effect dynamic braking if there is insufficient
air brake i.e. the air brake is the primary braking mode.
- -----------------------

7. TRAIN PERFORMANCE PROGRAM

At each point in the simulation, the total resistance to motion, motoring effect and
couplers is calculated. This takes into account the gradient and the fact that the load is
spread over the length of the train and may be on more than one gradient at anyone
time. This is also the case with curvature. The available tractive effort at any
particular train speed is then obtained from the locomotive characteristic. The
difference between the available tractive effort and the resistance to motion
determines whether the train is to accelerate if the speed is below the ruling speed
restriction, or decelerate due to lack of power. Newton's Second Law of motion is
applied to establish the train speed at the next point in the simulation.
The new speed is used to calculate the power demand from the overhead line. At this
point, the program returns to calculate the resistance to motion at the next point in the
run and in this way, the train performance is calculated at finite intervals from start to
finish. If the train resistance to motion is negative, indicating that the train is on a
downgrade, then a braking routine is used to effect a smooth change of speed to the
speed restriction for the grade.

7.1 Program Control

The execution of the program is controlled from a master menu window which directs
the user to the main functional components and controls ofthe model (see [3] and[4]).
Figure 7.1 shows the custom controls which the user clicks on to either enter user
details, facilitate input, execute run, review output for further processing and
terminate operation. Data entry requires the user to enter only those data values that
are unique to the particular simulation.All the program control was developed using
the Visual Basic Macros presented in the Appendices.
MATNMFNTT I xl I
Enter Reference Details
I I
;-- Input Detail

0 Enter Wagon Detail o Enter Brake Data


0 Enter Loco Detail o Enter Consist Data
0 Enter Coupler Data o Enter Route Data
0 Enter Driver Commands

I Convert Input to Text Files


I
Run Generate Output
I I I I
I Exit
I
Figure 7.1 : Master Menu

7.2 Input Data

7.2.1 Reference Details

The required data is entered through a menu driven dialogue box and the data is
organised as follows :

~ Reference Details: Title, Requester, Date, Aim (of simulation), Operator.

7.2.2 Input Detail

The program input option buttons allow the user to define train consists from various
vehicles stored in standard libraries specific for locomotives and wagons, routes and
simulation control variables. The data is organised in Excel worksheets building
databases for various elements of the train being simulated. The input is saved and
stored for future reference. These files must be converted to text files to be read by
ACSL using FORTRAN commands during the simulation.

The data is organised as follows :

~ Wagons: Name, Type, Length, Width, Weight, parameters for braking, brake pipe
diameter and reaction times, number of axles, parameters for train
resistance. The parameters for train resistance are assumed constant for
all vehicle types and are thus represented as constants in the simulation.
Table 7.1 shows a typical vehicle data input field where the 'type'
column is read as vehicle class and the 'vehicle' column represents the
type of vehicle. The 'position' column is used for indexing, "i".

Type Vehicle Position Number Length(m) Weight(N) Total Axles


Weight(N)
11 E Loco 1 1 19.2 174000 174000 6
Loco 2 1 19.2 174000 174000 6
11 E Loco 3 1 19.2 174000 174000 6
Loco 4 1 19.2 174000 174000 6
CCL-9 Wagon 5 1 12.07 84000 104000 4
Waqon 6 1 12.07 84000 104000 4
Waqon 7 1 12.07 84000 104000 4
Waqon 8 1 12.07 84000 104000 4
Waqon 9 1 12.07 84000 104000 4
Waqon 10 1 12.07 84000 104000 4
Waqon 11 1 12.07 84000 104000 4
Wagon 12 1 12.07 84000 104000 4
Wagon 13 1 12.07 84000 104000 4
Wagon 14 1 12.07 84000 104000 4
Wagon 15 1 12.07 84000 104000 4
Wagon 16 1 12.07 84000 104000 4
Waqon 17 1 12.07 84000 104000 4
Waqon 18 1 12.07 84000 104000 4
Waqon 19 1 12.07 84000 104000 4
Waqon 20 1 12.07 84000 104000 4
Wagon 21 1 12.07 84000 104000 4
Wagon 22 1 12.07 84000 104000 4

Table 7.1 Wagon Detail


- - -----------------------------------~

~e~m ·~~~----~~~~==~

~r.t>tor~m @l1E 07E


o Tractive Effort o llE 07E
o Dfnarric Brake o HE 07E

arer~m----~----------------------------------------~
Noninal 'M1ee1 arx! <?ear ~m ------------,
'M1eelllarreter ~

lllE ~.~.~ ~.

<?ear~tb------------------,
[ ~~3;~) l
Tractkln Arrangerrert

Figure 7.2 : Locomotive Data Menu

=> Locomotives. In addition to the data listed for wagons, the locomotive data
includes the following variables, as shown in Figure 7.2 and Tables
7.2 and 7.3 :
1. Tractive Effort Data. Tractive effort characteristics as look up tables for
various notch positions (1 to 14) at various speeds (1 to maximum locomotive
speed in increments of 1 km/h). Only a selection of the data is shown.

2. Motor Data - motor characteristics showing armature current as a notch versus


speed matrix. Motor data is used to predict the temperature rise on the motors
as a result of dynamic braking or motoring.

3. Dynamic Brake Effort Data. Dynamic brake data appears similar to tractive
effort data except for the difference in the available notch range.

Table 7.2 : Tractive Effort Data


speed notch1 notch2 notch3 notch4 notch5 notch6 notch7
0 40 83 124 165 208 248 290
1 38.8024 81.4985 122.8 163.56 206.3908 246.4 288.2862
1.67 38.00001 80.4925 121 .996 162.5952 205.3126 245.328 287.138
2 34 .61834 79.997 121.6 162.12 204.7816 244.8 286.5724
3 22.50503 78.4955 120.4 160.68 203 .1724 243.2 284.8586
3.33 20 .14383 78.00001 120.004 160.2048 202 .6414 242 .672 284.293
4 16.57991 69.4036 119.2 159.24 201.5632 241.6 283.1448
5 13.0814 56.61509 118 157.8 199.954 240 281.431
6 10.77844 47.93619 98.77988 156.36 198.3448 238.4 279.7172
6.25 10.3211 46.18303 94.8918 156 197.9425 238 279.2888
7 9.150641 41.64484 84.88148 144.8693 196.7356 236.8 278 .0034

Speed notch1 notch2 notch3 notch4 notch5 notch6 notch7


0 5.6727 7.8182 6.4167 6.2143 4.7619 2.4 15.2
1 6.24 9.5534 9.5798 10.7214 10.9048 10.6 24.48
2 6.8073 11.2886 12.7429 15.2285 17.0477 18.8 33.76
3 7.3746 13.0238 15.906 19.7356 23.1906 27 43.04
4 7.9419 14.759 19.0691 24.2427 29.3335 35.2 52.32
5 8.5092 16.4942 22.2322 28 .7498 35.4764 43.4 61.6
6 9.0765 18.2294 25.3953 33.2569 41 .6193 51.6 70.88
7 9.6438 19.9646 28.5584 37.764 47.7622 59.8 80 .16
8 10.2111 21.6998 31.7215 42.2711 53.9051 68 89.44
9 10.7784 23.435 34.8846 46.7782 60.048 76.2 98.72
10 11.3457 25.1702 38.0477 51.2853 66.1909 84.4 108
Table 7.3 : Dynamic Brake Effort Data

=> Coupler Data: Name, Type, Pre-load force, Maximum force, Draw-gear
characteristics, Maximum travel, Free slack.
Fp Fm a korb xm xs
220 2300 2.5 5000000 0.035 0.05
100 2270 1.5 2000000 0.075 0.05
220 2500 1.1 5.5 0.0145 0.025
Table 7.4 : Coupler Data

=> Consist Data: As applicable to the program, a consist may include up to 400
wagons and 12 locomotives in any combination of positions. The consist file is
a standalone record defining the train to be simulated. Each record includes the
position of each vehicle on the consist and entire data record of the referenced
vehicle. See Table 7.1 with wagon/vehicle data.

=> Track Data: The track data defines the grade and degree of curvature at each
section of the track. Plans exist to include information on special situations
such as signal positions, signal spacing and speed restrictions. Track irregularities
and their effects are ignored.

Table 7.5 : Track Data

Distance (m) Grade


-1.20E+04 6.60E+01
-1.00E+02 -6 .60E+01
1.00E-02 -1 .00E+02
1.00E+03 -1 .00E+02
1.10E+03 2.S0E+02
1.40E+03 2.S0E+02
1.45E+03 -1 .00E+02
1.80E+03 -1 .00E+02
1.8SE+03 -6.60E+01
2.00E+03 -6.60E+01
2.0SE+03 6.60E+01
3.00E+03 6.60E+01

The degree of curvature is not shown on the track data table since it was not used in
the simulations since only the response on straight track was investigated.

=> Driver Command Data: The driving mode of each locomotive is controlled by the
commands on the leading locomotive. In the case of
braking, the trailing locomotives brake actively with a
delay for the start time of the braking mode specified.
Manual train handling data is edited and stored in this
file that serves as an alternative to the automatic train
handling algorithm incorporated in ACSL. For each
position on the track, the particular notch setting (either
for dynamic brake or traction) is read for use in the
locomotive characteristics.

Table 7.6 : Train Handling Data

Distance (m) Notch


-2.97E+00 39
-2.24E+00 40
-1.32E+00 40
-1.22E+00 40
-7.90E-01 39
-7.1SE-01 39
-6.90E-01 38
-6.1SE-01 38
-5.90E-01 37
-S.40E-01 37
-4.90E-01 36

~ Braking System: This file contains part of operating data related to the air brake,
namely the brake pipe reduction to be used in the braking
routine. In the case of the simulations run, the brake is either off
(0) or there is a minimum service reduction (1).
Table 7.7 : Brake Data
Distance (m) Brake Status
4.14E+00 0
1.46E+01 1
2.01 E+01 0
5.71 E+01 1
7.80E+01 0
8.21 E+01 1
8.72E+01 0
9.66E+01 1

7.3 Output Records

The required output from the simulation is stored in a data file on ACSL and
exported in tabular form to Excel. The user then has the ability to generate graphical
output desired other than the set output fields of cumulative energy consumption,
running time, train speed and acceleration, displacement, train handling parameters,
maximum coupler force and its position.
8. CONCLUSIONS

8.1 Operation Improvements and Efficiency

Spoornet's recent past has been characterised by the need to meet the challenges
placed on the business by its markets, customers, competition, and shareholders. The
business, however, operates on limited capital rendering the process of re-
engineering existing assets in order to obtain cost and productivity improvements,
more feasible. This search for productivity improvements and cost reduction
inevitably led to the interest of applying alternative train configurations viz. mixed
consist and distributed power technology, to the coal train operation. Chapter 1 is
dedicated to the discussion of the parameters that seek to address the improvement
of current railway operations.
Labour and power cost escalations necessitate the operation of longer and heavier
trains more efficiently without replacing available rolling stock.

8.1.1. Recommendations
• From a business management point of view, what is required is a market-oriented
rail freight service with improved efficiency and effectiveness required to remain
economically viable. The marketing of the services should be seen in a more
comprehensive context than merely "selling" of the services as per Section 1.3.1.

8.2 Longitudinal Train Dynamics

The longitudinal train dynamics simulation model presented describes the behaviour
of a train as a system of semi-rigidly coupled rakes of slackless wagons, with semi-
rigidly coupled locomotives. A global idea of how the resultant in-train forces
influence the lateral response of wagons in a long train as well as derailment potential
is illustrated ( Figure 2.8).
8.2.1 Recommendations
From the static system response, the following conclusion was drawn:
• It is not advisable to run trains at low speeds around sharp curves since low speed
operation promotes high tractive forces and hence wheel unloading with an
increased risk of derailment.

8.3 Solution Techniques

The dynamic model of a train can be solved by analytical techniques but the because
of the system complexity, such calculations are time consuming, expensive and
prone to error. It is mandatory to use the direct differential equation formulation
approach with solutions obtained by means of software packages for digital
computers. Chapter 3 discusses these solution techniques in detail and lists possible
software packages. The simulation tool has been made user-friendly by interfacing
ACSL with Microsoft Excel where inputs are facilitated and outputs generated in
sequence by clicking on custom controls as discussed in Chapter 7.

8.4 Management of Train Operations

An essential element of railroad heavy haul asset management is the use of computer
models for operations planning. This thesis presented, in Chapter 5, the development
of a one-dimensional system model for dynamic train performance studies that would
serve as an invaluable tool for heavy haul asset management to Spoomet.
Applications include optimisation of train make-up and train-handling, schedule and
capacity planning, vehicle evaluation and maximising the productivity of each train
configuration. It will now be possible to run various tests in a very short time and
reduced cost without any risk regarding staff, infrastructure and rolling stock.
Substantial improvements in the railway's efficiency appear possible by improved
train handling techniques.
8.4.1 Recommendations
From the system dynamic response, the following conclusions were drawn :-
• The concept of introducing remote locomotives in the middle of a train consist is
favoured from the force spectrum perspective, implying reduced fatigue damage
and hence improved overall vehicle life cycle expectancies. From the energy
consumption point of view, remote operation is favoured especially when one
considers the price of electricity and Eskom tariffs. Furthermore, current loading
and dumping operations favour this position of in-train locomotives. However, as
train configurations change, problems related to train handling are also introduced.
The use of remote locomotives can introduce further improvements when coupled to
ECP (electronic controlled pneumatic) technology as applicable to brake systems for
both the railway operator, Spoomet , and its customers through improved safety,
shorter stopping distances, improved train handling, fewer derailments, reduced
slack action, fewer break-in-twos, reduced lading damage, reduced maintenance due
to fewer wheel replacements, reduced break shoe wear, reduced draft component
replacement, reduced train delays, better train braking, reduced dynamic braking,
and improved equipment utilisation.

• It is possible to work different class locomotives in one locomotive consist when


electrical interfacing limitations are ignored and this has positive implications in
terms of improving availability figures. This means that normal operations could
proceed even ifless than 100% availability of anyone given class oflocomotives is
met without any damage being incurred by the system.

• In-train forces are to a large extent affected by the driving strategy and so are the
energy consumption and running time figures. This introduces a need for an
optimum train handling algorithm. Driving strategy should vary with train
configuration under the constraint of traction duty cycle.

• An introduction to the automatic train handling algorithm was presented but an


artificial intelligence model is required to represent a recommendable real-life
strategy.
9. FURTHER WORK
The above recommendations and conclusions suggest that further research is required
with focus on the following subjects :-

• With the introduction of new train configurations, various other parameters could be
investigated e.g. increased train length. It is standard practice to operate trains with
200 wagons on the Coal Line but with remote locomotives, train lengths could be
increased to prevent line congestion as envisaged with capacity increases. A further
constraint of air brake system response could be coupled with that of in-train force
response. Another alternative would be developing a model with an ECP brake
system and quantifying the merits of such an operation.

• An optimum train handling strategy with course artificial intelligence is required to


represent the optimum operation of the train. It would be interesting to model a train
with the trailing locomotives operated actively i.e. each locomotive operated
independently.

• The energy consumption algorithm presented in this thesis does not consider
regeneration and hence variations in supply line receptivity. In order to obtain
accurate figures of energy consumption, regeneration that occurs as power is fed
back to the overhead line during dynamic braking would have to be considered. An
electrical power system model is required.

• The means of monitoring heat damage on the motors by armature current could be
improved by the direct calculation of temperature across the motors.

• In putting together different train configurations, there is a need to determine


whether active or passive draw gear units would be required for the locomotive
consists especially during the starting phase of the traction duty cycle. Also, an
evaluation would have to be done on system components that would need to have
modified designs e.g. draw gears.
The differences in the dynamic behaviour of the different class locomotives in one
consist causes in-train shocks. An evaluation is required to ensure that safe and
reliable conditions will be guaranteed.

• From a control system perspective, the dynamic effect resulting from wheel slip
correction on the train system would also have to be investigated.
10. REFERENCES

Chapter 1

[1] Alston Liviu L. , "Railways and Energy", World Bank Staff Working Papers
(1984).

[2] M'Pherson P.K. , "Management and Design System Evaluation: Life-cycle Cost
Effectiveness Analysis and Assessment Procedures", I.E.E. Colloquium
(1987).

[3] Course Notes: Introduction to Multi-disciplinary Concepts in Railway.


Engineering (1999),"Motive Power" .

[4] de Bruyn Pieter J. , "The Technical Management of Rolling Stock in Spoomet" ,


(1993).

[5] Dutton C.J. , "The Optimisation of a Train Consist Comprising Semi-rigidly


Coupled Rakes of Rigidly Coupled Wagons", PhD Thesis, University of
Natal (1996).

Chapter 2

[6] Garg V.K. and Dukkipati RV. ,"Dynamics of Railway Vehicle Systems",
Academic Press, Inc., Orlando (1984).

[7] Toumay H.M.,"Rail-wheel Interaction from a Track and Vehicle Design


Perspective", Course Notes: Introduction to Multi-disciplinary Concepts in
Railway Engineering (1999).

[8] van der Westhuizen S.F., Frohling RD. , and Howard M.A.,"Lateral Effects in a
Long Heavy-haul Train Configuration as a Function ofIn-train Force and
Draftgear System Configuration" .

[9] Technical Operating Handbook - Spoomet (1996), Unpublished.

Chapter 3

[10] Garg V.K. and Dukkipati RV. ," Dynamics of Railway Vehicle Systems",
Academic Press, Inc., Orlando (1984).

[11] Gerald Curtis F. and Wheatley Patrick O. , "Applied Numerical Analysis",


Fifth Edition, Addison-Wesley Publishing Company, Inc. (1994).

[12] Dutton C.J., "Mathematical Modelling of Rolling Stock Impacts", MSc Thesis-
University of Natal (1992).

[13] ACSL Reference Manual- Version 11 , MGA Software, United States of


America (1995).
Chapter 4

[14] Garg V.K. and Dukkipati RV. ," Dynamics of Railway Vehicle Systems",
Academic Press, Inc., Orlando (1984).

[15] Motive Power - Course Notes: Introduction to Multi-disciplinary Concepts in


Railway Engineering (1999).

[16] Technical Operating Handbook - Spoornet (1996), Unpublished.

[17] Tournay H.M. and van Niekerk C.G.I.," An Overview of Creep Theory and its
Application to the Study of the Quasi-static Behaviour of Railway Vehicles".

[18] Mayer B.R and de Buhr A.P.,"Super Series Creep Control Systems".

[19] Logston C.F. and Itami G.S.," Locomotive Friction-Creep Studies".

[20] Hill R.I. , "Electric Railway Traction Part 1: Electric Traction and DC Traction
Motor Drives", Power Engineering Journal (1994).

Chapter 5

[21] Reddy D. , "Locomotive Characteristic and Application Variation Influence on


Train Dynamics and Train Design", MSc Thesis, University of Natal (1999).

[22] Murtaza M.A. and Garg S.B.L. , "Parametric Study of a Railway Air Brake
System",ImechE 1992.

[23] Desmorat B. , "Model of the Draw gear Component in a ID Simulation of a 200


Truck Train", MSc Thesis, University of Natal (1999).

[24] Technical Operating Handbook - Spoornet (1996), Unpublished.

[25] Wolf G.P. and Kieres K.C. , "Innovative Concepts for Unit Train Service: The
Slackless Drawbar Train and Continuous Center Sill Trough Train".

[26] Kerr A. and Blair J.R , "Simulation of the Longitudinal Dynamics of a Train".

[27] Duncan I.B. and Webb P.A. , "The Longitudinal Behaviour of Heavy Haul
Trains Using Remote Locomotives", Proceedings ofthe Fourth International
Heavy Haul Railway Conference (1989).

[28] Garg V.K. and Dukkipati R.V. ," Dynamics of Railway Vehicle Systems",
Academic Press, Inc., Orlando (1984).

[29] Materials Engineering Database - Spoornet (1995), Unpublished.


Chapter 6

[30] Parker C.W. , "The Requirements of Good Train Handling for Heavy Long
Trains".

[31] van der Meulen R.D.," Development of Train Handling Techniques for 200
Car Trains on the Ermelo-Richards Bay Line", Proceedings of the Fourth
International Heavy Haul Railway Conference (1989).

[32] Shelleman C.C. , "Modem Freight Train Handling", Second Edition (1972).

Chapter 7

[33] Klauser P.E., WolfG.P., "Improving Heavy Haul Asset Management Through
Line Capacity and Train Performance Models", Proceedings of the 4th
International Heavy Haul Conference (1995).

[34] Muller L., Hauptmann D. and Witt T., "TRAIN - A Computer Model for the
Simulation of Longitudinal Dynamics in Trains", Proceedings of the Conference
on Railway Engineering (1998).

[35] Chester T., Alden R.H. , "Mastering Excel 97", Fourth Edition, Sybex Inc,
Alameda (1997).

[36] Hahn B.D., " Problem Solving with Fortran 77", Edward Arnold (Publishers)
Ltd. , London (1987).
11. APPENDICES

Contents

11 .1 Rolling Stock Characteristics


11.1.1 CCL-9 Wagon Schematic
11.1.2 lIE Locomotive Schematic
11.1.3 lIE Tractive Effort
11 .1.4 lIE Dynamic Brake Effort
11 .1.5 11 E Annature Current
11.1.6 7E Tractive Effort
11.1.7 7E Dynamic Brake Effort
11 .1.8 7E Annature Current

11.2 Train Configuration Program Code

11 .3 Train Handling Algorithm

11.4 Program Control Macros


- - - - .- ......- .- .--.- - - -- - - - - - -- . -'" - - No, I t:I'fU
- - -- [Nr (NO
NCl 2 [Nr
19200

Of pl\NIOGnl\PIIS /lIl\nrLYNE: VlIN pl\NTOGnl\wE

CJ CJ
N
.n :!llillli!I'I,II!I!!lllll!!lI!I,!II'' '
..•• ,' !: • III;I n,IIl '1:1
II '10 1t:11
'I'll':'
'"'"
d~~~~~Sa@lriIt~ Btrl]"'I(i5§'~tl'
t<l

~I ~1-~IIPUr
M'AX. ~EnM-'rsSi8IT'­
flXLE MASS LOAD 29OOOk9 29000k9 29000k9 29 OOOl..~ 290001<9 29 000k9
2050
MMS. l0ELflAT-
OIllIE ASMI\SSA-
OELI\Sl.1NG
I.. 2 ZOO !_L ;2 200 • I I. 2 ZOO .. L I Z 200 .. J
IF I/1S r'lZ LOCOS.
ONLY) -!lQ.Qt-l 10 760 I.~ 400
635
ISLEGS EEnSTE
12 LOKOS.)
I• :) 020 -L Plv~r CENTOES. 115601 SPllIlllnTI\FST/\NO : 3020 .. I
flue LIfTING BIlACKETS/EN II¥SSTEUNE
20410 OVEn COUPLERS/ TUSSEN I\QPPElAM1S

25 kV AC ELECTRIC LOCOMOTIVE •
2!il\V WS ELEKTRIESE LOK~MOTIEF'
TOTAL MASS OF LOCOMOTIVE liND ItI wonKINlt onOEn
TOTALE MASSA VAN LOKOMOTIEF EIIOOI - [1I01Z IS 112200110 EN [11013 - [11045 IS 160 OOOI..~. IN wEnKENuE lOESTANO
.. STAnTiNG OATE IN ' SEnvICE MECt!. onG. N ELEC . onG. NOl
-

ONE IIOUR CONTINUOUS SERIES LOCO


InACTIVE FORCE IIANSIT NOI, OATUM IN UlENS MEG. lEK. 01. ELEK . 1EK.
EEN UUR OEUIlLOPEND nEEI(S LOI\Q
InEKKRAG
560kN 4Z5kN '100kN I EIIOOI - EII045 1905-1907 T~- TzallUr-

111 ACTION MOTORS:


SIX - LJM 540-1
1 REKKRAGMOTORS:
-
Moron RATING, PEn MOlOA: ONE HOUR: 690kW CONUNUOUS:
MOroRKENWAARDE PER MorOR: EEN UUIl: DEUIllOPEND: 650kW

MOTOR- RATING TOTIIL: . ONE HOUR: CON TlNUOU S :


-
MOrof1KENWAAROE TOTAAL: EEN UUR: 41'lOkW OEUIlLOPENO: 3900.kW

GEJ\nRATIO :'
16/71
.
,
RAr',ERHOUOING I
--
OESlliNEO MAX. SPEED:
----_.--_. - -----"--- .
90km/h
OIH'A'EnPTE MAKS. 51'0£0:
-----_.-------. ----------- .... . -
WIIEE:_ AIlRANGU.1ENT:
\'/iELSIIMESTEL: Co - Co
IWIIF.EL DIIIMElER:
WIELOWvlE lER:
1220
'. '
. , .. !. :

I
--- J --.
-' •. .. - - - -- --------------
~ PI .... 1ft
~ V.hl,l. Hu~ •• , A.",. S."I,.
f£E --.- V.. ,I.,I,no_",,,kI 1ft O•• rwl"
~ • p • I ' 0."".
:: • IPOOMIn' • /P ~ • i • 63- 555 779163-557 991 '994
~ ;~ ~ ~
~
~

!

!
-
::
-;!'

~ ~~ ~ ~
~:
r: ::: 3
~;.
...

;;
U'"
499
J D1
~!1)! (Ef
I

~I IJJO "T"I
~ I ..
Jl~ i 8110
I
:ll ! JEI-1
:1 l!ho --:-',
~ I ..
i JJ9a,
II=i=I
~
~
'\. m
1f1T9F
~ u: -; .! OVEA P\JSI En PAOS
I W - ~.. 11094 lUI OOU<KUSSIt«lS IH6 IlETlHH PUS/£R PAOS •
-;: ... ~ _ TUSSEH (JU(KUSS It«1S
c: ... :t-
: ~.x x F
~• :t~.~ ; :A w
0-w
~'"
-2
W e- ._ ~
~ ;..:. .t: I!!t: g -iii_
! :: :! ail~ 0 t-
• u.. u:a iti
~ ~ ~
!::

1 ~ 109-4& ~Wk~ .. I
w Alml Itv ICA T£S ROTARY CW'lERIOOA mAR 00, lJ'POS m: 00 r ITTEO "TIl tOHIOT AAY CW'I...£RIOOAIOAR
- : PYL 001 CJlAAIKIJ'PELAAR/-TREKSTmJ EHT MH. TEIlWlOESTruE KANT P£PAS lET HIE-ffiAAIEt« II!J'PUAARI-TREXSTmJ
'i: R••• rlte rlTT£U II~ olO..Dlt«1.IlRAKE-
! : O, .. .,"In" .- OEPAS lET YASKUlEN
" e
73 .: ~ ~
frlt ~Ji :A=Kll:r~E~~~mJ
IlAAKERATlO 1l-EE1.
C.n..,ft4 ,,..
0...".,,,,, D."
O.lulO
..
: ~ ;.! .,....- l-ff 76 •Z..l, ~HII.4S-l
e_
4.5.1 IOVEJHU)IIII ¢III5 IIEL ~
~.

_"v_2_ L .~
"rn T!P
;:
_ -: !:.. .,....-
D. ..
0,..".;0 84 I L£YE1. .1 824... ~ PER IAGOO
~= 84'~~~AI TMOO.I824M ~~_~_"""-~~~PE~R~T~~~_____~___~____+~_~~_~ ___+ __~~_
- 01- V1ex: Or .. I", HUII"r IOOllDOlO C.nl,. ., O,nll, IEIO,I,I .... .-.v-.L T". IA",.,.I k. 20920 ~
: ~ ex: T.k.nlft,n._.r S••• rl.,u,,' IL •• ,I ~ .,....- T.rr. 100111 ••• 14' ~
.. 0 .... T". HS Wk V w I L.. 4 84000 ""L
: Orul,hlll,. ~ Yro. ~
.x ...
OOlrlft,Sh.
L"r" .. I" f
L.. 4 IC .. 11
V". ISI .. nk .. 1l ,
k MOOO ~
~
I ; S,rl"., ,., 0.,1. Oulor I Inn., fI .. r lor.. l
• ~ Ver. ,or Oruhhl lIullt 111111'" 12/8 YI • ., • .,.",.klo •

.~
VI
c!'~

-
... c
e
e"k.S'....
R.... hl .. 1
Brok. C,lln4.,.
l.IR
Oul,n Lt_11 - II . . . . " R.II PER .Aoo.
C., .. II,
Inh • .,4........
10
J 85 66 _""..l_
• ~

; ;-: R.... llln4.,. IY' III 2/1.12 On!.."IIIOI.1 - II. . . . . , -s; .. r k, 104000 PER T~

!! ~!
JI
I:Z:

..
: ~
t:::~:::~~:~:"
O"k. Porunlt..
A...,., .. nl .. "
Dr .... ., E."I, ... ",
Trek .. ,kIIll,,,,'I,,,
bpi, I l .. d.4
L... 111.1 V,.,
IYI
IVI
III 68.5 I 13.3
AAR W901 E
ILI~
C.nurlo4 fer
0..."., ,Ir
Rnl'''"
Her.l.n'n,
eeL 9
~t~.r~I~~I~~;:=!k;lr~I~:~·~:=!'~:~:~~Lf:~~~r_ _ _ _ _ _·~r~T~~~~=~=_____+ _________~______

--

I ~-:
»
>
!:;'.:
~..J 0:3...
..J C
C• ."h, I T.1tt
Kn'.ltlr I Jul!
rtf 0.10
0.1".
Appendix 11.1.3

11 E 'fud:i\B Effort

- rdd11
- - rddQ

rctta
- -rddl4
- rdd"6
- - rd:t6
- -rddi7
- -rttte
- -rni9
rdd110
rdd111
rdd112
rdd113
- - rddl14

141
Appendix 11.1.4

11 E I¥Hrri-c Brake Effort

- n::th1
- rdr::1i2
rdd13
-~
- rriffi
- rd:ffi
- rddii'
- rOffi
- rt:i:te
n::th1O
Appendix 11.1.5

11E Amature Current

- f't1dl1
f't1dl2
- f't1dl3
- f't1dl4
- f't1dl5
f't1dl6
- f't1dl7
- f't1dl8
- f't1dl9
- f't1dl10
- f't1dl11
- f't1dl12
- f't1dl13
-f't1dl14

o 00 100 14>
~(kmh)

141
Appendix 11.1.6

7 E Tra:ti~ Effart

ffX)

400 - rdch1
- rdch2
<m rdct\1
- rdch4
z':H)
--g
~

t :In
-
-
rdch5
rdct6
- rdch7
W2ID
Q) - rdct6
>
:gaD - N::tch9
co
..... 1- rdch10
1-1ff)
rdch11
100 rdch12
- rdch13
ff)
- N::tch14
0
0

144
Appendix 11.1.7

7 E Dynamic Brake

:In

- -
Z2D - rddrI
~
- rddQ
t
~an rddi3
w - rdch4
Q)
- rdct6
~1ff)
~
- rdct6
m
o
--1m
- 1l1d17
E - rdcffi
co
c - rdct9
Q'ff)
rddrIO

o
o 100

lA e:
Appendix 11.1.8

- rdch1
- rdch2
rdch3
- rdch4
- rdch5
- rdch6
- rdch7
- rdch8
- rdch9
rdch10
rdch11
rdch12
o 1a::l
- rdch13
- rdch14

lA£
Appendix 11.2

PROGRAM complete

! .. program for nllocos in front (default=4)


! .. and nw wagons (default=200)
! .................................. .
! ... Definition of the constants ..
! ............... .... ...... ........ ..

dv = 0.1 *vfin
! ... ... ...... ...... .... ..... ....................... .. ...... .
! .. Constants used for the testing phase of the program
! .................. .. ................... ................. .. .

! .... .for x
integer lastlocox
double precision xsref,Lref

! ....... definition of pi :

CONSTANT pi=3.14159265359dO

!.. Gravity

CONSTANT g=9.805dO ! gravity (m.s" -2)

! ....... ........ .. .. .................................... .... .


! .. Characteristics of the different types of Draw gears:
! ................................................... .

integer cc3,Fpbl,Fmbl
double precision Fpb,Fmb,ab,xmb,xsb,bb
open(19 ,file='tria13. txt' ,access = 'direct', recl=29,&
form = 'formatted')

cc3= 1
Read(19, 1930,rec=cc3)Fpb I,Fmb 1,ab,bb,xmb,xsb
Fpb=Fpbl *1000
Fmb=Fmb 1* 1000
1930 .. format(i3, lx,i4, lx,D.l, lx,D .l, lx,f6.5, lx,f5.4)

! xsb is half of the total free slack in the slackless connection

integer cc2,Fpg 1,Fmg 1,kg


double precision Fpg,Fmg,ag,xmg,xsg
open( 18,file='triaI2.txt' ,access = 'direct', recl=31 ,&
form = 'formatted')
cc2=1
Read(18, 1935 ,rec=cc 1)Fpg 1,Fmg 1,ag,kg,xmg,xsg
Fpg=Fpgl *1000
Fmg=Fmgl *1000
1935 ..format(i3, lx,i4, lx,f3.1 , lx,i7, lx,fS .3, lx,f4.2)

! xsg is half of the total free slack in the miner SL 76 connection

integer cc 1,Fpll ,Fmll ,kloco


double precision Fpl,Fml,al,xml,xsl
open( 60,file='trial. txt' ,access = 'direct', recl=3l ,&
form = 'formatted')
ccl=1
Read( 60, 1940,rec=cc 1)Fpll ,Fmll ,al,kloco,xml,xsl
Fpl=Fpll *1000
Fml=Fmll * 1000
1940 .. format(i3, lX,i4, lx,f3.1 , lX,i7, lx,fS.3, l x,f4.2)

! xsl is half of the total free slack in the loco draw gear connection
! because of the lack of information , one assumed the same value of
! the length of the draw gear bar and total free slack than this of the
! Miner SL76

CONSTANT slope=S.d+8,xhi=0.SdO, &! phase 2 of the draw gear


slopeS= l.d+8

CONSTANT ks = 40000000,Lcb=1.S08, & ! jack-knifing parameters


bc=4.lSS ,pc=S.S47
!........................ ..... .................. ......... .
!.. Position from where the simulation will be started
! .... ........... .... ........... ..... ... ... ...... ......... .

CONSTANT xdebut=O.dO

CONSTANT xstp=2999.dO
! .. ...... ........... ......... .. .......... ...... ..................
! .. Characteristics of the loco, wagon and train configuration:
! ...... .... ... ....... .............................. ...... ....... .

! dd is the distance between the bolster and the pin point


! of the draw gear

! The values above are given values of total free slack ofSOmm
! in a slackless connection,
! and lOOmm of total free slack in a draw gear connection

! dgb reference is the length of the draw bar for the slackless
! connection, for the wagon connection and for the loco connection.

CONSTANT mrake=4 & ! rake size

!.... ...... ........ .. ............ .. ....... .


!.. Characteristics of the simulation:
! ... .... .. ....... ............ .. ..... ..... ..
CONSTANT tstp=10., &! time limit for the simulation
xdini=O.dO ! initial speed of the locos and wagons
! ... .... ........... .. ............ .... ... ........ ......... .
!.. Used for the definition of the Rolling resistance:
! ............... .... .. .... ..... ...... .. .... ...... .. ... ... .

CONSTANT FrrO=6.38dO ! Rolling resistance per tonne (N/tonne)


! for 1 truck
CONSTANT RollCoeff=S .dO ! used for the static rolling resistance

! ...... ............................ .. .......... .... .... .


!.. Constants used for the air brake
! ... ...... ..... ............ .............. .

integer ccS
double precision tbst, tbst 1, tbst2, tbst3, tb, tnext,Dia,sf
open(17,file='brake.txt',access = 'direct', recl=38,&
form = 'formatted')
ccS=1
Read( 17, 1915 ,rec=ccS)tbst, tbst 1, tbst2,tbst3, tb,tnext,Dia,sf
1915 .. format(f3.1, lx,f3.1 , lx,f3 .1, lx,D.l, l x,f4.1, lx,f4.2, lx,&
f6 .S,lx,f4.1)

! .... ....... ....... .. ..... .. .


!.. Beginning of initial section ..
! .................... ........... .
INITIAL
integer nn
Parameter(nn=20S)

! ... ...... .. ..... ............ ............ ........ ..


!.. File which opens the in-out files
! .............................................. .

character*S vehicle(nn)
character*3 type(nn)
integer cC,masse1 (nn),naxle(nn)
double precision masse(nn),Length(nn),width(nn)

Procedural
Do cons 1 i= 1,nn
open(1S,file='consistS.txt', access = 'direct', recl=23,&
form = 'formatted')
cc=}
Read( IS, 19S0,rec=cc )vehicle(i) ,masse 1(i),naxle(i),Length(i),&
width(i)

masse(i)=masse 1(i)* 1000


19S0 .. format(aS, lx,i3, lx,i l, lx,f6.4, lx,f4.2)

consl .. continue
End! .. of procedural

!....... .locomotive consist definition ... .

lACI
Procedural
Do cons5 i= 1,nn

If (vehic1e(i).eq.'locom')then
If(i.1eA)then
type(i)=' 1 IE'
else
type(i)='7El'
endif
endif
cons5 .. continue
End! ... of procedural

! ................................................... .
!... Definition of Lengths used in relative motion ....
! ................................................... .
!Procedural
!Do relml i=l,nn
!Lloco(i)=bolster(i)+dd(i)+dd(i+ 1)+( dgbreference(i)+xsl)
!Llocowagon(i)=bolster(i)+dd(i)+dd(i+ 1)+( dgbreference(i)+xsl)
!Lg( i)=bolster(i)+dd(i)+dd(i+ 1)+( dgbreference(i)+xsg)
!Lb(i)=bolster(i)+dd(i)+dd(i+ 1)+(dgbreference(i)+xsb)

Open(3,File='result2.dat')

!.. For the gradient:

open(55,file='xgrad5 .txt', access = 'direct', rec1=lO, &


form = 'formatted')

open(60,file='grad5 .txt', access = 'direct', rec1=9, &


form = 'formatted')

!...................................... .
!.. Definition of all variables types ..
! ................... .................. ..

!.. Variables for the wagons themselves :

!Double Precision L(nn),dd(nn),width(nn),length(nn), &


! dI(nn),d2(nn)

Double precision J(nn),Flat(nn),Flat_bogie(nn)

Integer m

Logical Stand(nn)

Double precision x(nn), xO(nn), xd(nn), xdO(nn), &


interxd(nn),xdd(nn), &
test(nn)
!.. Variables for the links between trucks:

Integer etat(nn),flag(nn)
Double Precision y(nn),yd(nn), &
e(nn),em(nn),elim(nn), &
Fa(nn),Fb(nn),F(nn),F2(nn), &
Fp(nn),p(nn)

Double precision eb,el,eg, & ! To calculate elim(i)


c ! damping coefficient for the etat=2
! of a draw gear

integer testFS(nn)

! ..... ..... ..... .... ...... ......... .... ...... .


! .. External forces acting on the trucks :
! ... ..... ................. ....... .. ............ .

!. . For the draw gear Forces:

!.. Remarks: (with nn=204 and nl=3 or 4)


- one will not use
* FTrailLong(nn) and FTrailLat(nn) ifnl=4
* FTrailLong(nn-l) and FTrailLat(nn-l )
and FTrailLong(nn) and FTrailLat(nn) if nl=3
- one will not use
* FLeadLong( 1) and FLeadLong( 1)if nl=4
* FLeadLong(1) and FLeadLong(l)
and FLeadLong(nn) and FLeadLong(nn) ifnl=3

Double precision FTrailLong(nn),Fmean(nn)

Double Precision FLeadLong(nn) ,For(nn) ,Fmax(nn) ,Fmin(nn)


Double precision Fmaxloco , Fmaxdraw , Fmaxbuff, &
Fmaxloc02 , Fmaxdraw2 , Fmaxbuff2, &
Xloco,Xdraw,Xbuff
Integer posloco, posdraw, posbuff, &
posloc02, posdraw2, posbuff2

!. . For the gradient force:

Double Precision Fgrad(nn),Grad(nn),xchange(nn)


Integer count(nn),countl (nn)

! .. For the rolling resistance:

Double Precision Frr(nn), rollzerowagon

! Rollzerwagon is the dynamic rolling resistance for the speed equal to zero
! it will be calculated in the initial section
! the static rolling resistance will be ( Rollcoeff * Rollzerowagon )

!.. for the air brake :


! Remark:
- one will not use Fbrk(1,2,3,4) ifnl=4,
Fbrk(l,2,3) and Fbrk(nn) ifnl=3

Double Precision Fbrk(nn),Pr(nn),BrkCyIF(nn)

!.. for the locos forces (tractive effort+dynamic brake)and energy consumption :

Integer NotchtNew,NotchdNew, &


NotchtNow,NotchdNow,NotchtUp,NotchdUp, &
N otchtrac,Notchdyn,NotchtLo,NotchdLo

Double Precision Floco(nn),NotchtNewl ,NotchdNewl , &


NotchtUpl,NotchdUpl, &
N otchtrac 1,Notchdyn 1,NotchtLo 1,N otchdLo 1, &
Power(nn),Pec(nn),Ener(nn),EnerO(nn), &
Energy(nn),Etot,Armature(nn), &
FtracNewl (nn),FtracNew(nn),FdynNewl (nn),&
Fte(nn),Fdb(nn),FdynNew(nn),FtLow,FdLow,&
FtUp,FdUp,Armcrit(nn)

Logical Tracon,Dynon,Tracdn,Dyndn

! ... ...... ...................... ...................... .......... .


! .. file which initialise some variables in the INITIAL section ..
! ......... .. .. .. ............... ..................................
! ......... .. ................... ............ .. ........... .
! .. Definition of all the macros used in the program: ..
!.......... ............... ... .............. ............. .
Macro loading(ff,ee,eelim,ii)
if (vehicle(i).eq.'locom') then
FF=Fpl+(Fml-Fpl)*((l-exp( al *(ee-eelim)/xml) )/( l-exp(al)))
else if(vehicle(i).ne.'locom')then
if (Mod(ii-lastlocox,m).eq.O) then
FF=Fpg+(Fmg-Fpg)*((l-exp(ag*(ee-eelim)/xmg))/(l-exp(ag)))
else
FF=Fpb+(Fmb-Fpb)*((l-exp(ab*(ee-eelim)/xmb))/(l-exp(ab)))
endif
endif
Macro end

Macro unloading(ff,ee,eelim,ii)
if (vehicle(i).eq.'locom') then
FF=kloco*(ee-eelim)+Fpl
else if(vehicle(i).ne.'locom')then
if (Mod(ii-lastlocox,m).eq.O) then
FF=kg*(ee-eelim)+Fpg
else
FF=Fpb+(Fmb-Fpb)*((l-exp(bb*(ee-eelim)/xmb ))/(l-exp(bb)))
endif
endif
Macro end

! ..... .. ... ........ .. ............. .. .


! .. Gradient force calculation
!... ...... ........... ...... .. ........ .

! Fgrad is > 0 when the truck goes uphill

Macro Hill(FF grad, GGrad,mass)


FFgrad=sign( 1.0,GGrad)*(mass *g/( sqrt( 1+(GGrad * *2) »)
Macro end

! ................. .. ....... .............. .


! .. Rolling resistance calculation:
! ............................ ..... ........

! The Rolling resistance calculated is always positive


! the minus sign will be handled in the defmition of the acceleration

Constant coefftest= 1. 0
Macro RollResistance(FFrr,vel,mass,numaxle)
FFrr=coefftest*((FrrO+0.137*vel)*massIl000. &
+(129.3+0.028*vel**2)*numaxle)
Macro end
! .......... .. ............. ..... .. ... .
! .. Air brake force calculation :
! ....... ...................... ..... ..

Macro BrakeP(Pr,t)
If (t.1t.tbstl) then
Pr=O
else if ((t.ge.tbstl) .AND. (t.1t.tbst2» then
Pr=2*t-2
else if ((t.ge.tbst2) .AND. (t.1t.tbst3» then
Pr=0.33*t + 1.34
else if ((t.ge.tbst3) .AND. (t.1t.tb» then
Pr=-21.4480 + (5.0655*t) - (0.2682*t**2) + (0.0048*t**3)
else if (t.ge.tb) then
Pr=-21.4480 + (5.0655*tb) - (0.2682*tb**2) + (0.0048*tb**3)
endif
Macro end

! ... .. .... ..... Speed Restriction ......... .

Macro Speedres(v,GGrad,vd)

If(GGrad.GE.(O.O»then
v=60/3.6
else if ((GGrad.GE.-50.0).AND.(GGrad.LT.0.0» then
v=30/3.6
else if ((GGrad.LE.-51.0).AND.(GGrad.GE.-65.0»then
v=40/3.6
else if ((GGrad.LE.-66.0) .AND.(GGrad.GE.-80.0»then
v=45 /3.6
else if ((GGrad.LE.-81 .0).AND.(GGrad.GE.-l OO.O»then
v=50/3.6
else if (GGrad.LT.-IOO.O)
v=60/3.6
Endif
Macro End

! number ofloco and wagon (which must be defined as integers)

m=mrake

! ..... ... ..... ...... ..... .. .............. .... ......... ..


! .. Parameters for a loco or a wagon
! .................... ....... ................ ..... .. .... .

! geometric parameters +masse


! + Inertia of a loco or a wagon in the middle of itself :
! (defined for a shorter listing of the program!)

Tracon=.false.
Tracdn= .false.
Dynon= .false.
Dyndn=.false.

! ................................................... ...... .
!.. values to be initialised for the calculation ..
!. . of the lateral force to work properly :
! ........ .. ..... .... ..... ... ............ ....... .. .... .. .. ..

Fmaxloco2 = O.dO
Fmaxdraw2 = O.dO
Fmaxbuff2 = O.dO

!....... .............. .. .. .. ... ...................................... .


! .. Initial values for variables relative to the link between wagons
! ... ... ... .. .... ....... ... ...... ................ ..... ................ .

eb=Fpb/slope5
eg=Fpg/slope5
el=Fpl/slope5

Procedural
Do init330 i=l,nn
If( vehicle( i) .eq .'locom'.AND. vehicle(i+ 1) .eq .'wagon ')then
lastlocox=i
endif
init330 .. continue
End! .. of procedural

Procedural

do INITO i=l,nn
If( vehicle(i).eq.'locom')then
Fp(i)=Fpl
elim(i)=el
else if(vehicle(i).eq.'wagon')then
If(Mod(i-lastlocox,m).eq.O)then
Fp(i)=Fpg
elim(i)=eg
else
Fp(i)=Fpb
elim(i)=eb
endif
endif
INITO .. continue

End! .... .of procedural

!.. Initial values of some coefficient useful for the draw gears

PROCEDURAL

Do INIT2 i=I,nn-I
em(i)=O.
etat(i)=O
F(i)=O.
Fa(i)=O.
Fb(i)=O.
p(i)=O.

INIT2 .. continue

END !.. of PROCEDURAL

!.. Definition of the damping coefficients

!.. For the straight configuration:


Procedural
Do damp 1 i= I,nn
If(vehic1e(i).eq.'wagon')then
c=xhi*sqrt(slope*masse(i))
endif
damp I ..continue
End! ... of procedural

! .................................. .. .... .................... .


!.. definition of the initial position, speed of the wagons ..
! ........ .. ................. .......................... .. ......

Procedural
xO(I)=xdebut
xdO( 1)=xdini
x(I)=xO(I)
xd(1 )=xdO(1)
Do init3 i=2,nn

If( vehic1e( i).eq.'locom'.AND. vehic1e(i -1) .eq. 'locom')then


Lref=Lloco
else if( vehic1e( i) .ne. vehic1e( i-I) )then
Lref= Llocowagon
elseif(vehic1e(i).eq. 'wagon' .AND.vehic1e(i-l ).eq. 'wagon')then
If(Mod(i-lastlocox-l,m).eq.O)then
Lref=Lg
else
Lref=Lb
endif
endif
xO( i)=xO(i-I)-Lref
x(i)=xO(i)
xdO(i)=xdini
xd(i)=xdO(i)
init3 .. Continue

End !. ..of procedural...

! ........ ......... .. ....... ... ......... .. ......... .......... .


!.. defmition of the initial configuration of the wagons:
! ........ ....... ... ....... .. ........ ... ...... ..... ......... ..

! .. standing or moving :
! (useful for the calculation ofthe rolling resistance
! during the starting phase)

Procedural

do init5 i=I ,nn


If( vehic1e( i) .eq .'locom')then
stand( i)= .false.
else
stand(i)=.true.
Endif
init5 .. continue

end! of procedural

!..... .. ...... ... .. ... .... ................... .... .. ...... .... .


!..Initialisation of some values
!.. for the equation of dynamics to be valid for each truck
! .......... .... .............................................. .
! this part is important because the eq. of dynamics calculates
! every forces for every truck.
! => eg, the loco forces must be put to zero for the wagons!
! (here, with 4 locos in front Floco(i=5 to 204)=0. )
! We put at zero all the values, the one which are not going to be calculated
! will stay equal to zero, and the calculus ofxdd(i) will be ok.

Procedural

Do initlOO i=I,nn

NotchtNewI=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUp I =0
NotchtUp=O
NotchtLo=O
NotchtLol=O
NotchtNow=O
NotchdNewl=O
NotchdNew=O
Notchdyn 1=0
Notchdyn=O
NotchdUp 1=0
NotchdUp=O
NotchdLo=O
N otchdLo 1=0
NotchdNow=O

Floco(i)=O.dO
EnerO(i)=O.dO
Energy(i)=O.dO
Armature(i)=O.dO
Armcrit(i)=O.dO
FLeadLong(i)=O .dO
FTrailLong(i)=O .dO

Fmax(i)=O.dO
Fmean(i)=O.dO
Fmin(i)=O.dO
initlOO .. continue

Etot=O .dO

end! of procedural

! .............. ... .. ....... ....................... .


!.. Relative to the rolling resistance force : ..
! ...................................... .. ... ...... .

! Rollzerwagon is the dynamic rolling resistance for the speed equal to zero
! the static rolling resistance will be ( Rollcoeff * Rollzerowagon )
Procedural
Do init20 i=l,nn
If(vehicle(i).eq.'wagon')then
RollResistance(RollZeroWagon=O.dO,masse(i),naxle(i))
else
RollResistance(RollZeroWagon=vfin*3.6,masse(i),naxle(i))

Endif
init20 .. continue
End! ... of procedural

! ...................................... .
,
!.. Relative to the gradient force : ..
.. ...................... .... ... ........ .

Procedural

Do init8 i= l,nn
count(i)=l
read(55, 99, rec=count(i)) xchange(i)
99 .. format(d9.5)
xchange(i)=xchange(i)*1000.
count1(i)=l
read(60, 97, rec=count1(i)) Grad(i)
97 .. format(d9.4)

init8 .. continue

end ! of procedural

END !.. OF INITIAL ..

! .................................... .
!. . Beginning of the dynamic section ..
! .................................... .

DYNAMIC

!. .... define simulation environment

CINTERV AL cint=O.Ol
ALGORITHM ialg=4
MAXTERV AL maxt=O.O 1
NSTEPS nstp= 1

!.. Definition of the tables for the calculation of the tractive


!.. and the dynamic brake

!. ....... tractive effort for 11E ......... .


Table Traction,2,15,10 &
1 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,10,20,30,40,50,60,70,80,90 &
, 0,40,80, 125,164,210,245,290,330,370,415,458,495,540,580 &
, 0,5,34,60,110,170,230,275,310,355,400,440,480,520,560 &
, 0,0,10,30,55,90,125,170,210,280,330,420,460,510,545 &
, 0,0,2,15,30,40,80,110,140,185,220,280,320,380,440 &
, 0,0,0,8,20,35,60,80,105,135,170,208,245,290,335 &
, 0,0,0,2,12,28,50,60,85,110,135,165,190,230,270 &
, 0,0,0,2,8,20,40,40,70,94,110,139,160,192,220 &
, 0,0,0,2,5,12,32,30,60,80,95,118,140,164,180 &
, 0,0,0,2,3,12,30,28,52,68,84,100,120,140,130 &
, 0,0,0,2,2,12,25,28,48,60,74,90,105,105,1051

Table ForctLow,1,15 &


10,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,0,0,2,2,12,25,28,48,60,74,90,105,105,1051

Table ForctUpper,1,15 &


10,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,40,80,125, 164,21 0,245,290,330,370,415,458,495,540,5801
! ........ dynamic brake effort for 11 E .......... .

Table DynBrake,2, 11,10 &


10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, &
0, 10, 20, 30, 40, 50, 60, 70, 80, 90, &
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
0, 12, 25, 42,54, 70,88, 112, 137, 180,240, &
0, 20, 45, 70,100, 130,166, 212,268,340,360, &
0, 25, 62, 104,142, 190,248, 320,3*360, &
0, 30, 82, 136,188, 250,330,4*360, &
0, 35, 98, 165,236, 310,5*325, &
0, 40, 114, 195, 7*270, &
0, 45, 130, 225, 7*230, &
0, 50, 143, 8*200, &
0, 55, 160,8*01

Table ForcdLow,1,11 &


10,1,2,3,4,5,6,7,8,9,10 &
,0,0,0,8*01

Table ForcdUpper,I,11 &


10,1,2,3,4,5,6,7,8,9,10 &
,0,55,160,225,270,320,360,360,360,360,3601

! ........ Table of armature current for lIE ........ .

Table Current,2,15,10 &


I 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,10,20,30,40,50,60,70,80,90 &
, 0,75,165,245,330,410,490,570,650,730,815,900,980,1065,1130 &
, 0,10,65, 120,220,335,450,540,620,700,790,870,940,1030,1100 &
, 0,0,20,55,80, 160,280,340,435,560,680,800,905,1000,1065 &
, 0,0,5,25, 60, 105, 160,230,300,395,460,575,650,780,860 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,795 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,795 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,795 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,795 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,795 &
, 0,0,2,20, 50,90, 140,200,260,330,400,500,580,680,7951

!.. Defmition of the tables for the calculation of the tractive


! .. and the dynamic brake

! ........ tractive effort for 7E ......... .


Table Traction_ 2,2,15,1 °
I 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
&
&
,0,10,20,30,40,50,60,70,80,90 &
, 0,12,42,100,170,250,320,396,450,450,450,450,450,450,450 &
, 0,0,28,84,154,234,305,380,430,430,430,430,430,430,430 &
, 0,0,12,62,140,219,290,364,420,420,420,420,420,420,420 &
, 0,0,0,22,62,116,180,300,406,406,406,406,406,406,406 &
, 0,0,0,10,30,60,98,140,214,240,275,280,280,280,280 &
, 0,0,0,2,15,32,54,86,120,140,185,210,230,230,230 &
, 0,0,0,2,10,22,34,52,76,90,120,130,140,190,190 &
, 0,0,0,2,10,22,24,36,52,75,90,95,100,140,160 &
, 0,0,0,2,10,22,24,34,38,60,75,75,75,105,120 &
, 0,0,0,2,10,22,24,20,20,45,40,50,50,80,901

Table ForctLow_2,1,15 &


10,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,0,0,2,10,22,24,20,20,45,40,50,50,80,901

Table ForctUpper_2,1,15 &


10,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
,0,12,42,1 00, 170,250,320,396,450,450,450,450,450,450,4501

! ........ dynamic brake effort for 7E .......... .

Table DynBrake_2,2,11,10 &


10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, &
0, 10, 20, 30, 40, 50, 60, 70, 80, 90, &
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, &
0, 3, 10, 18,24, 33,48, 66,84, 110, 160, &
0, 6, 20, 35,48, 65,95, 200, 165,220,240, &
0, 10, 30, 52,72, 98,145, 240,240,240,240, &
0, 13, 40, 70,95, 132,191,220,240,240,240, &
0, 16, 48, 87,120, 165,220,185,220,220,220, &
0, 20, 58, 103,143, 185,185,185, 185,185,185, &
0, 23, 68, 120, 7*158, &
0, 25, 78,8*138, &
0, 29, 88, 8*01

Table ForcdLow_2,1,11 &


10,1,2,3,4,5,6,7,8,9,10 &
,0,0,0,8*01

Table ForcdUpper_2,1,11 &


10,1,2,3,4,5,6,7,8,9,10 &
,0,29,88,138,158,185,220,240,240,240,2401

! ........ Table of armature current for 7E .........

Table Current_2,2,15,10 &


1 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 &
, 0, 10, 20, 30, 40, 50, 60, 70, 80 ,90 &
, 0,113,200,328,438,555,678,794,7*885 &
, 0,38,170,294,406,535,655,768,7*857 &
, 0,28, 113,245,388,510,633,743,7*829 &
, 0,21,82, 158,244,340,465,717,7*801 &
, 0,16,53, 114,174,238,320,392,520,565,5*665 &
, 0,12,40,85, 133, 175,235,294,360,413,493,585,3*665 &
, 0,9,30,64,101,142,183,231,280,330,392,460,543,2*665 &
, 0,7,22,48,77, 115, 149, 186,220,275,323,383,451,530,615 &
, 0,5,17,36,58,91,119,155,182,228,279,325,380,445,518 &
, 0,4, 12,27,45, 71, 94, 126,153,197,245,290,330,381,4461
DERIVATIVE

! ....... .... ..... ........................ ........... .. ..


L. Calculation of the stroke
!........ ..... .............. ...................... ..... .

L ... Determination oftestFS(i)=-l ,O,l


!. .. . -1 : compression zone
!.... 0 : free slack zone
!.... 1 : tension zone

Procedural

Do strk1 i=l,nn-l

If(vehicle(i).eq.'locom'.AND.vehicle(i+l).eq.'locom')then
Lref2=Lloco
xsref=xsl
else if( vehicle(i).ne.vehicle(i+ 1))then
Lref2= Llocowagon
xsref=xsl
elseif(vehicle(i).eq.'wagon'.AND.vehicle(i+l).eq.'wagon')then
If(Mod( i-lastlocox,m) .eq. O)then
Lref2=Lg
xsref=xsg
else
Lref2=Lb
xsref=xsb
endif
endif
y(i)=x(i)-x(i+ l)-Lref2
e( i)=(abs(y( i))-xsref)/2.

if (e(i).le.O.dO) then
testFS(i)=O
e(i)=O.dO
else
testFS(i)=sign(1.0,y(i))
endif

strk1 .. continue

end! of procedural
,
. ...... .... ....... .. ..... .... .................. ........ .....
!.. Calculation of the longitudinal forces inside the link
,
!.. (via the draw gear state)
... ........ ..... ... ........ ... ....... ...... ... .. .... .. ... ...

Procedural
Do longfl i=l ,nn-l

yd(i)=xd(i)-xd(i+ 1)

if (etat(i).eq.O) then
if (e(i).gt.O.) then
if (e(i).gt.elim(i)) then
etat(i)=l
em(i)=e(i)
else
etat(i)=5
em(i)=O.
endif
else
etat(i)=O
endif

else

if (etat(i) .eq.5) then


if (e(i).le.O.) then
etat(i)=O.
else
if (e(i).gt.elim(i)) then
etat(i)=l
em(i)=e(i)
else
etat(i)=5
endif
endif

else

if (etat(i).eq. 1) then
if (e(i).ge.em(i)) then
etat(i)=1
em(i)=e(i)
else
if (e(i).gt.elim(i)) then
loading(Fa(i)=em(i),elim(i),i)
p(i)=Fa(i)-slope*em(i)
unloading(Fb(i)=e(i),elim(i),i)
if ((slope*e(i)+p(i)).lt.Fb(i)) then
etat(i)=3
em(i)=e(i)
else
etat(i)=21
flag(i)=1
endif
else
if (e(i).gt.O.) then
etat(i)=5
em(i)=O.
else
etat(i)=O
em(i)=O.
endif
endif
endif

else

if (etat(i) .eq.3) then


if (e(i).gt.em(i)) then
unloading(Fb(i)=em(i),elim(i),i)
p(i)=Fb(i)-slope*em(i)
10ading(Fa(i)=e(i),elim(i),i)
if ((slope*e(i)+p(i)).gt.Fa(i)) then
etat(i)=l
em(i)=e(i)
else
etat(i)=21
flag(i)=3
endif
else
if (e(i).lt.elim(i)) then
if (e(i).gt.O.) then
etat(i)=5
em(i)=O.
else
etat(i)=O
em(i)=O.
endif
else
etat(i)=3
em(i)=e(i)
endif
endif

else

if (( etat(i).eq.21 ).or.(etat(i).eq.22)) then


if (e(i).lt.elim(i)) then
if (e(i).gt.O.) then
etat(i)=5
em(i)=O.
flag(i)=O
else
etat(i)=O
em(i)=O.
flag(i)=O
endif
else
if (flag(i).eq.l) then
F2(i)=slope*e(i)+p(i)
10ading(Fa(i)=em(i),elim(i),i)
if ((F2(i)+TestFS(i)*c*yd(i)).gt.Fa(i)) then
etat(i)=l
em(i)=e(i)
flag(i)=O
else
unloading(Fb(i)=e(i),e1im(i),i)
if «F2(i)+TestFS(i)*c*yd(i)).1t.Fb(i)) then
etat(i)=3
em(i)=e(i)
flag(i)=O
else
etat(i)=22
endif
endif
else
if (flag(i).eq.3) then
F2(i)=slope*e(i)+p(i)
unloading(Fb(i)=em(i),elim(i),i)
if «(F2(i)+TestFS(i)*c*yd(i)).1t.Fb(i)) then
etat(i)=3
em(i)=e(i)
flag(i)=O
else
loading(Fa(i)=e(i),e1im(i),i)
if «F2(i)+TestFS(i)*c*yd(i)) .gt.Fa(i)) then
etat(i)=l
em(i)=e(i)
flag(i)=O
else
etat(i)=22
endif
endif
endif
endif
endif
else
flag(i)=9
endif
endif
endif
endif
endif

!. ... trailing force function of TestFS(i)


! (TestFS(i) has been calculated in stroke.inc)

if (etat(i) .eq.O) then


FTrailLong(i)=O .
else
if (etat(i).eq.S) then
FTraiILong(i)=-TestFS(i)*(slopeS *e(i))
else
if (etat(i).eq.l) then
loading(F(i)=e(i),e1im(i),i)
FTraiILong(i)=-TestFS(i)*F(i)
else
if (etat(i).eq.21) then
FTraiILong(i)=-TestFS(i)*( slope*e(i)+p(i))
else
if (etat(i).eq.22) then
FTraiILong(i)=-(TestFS(i)*(slope*e(i)+p(i))+c*yd(i))
else
unloading(F(i)=e(i),elim(i),i)
FTraiILong(i)=-TestFS(i)*F(i)
endif
endif
endif
endif
endif

!.. .. . leading force FLeadLong(i+ 1)

FLeadLong(i+ 1)=-FTrailLong(i)

longfl .. continue

end ! of procedural

! ....... ....... ............. .... ......... ..


!. . Definition of Locoforce ..
! ....... .. ..................... .... ....... .

!. ........... Test and increase/decrease traction as required

Procedural
Do 1£1 i=l ,nn
If( vehicle( i).eq .'locom')then
If(xd(1 ).LT.vfin-dv/2)then
Tracon=.true.
If(Tracon)Fdb( i)=O.
Dynon=.NOT.Tracon
Dyndn=.NOT.Tracon
NotchdNewl=O
NotchdNew=O
Notchdyn 1=0
Notchdyn=O
NotchdUpl =O
NotchdUp=O
NotchdLo=O
NotchdNow=O
N otchtUp=N otchtNow+ 1
NotchtUp 1=NotchtUp
NotchtNew=RSW(NotchtUp 1.LE.14 .0,NotchtUp 1,14.0)
NotchtNewl =NotchtNew
If(type(i).eq.'llE')then
If (xd(1) .LE. 15/3.6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl,0.0)
else If (xd(l) .GT. 15/3.6) then
Notchtrac=RSW((NotchtNewl.GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl ,2.0)
else If (xd(1) .GT. 30/3.6)then
Notchtrac=RSW((NotchtNewl.GE. 3.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl ,3.0)
else If (xd(l) .GT. 55/3.6) then
Notchtrac=RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl .LE.
14.0),NotchtNewl ,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl (i).GE.FtLow,FtracNew 1(i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac 1,xd(i)*3 .6)
else
If (xd(l) .LE. 8/3.6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl ,0.0)

else If(xd(l) .GT. 8/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl ,2.0)

else If (xd(l) .GT. 30/3 .6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNewl (i)=Traction_2 (Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow_2 (Notchtrac 1)
FtUp=ForctUpper_ 2(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew(i)=RSW(FtracNewl (i) .LE.FtUp,FtracNewl (i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current_ 2(Notchtrac 1,xd( i)* 3.6)
Endif
Power(i)=Floco(i)*xd( i)
Pec(i)=Power(i)

N otchtNow=Notchtrac
Tracdn= .NOT.Tracon

else If(Tracon.AND.xd( 1).GE. vfm-dv/2)then


Tracdn=.true.
If(Tracdn)Fdb( i)=O.
Dynon=.NOT. Tracdn
Dyndn=.NOT.Tracdn

NotchdNewl=O
NotchdNew=O
Notchdyn 1=0
Notchdyn=O
NotchdUpl=O
NotchdUp=O
NotchdLo=O
NotchdNow=O

NotchtLo=NotchtNow-l
NotchtLo 1=NotchtLo
NotchtNew=RSW(NotchtLo 1.GE.0.0,NotchtLo 1,0.0)
NotchtNew 1=NotchtNew
If(type(i).eq.'llE')then
If (xd(l) .LE. 15/3 .6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNew1,0.0)
else If (xd(l) .GT. 15/3.6) then
Notchtrac=RSW((NotchtNew1. GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNew1,2.0)
else If (xd(l) .GT. 30/3.6)then
Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,3.0)
else If (xd(l) .GT. 55/3.6) then
Notchtrac=RSW((NotchtNew1.GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i) *3.6)
FtLow=F orctLow(Notchtrac 1)
FtUp=F orctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl (i).GE.FtLow,FtracNewl (i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i).LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac1,xd(i)*3.6)
else
If (xd(l) .LE. 8/3. 6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNew1,0.0)

else If (xd(l) .GT. 8/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNew1,2.0)
else If (xd(l) .GT. 30/3.6)then
Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14. 0) ,NotchtNew 1,3.0)
else If (xd(l) .GT. 55/3.6) then
Notchtrac=RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction_ 2(Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow_ 2(Notchtrac 1)
FtUp=ForctUpper_ 2 (Notchtrac 1)
FtracNew(i)=RSW(FtracNewl (i).GE.FtLow,FtracNewl (i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp )
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current_2 (Notchtrac 1,xd(i)*3 .6)
Endif
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)
NotchtNow=Notchtrac
Tracon=.NOT.Tracdn
Endif

elseif(vehic1e( i).eq .'wagon')then


Floco(i) = O.
Armature(i)=O .
Power(i)=O.
Pec(i)=O.
Energy(i)=O.
Endif
1£1 .. continue

End! .. .. .. .. of Procedural

!..... .... .. .Test and increase/decrease dynamic brake as required

Procedural
Do If3 i= 1,nn
If(vehic1e(i) .eq .'locom')then
If(xd(1 ).GT.vfin+dv/2)then
Dynon=.true.
If(Dynon)Fte(i)=O.
Tracon=.NOT.Dynon
Tracdn= .NOT .Dynon

NotchtNewl=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUpl =O
NotchtUp=O
NotchtLo=O
NotchtLo 1=0
NotchtNow=O

NotchdUp=NotchdNow+ 1
NotchdUp 1=NotchdUp
NotchdNew=RSW(NotchdUpl.LE.lO.O,NotchdUpl ,lO .O)
NotchdNewl =NotchdNew
If(type(i).eq.'llE')then
If (xd(l) .GT. 70/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 60/3 .6) .AND. (xd(1) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl ,4.0)
else If ((xd(1) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd( 1) .LE. 45 /3.6) then
Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl ,lO.O)
Endif
N otchdyn 1=N otchdyn
FdynNewl(i)=DynBrake(Notchdynl,xd(i)*3.6)

FdLow=ForcdLow(Notchdynl)
FdUp=ForcdUpper(Notchdynl)
else
If (xd(1) .GT. 80/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl,2.0)
else If ((xd(1) .LE. 80/3.6).AND. (xd(1) .GT. 70/3.6»then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl,3.0)
else If ((xd(1) .LE. 70/3.6).AND. (xd(1) .GT. 60/3.6»then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl,4.0)
else If ((xd(1) .LE. 60/3.6).AND.(xd(1) .GT. 50/3.6»then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl,5.0)
else If ((xd(l) .LE. 50/3.6).AND.(xd(1) .GT. 46/3.6»then
Notchdyn=RSW(Notchdnewl .Ie. 6.0,Notchdnewl,6.0)

else If (xd(1) .LE. 46/3.6) then


Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl,lO.O)
Endif

N otchdyn 1=N otchdyn


FdynNewl(i)=DynBrake_2(Notchdynl,xd(i)*3.6)
FdLow=F orcdLow_ 2 (Notchdyn 1)
FdUp=F orcdUpper_ 2(Notchdyn 1)

Endif
FdynNew(i)=RSW(FdynNewl(i).GE.FdLow,FdynNewl(i),FdLow)
FdynNew(i)=RSW(FdynNewl(i).LE.FdUp,FdynNewl(i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i»* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO
NotchdNow=Notchdyn
Dyndn= .NOT.Dynon

else If(Dynon.AND .xd( 1) .LE. vfin+dvl2)then


Dyndn=.true.
If(Dyndn)Fte(i)=O.
Tracon= .NOT.Dyndn
Tracdn=.NOT.Dyndn

NotchtNewl=O
NotchtNew=O
N otchtrac 1=0
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
NotchtLol=O
NotchtNow=O

NotchdLo=NotchdNow-l
NotchdLo 1=NotchdLo
NotchdNew=RSW(NotchdLo 1.GE.O.O,NotchdLo 1,0.0)
NotchdNewl =NotchdNew
If(type(i).eq.'llE')then
If(xd(l) .GT. 70/3.6) then
Notchdyn=RSW(Notchdnewl .le. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(l ) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .le. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 60/3.6).AND. (xd(1 ) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .le.4.0,Notchdnewl,4.0)
else If ((xd(l) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .le. 5.0,Notchdnewl,5.0)
else If (xd(l) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl .le.l O.O,Notchdnewl , lO.O)
Endif
N otchdyn 1=N otchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3.6)
F dLow= F orcdLow(Notchdyn l)
FdUp= ForcdUpper(Notchdyn l)
else
If (xd(l) .GT. 80/3.6) then
Notchdyn=RSW(Notchdnewl .le. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 80/3.6).AND. (xd(l ) .GT. 70/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(l ) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl ,4.0)
else If ((xd(l) .LE. 60/3.6).AND.(xd(l) .GT. 50/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If ((xd(l) .LE. 50/3.6).AND.(xd(l) .GT. 46/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 6.0,Notchdnewl ,6.0)
else If (xd(l) .LE. 46/3.6) then
Notchdyn=RSW(Notchdnewl .le.l O.O,Notchdnewl, 10.0)
Endif

Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake_2(Notchdynl ,xd(i)* 3.6)
FdLow=ForcdLow_2(Notchdynl)
FdUp=ForcdUpper_2(Notchdynl)
endif
FdynNew(i)=RSW(FdynNewl (i).GE.FdLow,FdynNewl (i),FdLow)
FdynNew(i)=RSW(FdynNewl(i).LE.FdUp,FdynNewl (i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Annature(i)=O .dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O .dO
NotchdNow=Notchdyn
Dynon=.NOT.Dyndn
Endif

elseif(vehicle(i) .eq .'wagon ')then


Floco(i) = O.
Annature( i)=O.
Power(i)=O.
Pec(i)=O.
Energy(i)=O.
Endif
If3 .. continue

End! ...... ..of Procedural

! ........................................ ..
!.. Definition of the Rolling Resistance ..
! ........ .... ................... ...........

! .................................................. .
!.. File which calculates the rolling resistance
!.. and handle the fact that the rolling resistance must
!.. be zero if the truck is not moving ( variable stand(i) )
! .... .. ...... .... .................................. .

!.. (the equations must handle that x(i)=O if the wagon is standing)

! for the next procedural section below,


! one must assume the wagons on a straight track
! => the train must start on a straight track !

! The resistance to start the train is supposed to be 5 times greater


! than the resistance of a moving wagon at a very low speed (FrrO ).
! FrrO is the rolling resistance when the speed tends towards zero.

! We can use at runtime the coefficient RollCoeff


! defined as a constant:
Procedural

Do ro111 i=l,nn
If(vehicle(i) .eq .'wagon')then
if (stand(i)) then
if (xdini.eq.(O.dO)) then
if (( -Fgrad(i)+FLeadLong(i)+FTrailLong(i) &
-RollCoeff*Rollzerowagon).GT.(O.dO) ) then
stand(i)=. false.
test(i)=t
endif
else
stand( i)= .false.
test(i)=t

endif
endif
endif
roll 1.. continue

End! .. of procedural

!.. Calculation of the Rolling Resistance:

! The Rolling resistance calculated is always positive


! the minus sign will be handled in the defmition of the acceleration
Procedural

Do ro112 i= 1,nn
If (stand(i)) then
Frr(i)=O.dO
else
Ro11Resistance(Frr( i)=xd( i)* 3.6,masse(i),Naxle(i))

endif
ro112 .. continue
End! ... .of procedural

! the next test (Frr(i)=O or not) is not obligatory


! but it makes more sense to fix FRR(i)=O if the train is not moving
! The calculation of the acceleration takes the fact standing/moving
! into account

!... ...... The gradient force

Procedural
Do gradlp 1 i= 1,nn

If (x(i).ge.xchange(i)) then

20 .. continue
count(i) = count(i) + 1
read(55, 90, rec=count(i)) xchange(i)
90 .. format(d9.5)
xchange( i)=xchange( i) * 1000.
countl(i) = count1(i) + 1
read(60, 91, rec=count1(i)) Grad(i)
91.. format(d9.4)
if (x(i) .ge.xchange(i)) goto 20

! comment: the loop with label 20 is to take into account


! an initial position of the first loco which is not zero.

endif

gradlp 1..continue

End!. .. of procedural

Procedural
Do gradlp2 i= 1,nn
Hi11(Fgrad(i)=Grad(i),masse(i))
gradlp2 ..continue

end ! of Procedural
,
. .... ... ... .... .. .. ......... .. .. ....... ... ............ ..... ... ....
!.. File which calculates the airbrake forces acting on the wagons
! ..... .............. .. ...... .. .. ....... .. ......... .... ..... ...... .
Procedural
Do ab6 i= 1,nn

If (i.eq.l)then
timel=t
BrakeP(Pr(i)=time 1)
else
time = timel-(i*tnext)-tbstl
BrakeP(Pr(i)=time)
endif

BrkCylF(i) = (6900*Pr(i)*pi*(Dia**2)/4) -sf

If (BrkcylF(i).1e.O) then
Fbrk(i)=O.dO
else
Fbrk(i) = 2*(BrkCyIF(i) * (680 ./305 .) -1600) &
* (430 ./615.) * (320 ,/230.) * 4.5
endif

If (Fbrk(i).1t.O) Fbrk(i)=O.dO

ab6 .. continue
end ! of procedural

!
! .. .. ........ Energy Consumption calculation

Procedural
Do enerlb 1 i= 1,nn
Energy(i)=Ener(i)*1I3.6e6
enerlb 1.. continue

Etot=Energy( 1)+Energy(2)+ Energy(3)+Energy( 4)+Energy( 5)+Energy(6)& ! Cum. energy


kWh
+ Energy(7)+ Energy(8)+ Energy(9)+Energy( 10)+Energy(11)+Energy( 12)&
+ Energy( 13)+Energy( 14)+Energy( 15)+Energy( 16)+Energy( 17)+Energy( 18)&
+ Energy( 19)+Energy(20)+Energy(21)+Energy(22)+ Energy(23)+ Energy(23)&
+ Energy(24)+Energy(25)+ Energy(26)+Energy(27)+Energy(28)+ Energy(29)&
+Energy(30)+Energy(31)+Energy(3 2)+Energy(3 3)+Energy(34)+Energy(3 5)&
+ Energy(3 6)+Energy(3 7)+Energy(3 8)+Energy(3 9)+Energy(40)+Energy(41)&
+ Energy( 42)+Energy(43)+Energy( 44)+Energy( 45)+Energy(46)+Energy(47)&
+ Energy(48)+Energy(49)+Energy(50)+Energy(51 )+Energy(52)+Energy( 53)&
+Energy(54)+Energy(55)+Energy(56)+Energy(57)+Energy(58)+Energy(59)&
+Energy(60)+Energy(61)+Energy(62)+Energy(63)+Energy(64)+Energy(65)&
+Energy( 66)+Energy(67)+Energy( 68)+Energy( 69)+Energy(70)+ Energy(71)&
+ Energy(72)+ Energy(73)+Energy(7 4)+Energy(7 5)+Energy(7 6)+Energy(77)&
+Energy(78)+Energy(79)+Energy(80)+Energy(81)+Energy(82)+Energy(83)&
+Energy(84)+Energy(85)+Energy(86)+Energy(87)+Energy(88)+Energy(89)&
+Energy(90)+Energy(91)+Energy(92)+Energy(93)+Energy(94)+Energy(95)&
+Energy(96)+Energy(97)+Energy(98)+Energy(99)+Energy(1 OO)+Energy(l 0 1)&
+Energy(102)+Energy(103)+Energy(104)+Energy(105)+Energy(l06)&
+ Energy( 107)&
+ Energy(l 08)+Energy( 109)+Energy(1l0)+Energy(111)+ Energy(112)+ Energy( 113)&
+Energy(114)+Energy(115)+Energy(116)+Energy(117)+Energy(118)&
+Energy(119)&
+Energy(120)+Energy(121)+Energy(122)+Energy(123)+Energy(124)+Energy(125)&
+ Energy(126)+ Energy( 127)+Energy(128)+ Energy(129)+ Energy( 130)+Energy(131)&
+ Energy( 132)+Energy( 13 3)+Energy( 134)+Energy( 13 5)+Energy( 13 6)+Energy( 13 7)&
+ Energy( 13 8)+Energy( 13 9)+Energy(140)+Energy( 141)+Energy( 142)+Energy( 143)&
+Energy( 144)+Energy( 145)+Energy( 146)+Energy( 147)+Energy( 148)+Energy( 149)&
+ Energy( 150)+Energy( 151)+Energy( 152)+Energy(153)+Energy(154)+Energy( 155)&
+Energy(156)+Energy(157)+Energy(158)+Energy(159)+Energy(160)+Energy(161)&
+ Energy( 162)+Energy( 163)+Energy(164)+ Energy(165)+Energy(166)+Energy( 167)&
+Energy(168)+Energy(169)+Energy(170)+Energy(171)+Energy(172)+Energy(173)&
+Energy(174)+Energy(175)+Energy(176)+Energy(177)+Energy(178)+Energy(179)&
+Energy(180)+Energy(181 )+Energy(182)+Energy(183)+Energy(184)+Energy(185)&
+ Energy(186)+ Energy( 187)+Energy(188)+Energy( 189)+Energy( 190)+Energy( 191)&
+ Energy(192)+Energy( 193)+Energy(194)+Energy(195)+Energy(196)+ Energy(197)&
+ Energy(198)+Energy(199)+ Energy(200)+Energy(20 1)+Energy(202)+Energy(203)&
+Energy(204)

End! .. .... ..of procedural

!.......... Jack knifing calculation .... ..

Procedural
Do jacklbl i=l ,nn-l
J(i)=(1/ks )*( -4 *Ftraillong(i»
Flat(i)=(J(i)lLcb)*(Ftraillong(i»
Flat_bogie(i)=Flat(i)*(pclbc)

jacklb l .. continue
End! ...... of procedural
! ... ..... .. ....... .. ...... ............
!.. Definition of the Accelerations ..
! .... .. .... ... ..... .. .................

Procedural

DO accl i=l,nn
F ore i)=Fl oco(i)+Fleadlong( i)+Ftraillong(i)-F gradei)&
-Frr(i)-Fbrk(i)
xdd(i)=RSW(stand(i),O.,(For(i)/masse(i»)

acc l..Continue
End! .. of Procedural

!........ .. .. Calculate max,min,mean


Procedural
Do forcvec 1 i= l,nn

Fmin(i)=RSW(Forei).L T.Fmin(i),For(i),Fmin(i»
Fmean(i)=(Fmax(i)+Fmin(i» /2
Arrncrit(i)=RSW(Arrnature(i).GT.Arrncrit(i),Arrnature(i),&
Arrncrit(i»
Fmax(i)=RSW(For(i).GT.Fmax(i),For(i), &
Fmax(i»

forcvec l .. continue
End! ..... of procedural
! ... ..... ...... ........... .. .
!..... Integration ...... .
! ... .. ... .............. ..... .

xd=INTVC(xdd,xdO)
Call XFERBR (interxd=xd,nn)
x=INTVC(interxd,xO)
Ener = INTVC(Pec,EnerO)

END!.. OF DERIVATIVE ..

! determination of the maximum force , and the position


! of the maximum force inside the train consist
! attention : one is using Ftraillong
! -> step integration interval

Procedural
posloco=l
Fmaxloco=Ftraillong( 1)

posdraw=lastlocox+m
Fmaxdraw=Ftraillong(1astlocox+m)
posbuff=lastlocox+ 1
Fmaxbuff=Ftraillong(1astlocox+ 1)

Do postl i=2,nn
If(i.GT.l .AND.vehic1e(i).eq.'locom')then
if ( (abs(Ftraillong(i))).gt.(abs(Fmaxloco))) then
posloco=i
Fmaxloco=Ftraillong(i)
endif

else If(vehic1e(i).eq.'wagon')then
if (Mod(i-lastlocox,m).eq.O) then
if ( (abs(Ftraillong(i))) .gt.(abs(Fmaxdraw)) ) then
posdraw=i
Fmaxdraw=Ftraillong(i)
endif

else
if ( (abs(Ftraillong(i))).gt.(abs(Fmaxbuff)) ) then
posbuff=i
Fmaxbuff=Ftraillong(i)
endif
endif
endif

If ((abs(fmaxloco)).gt.(abs(Fmaxloco2))) then
posloco2=posloco
Fmaxloco2=Fmaxloco
Xloco=x(posloco2)
endif

If ((abs(fmaxdraw)).gt.(abs(Fmaxdraw2))) then
posdraw2=posdraw
Fmaxdraw2=Fmaxdraw
Xdraw=x(posdraw2)
endif

If ((abs(fmaxbuff)).gt.(abs(Fmaxbuff2))) then
posbuff2=posbuff
Fmaxbuff2=Fmaxbuff
Xbuff=x(posbuff2)
endif
post!.. continue
end ! of procedural

TERMT(t.GE.tstp,'time limit')
TERMT(x(1 ).GE.xstp,'end of track')
END ! .. OF DYNAMIC ..

TERMINAL

c1ose(40)
close(45)
c1ose(55)
c1ose(60)
c1ose(65)
c1ose(70)

write(3 , 1000 )t,Etot


1OOO .. Format(lx(d14.6))

! .. Call for debug dump


! gives the initial values + the values of the variables
! at the end of the run

Logical dump
Constant dump=.false.
If (dump) Call Debug

END L. of TERMINAL

END L. of PROGRAM
Appendix 11.3

!............ Train Handling Algorithm on Straight Tangent and Ascending Track

Procedural
Do 1£1 i= l ,nn
Speedres(vmax(I)=Grad(1),xd(1))

vref( 1)=vmax( 1)
dv(l) = 0.1 *vref(l)

If(vehicle( i) .eq. 'locom')then


If(xd( 1).LT. vref( 1)-dv(1 )/2)then
Tracon=.true.
If(Tracon)Fdb(i)=O.
Dynon=.NOT.Tracon
Dyndn=.NOT.Tracon
NotchdNewl=O
NotchdNew=O
Notchdyn 1=0
Notchdyn=O .
NotchdUpl=O
NotchdUp=O
NotchdLo=O
NotchdNow=O
NotchtUp=NotchtNow+ 1
NotchtUp 1=NotchtUp
NotchtNew=RSW(NotchtUp I.LE.14.0,NotchtUp 1, 14.0)
NotchtNewl =NotchtNew
If(type(i).eq.'IIE')then
If (xd(1) .LE. 15/3.6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl ,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 4 .0) .and. (NotchtNewl.LE.
l4.0),NotchtNewl,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew( i)= RSW (FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac 1,xd( i)*3 .6)
else
If (xd(1) .LE. 8/3.6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl,0.0)

else If (xd(1) .GT. 8/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,2.0)

else If (xd(l) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,3.0)

else If (xd(1) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl ,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNewl(i)=Traction_2(Notchtracl ,xd(i)*3.6)
FtLow=F orctLowj(Notchtrac 1)
FtUp=F orctUpper_ 2(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i).LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current_2 (Notchtrac 1,xd(i)*3 .6)
Endif
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

NotchtNow=Notchtrac
Tracdn= .NOT. Tracon

else If(Tracon.AND.xd(1 ).GE. vref(1 )-dv(1 )/2)then


Tracdn=.true.
If(Tracdn)Fdb(i)=O.
Dynon= .NOT. Tracdn
Dyndn=.NOT.Tracdn

NotchdNewl=O
NotchdNew=O
Notchdyn 1=0
Notchdyn=O
NotchdUp 1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O

NotchtLo=NotchtNow-l
NotchtLo 1=NotchtLo
NotchtNew=RSW(NotchtLo I.GE.O.O,NotchtLo 1,0.0)
NotchtNewl =NotchtNew
If(type(i).eq.'llE')then
If (xd(1) .LE. 15/3.6)then
Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl,0.0)

else If (xd(l) .GT. 15/3.6) then


Notchtrac==RSW((NotchtNewl.GE. 2.0) .and. (NotchtNewl .LE.
14.0),NotchtNewl,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac==RSW((NotchtNewl.GE. 3.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac==RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNew 1,4.0)
Endif
Notchtrac 1==Notchtrac
FtracNew 1(i)==Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=ForctLow(Notchtrac 1)
FtUp==ForctUpper(Notchtrac 1)
FtracNew(i)==RSW(FtracNewl (i).GE.FtLow,FtracNewl (i),FtLow)
FtracNew(i)==RSW(FtracNew 1(i).LE.FtUp,FtracNewl (i),FtUp)
Fte(i)==FtracNew(i)* 1000
Floco(i) ==Fte(i)
Armature(i)==Current(Notchtrac 1,xd(i)*3 .6)
else
If (xd(1) .LE. 8/3.6)then
Notchtrac==RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl,0.0)

else If (xd(1) .GT. 8/3.6) then


Notchtrac==RSW((NotchtNewl.GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac==RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,3.0)

else If (xd(1) .GT. 55/3.6) then


Notchtrac==RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,4.0)
Endif
Notchtrac 1==Notchtrac
FtracNewl (i)==Traction_ 2(Notchtrac 1,xd(i)*3.6)
FtLow=F orctLow_ 2 (Notchtrac 1)
FtUp==ForctUpper_2(Notchtrac 1)
FtracNew(i)==RSW(FtracNewl(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew(i)==RSW(FtracNewl (i).LE.FtUp,FtracNewl (i),FtUp)
Fte(i)=FtracNew(i)*lOOO
Floco(i) =Fte(i)
Armature(i)=Current_2(Notchtrac 1,xd(i)*3 .6)
Endif
Power( i)=Floco(i)*xd(i)
Pec(i)=Power(i)

N otchtNow=N otchtrac
Tracon==.NOT.Tracdn
Endif

elseif( vehicle(i) .eq .'wagon')then


Floco(i) = o.
Armature(i)=O.
Power(i)=O.
Pec(i)=O.
Energy(i)=O.
Endif
If2 .. continue

End! ... .... .of Procedural

Procedural
Do If3 i= l,nn
If(vehic1e(i).eq.'locom')then
If(xd(l ).GT. vref( 1)+dv(l )/2)then
Dynon=.true.
If(Dynon)Fte(i)=O.
Tracon=.NOT.Dynon
Tracdn= .NOT.Dynon

NotchtNewl=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
NotchtLo 1=0
NotchtNow=O

NotchdUp=NotchdNow+ 1
NotchdUp 1=NotchdUp
NotchdNew=RSW(NotchdUpl .LE.lO.O,NotchdUpl ,lO.O)
NotchdNew 1=NotchdNew
If(type(i).eq.'llE')then
If (xd(l) .GT. 70/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 70/3 .6) .AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 60/3.6).AND. (xd(l) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl,4.0)
else If ((xd(l) .LE. 55/3 .6).AND.(xd(l) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd(l) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl ,lO.O)
Endif

Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3 .6)

F dLow= ForcdLow(Notchdyn 1)
FdVp=ForcdVpper(Notchdynl)
else
If (xd(l) .GT. 80/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If ((xd(1) .LE. 80/3.6).AND. (xd(1) .GT. 70/3.6))then
Notchdyn=RSW(Notchdnewl .le. 3.0,Notchdnewl ,3.0)
else If ((xd(1) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .le. 4.0,Notchdnewl,4.0)
else If ((xd(1) .LE. 60/3.6).AND.(xd(1) .GT. 50/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If ((xd(1) .LE. 50/3 .6).AND.(xd(1) .GT. 46/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 6.0,Notchdnewl ,6.0)

else If (xd(l) .LE. 46/3.6) then


Notchdyn=RSW(Notchdnewl .le.1O.0,Notchdnewl , 10.0)
Endif

N otchdyn 1=N otchdyn


FdynNewl (i)=DynBrake_ 2(Notchdyn 1,xd(i)*3.6)
F dLow= F orcdLow_2(N otchdyn 1)
FdUp=ForcdUpper_2(Notchdynl)

Endif
FdynNew(i)=RSW(FdynNewl(i).GE.FdLow,FdynNewl(i),FdLow)
FdynNew(i)=RSW(FdynNewl(i).LE.FdUp,FdynNewl(i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO

NotchdNow=Notchdyn
Dyndn=.NOT.Dynon

else If(Dynon.AND .xd( 1) .LE. vref( 1)+dv( 1)l2)then


Dyndn=.true.
If(Dyndn )Fte(i)=O.
Tracon=.NOT.Dyndn
Tracdn= .NOT.Dyndn

NotchtNewl =0
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
NotchtLo 1=0
NotchtNow=O

NotchdLo=NotchdNow-l
NotchdLo 1=NotchdLo
NotchdNew=RSW(NotchdLo 1.GE.0 .0,NotchdLo 1,0.0)
NotchdNewl =NotchdNew
If(type(i).eq.'lIE')then
If (xd(1) .GT. 70/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If ((xd(1) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(1) .LE. 60/3.6).AND. (xd(1) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl ,4.0)
else If ((xd(l) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd(1) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl.1e.lO.O,Notchdnewl ,lO.O)
Endif
Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3.6)
FdLow=ForcdLow(Notchdynl)
FdUp=ForcdUpper(Notchdynl)
else
If (xd(1) .GT. 80/3.6) then
Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 80/3.6).AND. (xd(l) .GT. 70/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(1) .LE. 70/3.6).AND. (xd(1) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl,4.0)
else If ((xd(l) .LE. 60/3.6).AND.(xd(1) .GT. 50/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If ((xd(l) .LE. 50/3.6).AND.(xd(1) .GT. 46/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 6.0,Notchdnewl ,6.0)
else If (xd(l) .LE. 46/3.6) then
Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl ,lO .O)
Endif

Notchdynl =Notchdyn
FdynNewl(i)=DynBrake_2(Notchdynl ,xd(i)*3.6)
FdLow=F orcdLow_ 2(Notchdyn 1)
FdUp=ForcdUpper_2(Notchdynl)
endif
FdynNew(i)=RSW(FdynNew1 (i).GE.FdLow,FdynNewl(i),FdLow)
FdynNew(i)=RSW(FdynNewl (i) .LE.FdUp,FdynNewl (i),FdUp)
F db(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature (i)=O .dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO
NotchdNow=Notchdyn
Dynon=.NOT.Dyndn
Endif

elseif(vehic1e(i).eq.'wagon')then
Floco(i) = O.
Armature(i)=O.
Power(i)=O.
Pec(i)=O.
Energy(i)=O.
Endif
lf3 .. continue

End! ...... ..of Procedural


! .............Train Handling Algorithm for Descending Grade

If (xd(1).LT.vmax(1))then

If(Fte(1).LE.(Fgrad(l )+Frr(1)+ 1.0).AND.Fte(I).GE.(Fgrad(1)+Frr(I)-1 .0)) then


xd( 1)=vbal( 1)
If(vmax( 1).GE.vbal(1 ))then
vref(1 )=vbal(1)
else
vref( 1)=vmax( 1)
endif
If(xd(l ).LT.vref(l )-dv/2) then
Tracon=. true.
If(Tracon)Fdb( i)=O.
Dynon=.NOT.Tracon
Dyndn=.NOT.Tracon
NotchdNewl=O
NotchdNew=O
Notchdynl =0
Notchdyn=O
NotchdUp 1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O
NotchtUp=NotchtNow+ 1
NotchtUp 1=NotchtUp
NotchtNew=RSW(NotchtUpl.LE.14.0,NotchtUpl ,14.0)
NotchtNewl =NotchtNew

If (xd(l) .LE. 15/3.6)then


Notchtrac=RSW((NotchtNewl .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNewl ,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl ,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
l4.0),NotchtNewl ,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,4.0)
Endif
N otchtrac 1= N otchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew(i)=RSW(FtracNewl (i).LE.FtUp,FtracNewl (i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac 1,xd(i)*3 .6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)
NotchtNow=N otchtrac
Tracdn=.NOT.Tracon

else If(Tracon.AND .xd( 1). GE. vref( 1)-dv12)then


Tracdn=. true.
If(Tracdn)Fdb( i)=O.
Dynon= .NOT.Tracdn
Dyndn=.NOT. Tracdn

NotchdNew1=0
NotchdNew=O
Notchdyn1=0
Notchdyn=O
NotchdUp1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O

NotchtLo=NotchtNow-1
NotchtLo 1=NotchtLo
NotchtNew=RSW(NotchtLo 1.GE.0.0,NotchtLo 1,0.0)
NotchtNew1 =NotchtNew

If (xd(1) .LE. 15/3.6)then


Notchtrac=RSW((NotchtNew1 .Gt. 0.0) .and. (NotchtNew1 .LE. 14.0),NotchtNew1,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNew1,2.0)

else If (xd(l) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNewl.GE. 3.0) .and. (NotchtNewl.LE.
14.0),NotchtNew 1,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNewl.GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNewl,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNewl (i)=Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=F orctLow(Notchtrac 1)
FtUp=F orctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNewl(i).GE.FtLow,FtracNew1(i),FtLow)
FtracNewe i)=RSW (FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature( i)=Current(Notchtrac 1,xd(i)*3. 6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

NotchtNow=N otchtrac
Tracon=.NOT.Tracdn

else If(xd(l).GT.vref(l)+dv12)then
Dynon=. true.
If(Dynon)Fte(i)=O .
Tracon= .NOT.Dynon
Tracdn=.NOT.Dynon

NotchtNewl=O
NotchtNew=O
Notchtrac I =0
Notchtrac=O
NotchtUp I =0
NotchtUp=O
NotchtLo=O
NotchtLo I =0
NotchtNow=O

NotchdUp=NotchdNow+ I
NotchdUp I =NotchdUp
NotchdNew=RSW(NotchdUp I.LE.I O.O,NotchdUp I, I 0.0)
NotchdNewl =NotchdNew

If (xd(1) .GT. 70/3 .6) then


Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(1) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .le.3.0,Notchdnewl ,3.0)
else If ((xd(1) .LE. 60/3.6).AND. (xd(l) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl,4.0)
else If ((xd(l) .LE. 55/3.6) .AND.(xd(l) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl,5.0)
else If (xd(1) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl .le.IO.O,Notchdnewl , IO.O)
Endif

Notchdyn I =Notchdyn
FdynNew I (i)=DynBrake(Notchdyn I ,xd(i)*3 .6)

F dLow= F orcdLow(Notchdyn 1)
F dUp=F orcdUpper(Notchdyn 1)
FdynNew(i)=RSW(FdynNewl(i).GE.FdLow,FdynNewl(i),FdLow)
FdynNew(i)=RSW(FdynNewl (i).LE.FdUp,FdynNewl (i),FdUp)
F db(i)=-sign(FdynNew(i),xd(i))* I 000
Floco(i)= Fdb(i)
Arrnature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO

NotchdNow=Notchdyn
Dyndn= .NOT.Dynon

else If(Dynon.AND .xd( I) .LE. vref( I )+dv/2)then


Dyndn=.true.
If(Dyndn )Fte( i)=O .
Tracon=.NOT.Dyndn
Tracdn=.NOT.Dyndn

NotchtNewl=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
NotchtLo 1=0
NotchtNow=O

NotchdLo=NotchdNow-l
NotchdLo 1=N otchdLo
NotchdNew=RSW(NotchdLo 1.GE.0 .0,NotchdLo 1,0.0)
NotchdNewl =NotchdNew

If (xd(l) .GT. 70/3.6) then


Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 60/3.6).AND. (xd(l) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl ,4.0)
else If ((xd(l) .LE. 55/3.6).AND.(xd(l) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd( 1) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl,lO .O)
Endif
Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3.6)
FdLow=F orcdLow(Notchdyn 1)
FdUp=ForcdUpper(Notchdynl)
FdynNew(i)=RSW(FdynNewl (i) .GE.FdLow,FdynNewl (i),FdLow)
FdynNew(i)=RSW(FdynNewl(i).LE.FdUp,FdynNewl(i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO
NotchdNow=Notchdyn
Dynon=.NOT.Dyndn

Endif

else if(Fte(1).LT.Fgrad(l)+Frr(l)-l.O)then
Tracon=.true.
If(Tracon)Fdb(i)=O.
Dynon= .NOT.Tracon
Dyndn=.NOT.Tracon
NotchdNewl=O
NotchdNew=O
Notchdynl=O
Notchdyn=O
NotchdUpl=O
NotchdUp=O
NotchdLo=O
NotchdNow=O
NotchtUp=NotchtNow+ 1
N otchtUp 1=N otchtUp
NotchtNew=RSW(NotchtUp 1.LE.14.0,NotchtUp 1,14.0)
NotchtNew 1=NotchtNew

If (xd(1) .LE. 15/3 .6)then


Notchtrac=RSW((NotchtNew1 .Gt. 0.0) .and. (NotchtNew1 .LE. 14.0),NotchtNew1,0.0)

else If (xd(l) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1 ,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1 .GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,3.0)

else If (xd(1) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,4.0)
Endif
N otchtrac 1=N otchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd( i)*3 .6)
FtLow=F orctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac1)
FtracNew(i)=RSW(FtracNew1 (i).GE.FtLow,FtracNew1 (i),FtLow)
FtracNew(i)= RSW (FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac 1,xd(i)*3 .6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

N otchtNow=N otchtrac
Tracdn=.NOT.Tracon
Endif

else if (Fte(1).GT.Fgrad(1)+Frr(1)+ 1.0.AND.Tracon)then


Tracdn=.true.
If(Tracdn)Fdb(i)=O.
Dynon=.NOT.Tracdn
Dyndn=.NOT.Tracdn

NotchdNew1=0
NotchdNew=O
Notchdyn1=0
Notchdyn=O
NotchdUp 1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O

NotchtLo=NotchtNow- l
NotchtLo 1=NotchtLo
NotchtNew=RSW(NotchtLo 1.GE.0.0,NotchtLo 1,0.0)
NotchtNewl =NotchtNew
If (xd(1) .LE. 15/3.6)then
Notchtrac=RSW((NotchtNew1 .Gt. 0.0) .and. (NotchtNew1 .LE. 14.0),NotchtNew1,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNewl.LE.
14.0),NotchtNew1,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,3.0)

else If (xd(1) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 4.0) .and. (NotchtNewl.LE.
14.0),NotchtNewl,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i)*3. 6)
FtLow=F orctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac 1)
FtracNew(i)=RSW(FtracNew1 (i).GE.FtLow,FtracNew1 (i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i) .LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Annature(i)=Current(Notchtrac 1,xd(i)*3 .6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

N otchtNow=N otchtrac
Tracon=.NOT.Tracdn

Endif

else if(xd(1).GE.vrnax(1))then

If (Fdb(1 ).LE.(Fgrad(1 )+Frr(l)+ 1.0).AND.Fdb(1 ).GE.(Fgrad(1 )+Frr(1 )-1.0))then


xd( 1)=vbal( 1)
If (vrnax(1 ).GE.vbal(1 ))then
vref( 1)=vbal( 1)
else
vref( 1)=vrnax( 1)
endif

If(xd(1 ).LT.vref(1 )-dv/2) then


Tracon=.true.
If(Tracon)Fdb(i)=O.
Dynon=.NOT.Tracon
Dyndn=.NOT.Tracon
NotchdNew1=0
NotchdNew=O
Notchdynl=O
Notchdyn=O
NotchdUp 1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O
NotchtUp=NotchtNow+ 1
NotchtUp 1=NotchtUp
NotchtNew=RSW(NotchtUp 1.LE.14.0,NotchtUp1 ,14.0)
NotchtNew1 =NotchtNew

If (xd(l) .LE. 15/3.6)then


Notchtrac=RSW((NotchtNew1 .Gt. 0.0) .and. (NotchtNew1 .LE. 14.0),NotchtNew1,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,2.0)

else If (xd(l) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,3.0)

else If (xd(l) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNew1 .GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNew 1,4.0)
Endif
Notchtrac 1=Notchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd(i)*3 .6)
FtLow=ForctLow(Notchtrac 1)
FtUp=ForctUpper(Notchtrac 1)
FtracNewei)=RSW (FtracNew 1(i). GE.FtLow ,FtracNew 1(i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i).LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Armature(i)=Current(Notchtrac 1,xd(i)*3 .6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

NotchtNow=Notchtrac
Tracdn=.NOT.Tracon

else If(Tracon.AND.xd( 1).GE.vref( 1)-dv/2)then


Tracdn=.true.
If(Tracdn)Fdb( i)=O.
Dynon=.NOT.Tracdn
Dyndn=.NOT.Tracdn

NotchdNew1=0
NotchdNew=O
Notchdyn 1=0
Notchdyn=O
NotchdUp1=0
NotchdUp=O
NotchdLo=O
NotchdNow=O

N otchtLo=N otchtNow-l
NotchtLo 1=NotchtLo
NotchtNew=RSW(NotchtLo 1.GE.0 .0,NotchtLo 1,0.0)
NotchtNew1 =NotchtNew
If (xd(1) .LE. 15/3.6)then
Notchtrac=RSW((NotchtNew1 .Gt. 0.0) .and. (NotchtNewl .LE. 14.0),NotchtNew1 ,0.0)

else If (xd(1) .GT. 15/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 2.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,2.0)

else If (xd(1) .GT. 30/3.6)then


Notchtrac=RSW((NotchtNew1.GE. 3.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1 ,3.0)

else If (xd(1) .GT. 55/3.6) then


Notchtrac=RSW((NotchtNew1.GE. 4.0) .and. (NotchtNew1.LE.
14.0),NotchtNew1,4.0)
Endif
N otchtrac I =N otchtrac
FtracNew 1(i)=Traction(Notchtrac 1,xd( i) *3.6)
FtLow=F orctLow(Notchtrac 1)
FtUp=F orctUpper(Notchtrac I)
FtracNew(i)=RSW(FtracNew1(i).GE.FtLow,FtracNewl(i),FtLow)
FtracNew(i)=RSW(FtracNew 1(i).LE.FtUp,FtracNew 1(i),FtUp)
Fte(i)=FtracNew(i)* 1000
Floco(i) =Fte(i)
Arrnature(i)=Current(Notchtrac 1,xd(i)*3 .6)
Power(i)=Floco(i)*xd(i)
Pec(i)=Power(i)

N otchtNow=Notchtrac
Tracon=.NOT.Tracdn

else If(xd(1 ).GT.vref(1 )+dv/2)then


Dynon=.true.
If(Dynon)Fte( i)=O .
Tracon=.NOT.Dynon
Tracdn= .NOT.Dynon

NotchtNew1 =0
NotchtNew=O
N otchtrac I =0
Notchtrac=O
NotchtUpl=O
NotchtUp=O
NotchtLo=O
N otchtLo 1=0
NotchtNow=O

NotchdUp=NotchdNow+ 1
NotchdUp 1=NotchdUp
NotchdNew=RSW(NotchdUpl.LE.lO.O,NotchdUpl ,lO.O)
NotchdNewl =NotchdNew

If (xd(1) .GT. 70/3.6) then


Notchdyn=RSW(Notchdnew1 .le. 2.0,Notchdnew1 ,2.0)
else If ((xd(1) .LE. 70/3.6).AND. (xd(1) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnew1 .Ie. 3.0,Notchdnew 1,3.0)
else If ((xd(1) .LE. 60/3.6).AND. (xd(1) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl ,4.0)
else If ((xd(1) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd(l) .LE. 45/3 .6) then
Notchdyn=RSW(Notchdnewl .le.lO.O,Notchdnewl,lO.O)
Endif

Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake(Notchdynl,xd(i)*3.6)

FdLow=ForcdLow(Notchdynl)
FdUp=ForcdUpper(Notchdyn 1)
FdynNew(i)=RSW(FdynNewl (i).GE.FdLow,FdynNewl (i),FdLow)
FdynNew(i)=RSW(FdynNewl (i).LE.FdUp,FdynNewl (i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO

NotchdNow=Notchdyn
Dyndn=.NOT.Dynon

else If(Dynon.AND.xd( 1).LE. vref(1 )+dv/2)then


Dyndn=.true.
If(Dyndn)Fte(i)=O.
Tracon= .NOT.Dyndn
Tracdn= .NOT.Dyndn

NotchtNewl=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUpl=O
NotchtUp=O
NotchtLo=O
NotchtLol=O
NotchtNow=O

NotchdLo=NotchdNow-l
NotchdLo 1=NotchdLo
NotchdNew=RSW(NotchdLo 1.GE.0.0,NotchdLo 1,0.0)
NotchdNewl =NotchdNew

If (xd(1) .GT. 70/3.6) then


Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(1) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl,3.0)
else If ((xd(1) .LE. 60/3.6).AND. (xd(1) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .le.4.0,Notchdnewl,4.0)
else If ((xd(1) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl ,5.0)
else If (xd(1) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl.le.lO.O,Notchdnewl ,lO.O)
Endif
N otchdyn 1=N otchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3.6)
FdLow=ForcdLow(Notchdynl)
FdUp=ForcdUpper(Notchdynl) .
FdynNew(i)=RSW(FdynNewl(i).GE.FdLow,FdynNe,:l(l),FdLow)
FdynNew(i)=RSW(FdynNewl (i).LE.FdUp,FdynNewl (l),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO
NotchdNow=Notchdyn
Dynon=.NOT.Dyndn

Endif

if (Fdb(l).LT.(Fgrad(l)+Frr(l)-1 .0))then
Dynon=.true.
If(Dynon)Fte( i)=O .
Tracon=.NOT.Dynon
Tracdn= .NOT.Dynon

NotchtNewl =0
NotchtNew=O
Notchtracl=O
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
NotchtLol=O
NotchtNow=O

NotchdUp=NotchdNow+ 1
NotchdUp 1=NotchdUp
NotchdNew=RSW(NotchdUp 1.LE.I0.0,NotchdUpl , 10.0)
NotchdNewl =NotchdNew

If (xd(l) .GT. 70/3.6) then


Notchdyn=RSW(Notchdnewl .le. 2.0,Notchdnewl ,2.0)
else If ((xd(l) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnewl ,3.0)
else If ((xd(l) .LE. 60/3.6).AND. (xd(l ) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .le.4.0,Notchdnewl ,4.0)
else If ((xd(l) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnewl,5.0)
else If (xd( 1) .LE. 45/3.6) then
Notchdyn=RSW(Notchdnewl .le.l0.0,Notchdnewl ,10.0)
Endif

Notchdyn 1=Notchdyn
FdynNewl (i)=DynBrake(Notchdyn 1,xd(i)*3 .6)

FdLow=F orcdLow(N otchdyn 1)


FdUp=ForcdUpper(Notchdynl)
FdynNew(i)=RSW(FdynNew 1(i) .GE.FdLow,FdynNewl (i),FdLow)
FdynNew(i)=RSW(FdynNew 1(i).LE.FdUp,FdynNewl (i),FdUp)
Fdb(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O .dO

NotchdNow=Notchdyn
Dyndn=.NOT.Dynon

else if (Fdb(l).GT.(Fgrad(l)+Frr(l)+ 1.0) then


Dyndn=.true.
If(Dyndn )Fte( i)=O.
Tracon= .NOT .Dyndn
Tracdn=.NOT.Dyndn

NotchtNewl=O
NotchtNew=O
Notchtrac 1=0
Notchtrac=O
NotchtUp 1=0
NotchtUp=O
NotchtLo=O
N otchtLo 1=0
NotchtNow=O

NotchdLo=NotchdNow-l
NotchdLo 1=NotchdLo
NotchdNew=RSW(NotchdLo 1.GE.O.O,NotchdLo 1,0.0)
NotchdNewl =NotchdNew

If (xd( l) .GT. 70/3.6) then


Notchdyn=RSW(Notchdnewl .Ie. 2.0,Notchdnewl ,2.0)
else If «xd(1) .LE. 70/3.6).AND. (xd(l) .GT. 60/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 3.0,Notchdnew l ,3.0)
else If «xd(l) .LE. 60/3.6).AND. (xd(1 ) .GT. 55/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 4.0,Notchdnewl,4.0)
else If «xd(1) .LE. 55/3.6).AND.(xd(1) .GT. 45/3.6))then
Notchdyn=RSW(Notchdnewl .Ie. 5.0,Notchdnew l ,5.0)
else If (xd( 1) .LE. 45/3 .6) then
Notchdyn=RSW(Notchdnewl .Ie. 1O.O,Notchdnewl , 10.0)
Endif
Notchdyn 1=Notchdyn
FdynNewl(i)=DynBrake(Notchdynl ,xd(i)*3.6)
FdLow=ForcdLow(Notchdynl)
FdUp=ForcdUpper(Notchdynl)
FdynNew(i)=RSW(FdynNewl(i).GE.FdLow,FdynNewl(i),FdLow)
FdynNew(i)=RSW(FdynNew 1(i).LE.FdUp,FdynNew 1(i),FdUp)
F db(i)=-sign(FdynNew(i),xd(i))* 1000
Floco(i)= Fdb(i)
Armature(i)=O.dO
Power(i)=Floco(i)*xd(i)
Pec(i)=O.dO
NotchdNow=Notchdyn
Dynon= .NOT.Dyndn

Endif

End! ........ of Procedural


11.4 Program Control Macros

Sub trac_ dataO! . ..... .. .......... Track Data Representation

'trac data Macro

ChDir "C:\Complete Program"


Workbooks.Open FileName:="C:\Complete Program\Track.xls"
ActiveWindow.ScrollRow = 1
Range("A2:CIOOO").Select
End Sub

Sub driverO! .... . ..... .... ..... . .Locomotive Commands for train handling

, driver Macro

Workbooks. Open FileName:="C:\Complete Program\Command.xls"


ActiveWindow.ScrollRow = 1
Range("A2:E2000").Select
End Sub

Sub Brake_dataO! .. ... .... . .... .Brake Data Representation

'Brake data Macro

Workbooks.Open FileName:="C:\Complete Program\Brake_data.xls"


Range("B2:M4").Select
End Sub

Sub consistO! ... . . . .... ... ..... .. .. Definition of train consist simulated

, consist Macro

Workbooks.Open FileName:="C:\Complete Program\Consist.xls"


Range("A2:J205").Select
End Sub

Sub
,
coupler_ dataO! .... . ..... .... ..Coupler characteristics for rolling stock

, coupler_data Macro

Workbooks.Open FileName:="C:\Complete Program\couplers.xls"


Range("A2 :H4").Select
ActiveWindow.SmallScroll ToRight:=l
End Sub
Sub feCdetailsO! .... . ....... . . ··· .. User Details

, ref details Macro

ChDir "C:\Complete Program"


Workbooks. Open FileName:="C:\Complete Program\reference_ details.xls"
Range("CI7").Select
Active Workbook. Save
End Sub

Sub exit_funO! .. .. ...... .... .... .... ... Exiting Simulation Window

'exit run Macro

Range("C36") .Select
ActiveWindow.ScrollRow = 1
Active Workbook. Save
. ActiveWindow.Close
End Sub

Sub loco_dataO! .................. .. ..Locomotive characteristics data

'loco data Macro

Workbooks. Open FileName:="C:\Complete Program\More_ Locodata.xls"


End Sub

Sub outputO! ...................... ... ..Conversion of output to Excel format


,
, output Macro
ChDir "C:\rnyacsl"
Workbooks.OpenText FileName:="C:\rnyacsl\resu1t2.dat", Origin:=xIWindows, _
StartRow:=I, DataType:=xIFixedWidth, FieldInfo:=Array(Array(O, 1), Array(15

, 1), Array(30, 1), Array(45, 1), Array(60, 1), Array(75, 1), Array(90, 1))
Columns("A:A").ColumnWidth = 12.71
Columns("B:B").ColumnWidth = 18
Columns("C:C").ColumnWidth = 11.57
Columns("C:C").ColumnWidth = 13.14
Columns("D:D").ColumnWidth = 10
Columns("D:D").ColumnWidth = 11.86
Columns("D:D").ColumnWidth = 13.43
Columns("E:E").ColumnWidth = 12.71
Range("AI :J65000").Select
Selection. Cut
ChDir "C:\Complete Program"
Workbooks.Open FileName:="C:\Complete Program\Output.xls"
Range("A2:J65001 ").Select
ActiveSheet.Paste
End Sub
Sub runO! .. . ............ .... .. .. Running the ACSL program automatically

I run Macro

ActiveWindow.ScrollRow = 1
Range(IKl").Select
Selection.Hyperlinks(1 ).Follow NewWindow:=False, AddHistory:=True
End Sub

Sub wagon_dataO! .................... .. Wagon Data

I wagon_data Macro

ChDir "C:\Complete Program"


Workbooks.Open FileName:="C:\Complete Program\Wagon_Detail.xls"
ActiveWindow.ScrollColumn = 1
Range(IA2:V3").Select

End Sub

Sub NoteslO! ............ .. ...... ... .. Notes on locomotive 1

I Notes 1 Macro

Workbooks.Open FileName:="C:\Complete Program\Notesl.xls"


Range("B2 :BS 0"). Select
End Sub

Sub Notes20! . ... ............ .. . . ... ..Notes on locomotive 2

I Notes2 Macro

Workbooks.Open FileName:="C:\Complete Program\Notes2.xls"


Range("B2:BSO").Select
End Sub

Sub Notes30L . .. .... .. ... ......... ... Notes on locomotive 3


I

I Notes3 Macro

Workbooks.Open FileName:="C:\Complete Program\Notes3.xls"


Range(IB2:BSO").Select
End Sub

Sub Loco_typelO! .. ... ...... .. .... .Defines class of locomotive


I

I Loco_type 1 Macro

Range("F3").Select
Application.Run "More_ Locodata.xls !Loco_type 1"
End Sub

Sub LocolO . ..... .. .. .... .. .Editing of locomotive characteristics

ILoco 1 Macro
Range("F3 ").Select
ActiveSheet.Shapes("Option Button 37").Select
Selection.OnAction = "Motor_datal"
ActiveSheet.Shapes("Option Button 38").Select
Selection.OnAction = "Tractive_ effortl"
ActiveSheet.Shapes("Option Button 39").Select
Selection.OnAction = "Dynamic_Brake 1"
End Sub

Sub Motor datalO .... ... ... .. .... Armature Current Data for locol

, Motor datal Macro

Workbooks.Open FileName:="C:\Complete Program\ llE_Current.xls"


ActiveWindow.ScrollRow = 1
Range("A2 :09l").Select
End Sub

Sub Tractive_effortlO ...... .... .... Tractive Effort Data for locol
,
, Tractive effortl Macro

Workbooks.Open FileName:="C:\Complete Program\ llEtract.xls"


Range("A2:0l03").Select
End Sub

Sub Dynamic_BrakelO! ... .. ......... .. .Dynamic Brake Data for loco 1


,
, Dynamic_Brakel Macro

Workbooks.Open FileName:="C:\Complete Program\ llEdyn.xls"


Range("A2:K94").Select
End Sub

Sub TablesO! .......... ........ ...... ..... Converting tables to format recognised in
ACSL

, Tables Macro

Workbooks. Open FileName:="C: \Complete Program\Tables.xls"


Workbooks.Open FileName:="C:\Complete Program\ llEtract_try.xls"
ActiveWindow.WindowState = xlMaximized
ActiveWindow.ScrollRow = 1
Range("B3:P93").Select
Selection. Cut

198
ActiveWindow.Close
Range("AI0").Select
ActiveSheet.Paste
Workbooks. Open FileName:="C:\Complete Program\ llEdyn_try.xls"
ActiveWindow.ScrollRow = 1
Range("B3:L93") .Select
Selection. Cut
ActiveWindow .Close
ActiveWindow.SmallScroll Down:=103
Range("Al14").Select
ActiveSheet.Paste
Workbooks.Open FileName:="C:\Complete Program\ 11E_current2.xls"
Range("B3 :P 103 ").Select
Selection. Cut
Acti ve Window. Close
ActiveWindow.SmallScroll Down:=106
Range("A215").Select
ActiveSheet.Paste
Workbooks.Open FileName:="C:\Complete Program\ 7Etract_ try .xls"
Range("B3 :P93").Select
Selection. Cut
ActiveWindow. Close
Active Window .SmallScroll Down:= 108
Range("A326").Select
ActiveSheet.Paste
Workbooks.Open FileName:="C:\Complete Program\7Edyn_try.xls"
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 1
Range("B3 :L93 ").Select
Selection.Cut
ActiveWindow. Close
Active Window.SmallScroll Down:= 106
Range("A430").Select
ActiveSheet.Paste
Workbooks. Open FileName:="C:\Complete Program\7E_ current2.xls"
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1
Range("B3 :PI03").Select
Selection. Cut
ActiveWindow. Close
ActiveWindow.SmallScroll Down:=98
Range("A531 ").Select
ActiveSheet.Paste
ActiveWorkbook.SaveAs FileName:="C:\Complete Program\Tables.inc",
FileFormat:=xICSV, CreateBackup:=False ' -
ActiveWindow.Close
End Sub
Sub Motor_ data20! ..... ............ Armature Current Data for loco2

'Motor data2 Macro

Workbooks.Open FileName:="C:\Complete Program\7E_current.xls"


Range("A2:0 102"). Select
End Sub

Sub Dynamic_Brake20! ... ........ ... .. Dynamic Brake Data for loco2

, Dynamic_ Brake2 Macro


, Macro recorded 00103128 by Lumka Majola

, Keyboard Shortcut: Ctrl+w

Workbooks.Open FileName:="C:\Complete Program\7Edyn.xls"


Range("A2:K94").Select
End Sub

Sub Tractive_effort20! ................. ... Tractive Effort Data for Loco2

I Tractive effort2 Macro

Workbooks. Open FileName:="C:\Complete Program\7Etract.xls"


Range("A2:0104").Select
End Sub

Sub simj>arametersO! ................. .. Simulation parameters


I

I sim~arameters Macro

Workbooks. Open FileName:="C:\Complete Program\sim~ar.xls"


Range("A2:E2").Select
End Sub

You might also like