rolland.track.SimplePeriodicSlabSingleRailTrack

class rolland.track.SimplePeriodicSlabSingleRailTrack(*, rail, slab=Slab(ms=1e20), pad, mount_prop={}, distance=0.6, num_mount=100)[source]

Bases: DiscrSlabSingleRailTrack

Single rail slab track with simple periodic support.

All mounting properties are uniform and no variation is allowed. Slab is assumed to be rigid.

Layer

Component

Condition

Variability

/

rail

continuous

no

1st

pads

discrete

no

1st/2nd

slab

discrete (rigid)

no

2nd

ballast

/

/

Parameters:
  • rail (Rail)

  • slab (Slab)

  • pad (DiscrPad)

  • mount_prop (dict[float, tuple[DiscrPad, None, None]])

  • distance (float)

  • num_mount (int)

rail

Rail instance.

Type:

Rail

slab

Slab instance.

Type:

Slab

pad

Discrete pad instance.

Type:

DiscrPad

distance

Distance between mounting positions.

Type:

float, default=0.6

num_mount

Number of mounting positions.

Type:

int, default=100

mount_prop

Dictionary for discrete mounting positions (x-> (Pad, None)).

Type:

dict[float, tuple[DiscrPad, None, None]]

l_track

Track length \([m]\). (May change slightly after discretization. Results from the number of mounting positions and the mounting distances).

Type:

float, default=100.0

Example

>>> from rolland.database.rail.db_rail import UIC60
>>> from rolland.components import DiscrPad, Slab
>>> from rolland.track import SimplePeriodicSlabSingleRailTrack
>>> thepad = DiscrPad(sp = [300*10**6, 0], dp = [30000, 0])
>>> theslab = Slab(ms = 250)
>>> track = SimplePeriodicSlabSingleRailTrack(
...     rail=UIC60,
...     pad=thepad,
...     slab=theslab,
...     distance=0.6,
...     num_mount=100)
...
calc_mount_prop(change=None)[source]

Calculate the mounting properties.