rolland.arrangement.RandomArrangement

class rolland.arrangement.RandomArrangement(*args, **kwargs)[source]

Bases: Arrangement

Random arrangement of given objects.

Given sequence of objects is repeated randomly when building track using ArrangedSlabSingleRailTrack or ArrangedBallastedSingleRailTrack class. Mounting positions start at \(x=0\).

Parameters:
  • args (t.Any)

  • kwargs (t.Any)

item

Characteristic object or objects to repeat.

Type:

any

Example

>>> from rolland.database.rail.db_rail import UIC60
>>> from rolland.components import DiscrPad, Sleeper
>>> from rolland.arrangement import RandomArrangement
>>> from rolland.track import ArrangedBallastedSingleRailTrack
>>> thepadA = DiscrPad(sp = [300*10**6, 0], dp = [30000, 0])
>>> thepadB = DiscrPad(sp = [400*10**6, 0], dp = [40000, 0])
>>> thesleeperA = Sleeper(ms = 150)
>>> thesleeperB = Sleeper(ms = 200)
>>> pad = RandomArrangement(item=[thepadA, thepadB])
>>> distance = RandomArrangement(item=[0.65, 0.5])
>>> sleeper = RandomArrangement(item=[thesleeperA, thesleeperB])
>>> tr = ArrangedBallastedSingleRailTrack(
...     rail=UIC60,
...     pad=pad,
...     sleeper=sleeper,
...     distance=distance,
...     num_mount=100)
generate(num_mount)[source]

Generate count repetitions of objects.

static trunc_norm(mean, sd, minv, max_v)[source]

Calculate truncated normal distribution.

Parameters:
  • mean (float) – Mean value.

  • sd (float) – Standard deviation.

  • minv (float) – Minimum value.

  • max_v (float) – Maximum value.

Return type:

object