java.lang.Object
org.noise_planet.noisemodelling.emission.railway.nmpb.RailwayNMPB

public class RailwayNMPB extends Object
Railway noise evaluation from NMPB reference : COMMISSION DIRECTIVE (EU) 2015/996 of 19 May 2015 establishing common noise assessment methods according to Directive 2002/49/EC of the European Parliament and of the Council amending, for the purposes of adapting to scientific and technical progress, Annex II to Directive 2002/49/EC of the European Parliament and of the Council as regards common noise assessment methods part 2.3. Railway noise Return the dB value corresponding to the parameters
Author:
Adrien Le Bellec, Université Gustave Eiffel, Olivier Chiello, Université Gustave Eiffel
  • Constructor Details

    • RailwayNMPB

      public RailwayNMPB()
  • Method Details

    • iteratorToIterable

      public static <T> Iterable<T> iteratorToIterable(Iterator<T> iterator)
    • setEvaluateRailwaySourceNMPB

      public void setEvaluateRailwaySourceNMPB(InputStream NMPBVehicleData, InputStream NMPBTrainData)
      Parameters:
      NMPBVehicleData -
      NMPBTrainData -
    • getNMPBRailWayData

      public com.fasterxml.jackson.databind.JsonNode getNMPBRailWayData(int fileVersion)
      Get the NMPB coefficients from a specific file version (French have their own NMPB coefficients).
      Parameters:
      fileVersion - 1=RailwayNMPBEU_2020.json; other = RailwayNMPBSNCF_2021.json
      Returns:
      get the NMPB Coefficients
    • getNMPBVehicleNode

      public com.fasterxml.jackson.databind.JsonNode getNMPBVehicleNode(String typeVehicle)
    • getNMPBVehicleData

      public com.fasterxml.jackson.databind.JsonNode getNMPBVehicleData()
      Specific to French adaptation of the NMPB method Get the SNCF vehicles characteristics
      Returns:
      Coefficients related to the characteristics of SNCF vehicles
    • getNMPBTrainData

      public com.fasterxml.jackson.databind.JsonNode getNMPBTrainData()
      Specific to French adaptation of the NMPB method Get the SNCF composition of a train (one train can contains one or more vehicles)
      Returns:
      SNCF composition of a train
    • getVehicleFromTrain

      public Map<String,Integer> getVehicleFromTrain(String trainName)
      Parameters:
      trainName -
      Returns:
    • isInVehicleList

      public boolean isInVehicleList(String vehicleName)
      Find if a specific vehicle is in the Vehicle List
      Parameters:
      vehicleName - Name of a Vehicule
      Returns:
      true if in list
    • getLambdaValue

      public Double getLambdaValue(String typeVehicle, String refType, int spectreVer, int lambdaId)
      Parameters:
      typeVehicle -
      refType -
      spectreVer -
      lambdaId -
      Returns:
    • getTrackRoughness

      public Double getTrackRoughness(int trackRoughnessId, int spectreVer, int lambdaId)
      Parameters:
      trackRoughnessId -
      spectreVer -
      lambdaId -
      Returns:
    • getAxlesPerVeh

      public double getAxlesPerVeh(String typeVehicle)
      Parameters:
      typeVehicle -
      Returns:
    • getNbCoach

      public int getNbCoach(String typeVehicle)
      Parameters:
      typeVehicle -
      Returns:
    • getSpectre

      public double getSpectre(String typeVehicle, String ref, int runningCondition, String sourceHeight, int spectreVer, int freqId)
      Parameters:
      typeVehicle -
      ref -
      runningCondition -
      sourceHeight -
      spectreVer -
      freqId -
      Returns:
    • getAeroV0Alpha

      public double getAeroV0Alpha(String typeVehicle, String ref, int spectreVer, String aeroInf)
      Parameters:
      typeVehicle -
      ref -
      spectreVer -
      aeroInf -
      Returns:
    • getBridgeStructural

      public Double getBridgeStructural(int bridgeId, int spectreVer, int freqId)
      Parameters:
      bridgeId -
      spectreVer -
      freqId -
      Returns:
    • getTrackTransfer

      public Double getTrackTransfer(int trackTransferId, int spectreVer, int freqId)
      Parameters:
      trackTransferId -
      spectreVer -
      freqId -
      Returns:
    • getImpactNoise

      public Double getImpactNoise(int impactNoiseId, int spectreVer, int freqId)
      Parameters:
      impactNoiseId -
      spectreVer -
      freqId -
      Returns:
    • getVehTransfer

      public Double getVehTransfer(String typeVehicle, int spectreVer, int freqId)
      Parameters:
      typeVehicle -
      spectreVer -
      freqId -
      Returns:
    • getLRoughness

      public Double getLRoughness(String typeVehicle, int trackRoughnessId, int spectreVer, int idLambda)
      Parameters:
      typeVehicle -
      trackRoughnessId -
      spectreVer -
      idLambda -
      Returns:
    • evaluate

      public RailWayNMPBParameters evaluate(RailwayVehicleNMPBParameters vehicleParameters, RailwayTrackNMPBParameters trackParameters) throws IOException
      Evaluate the sound level for one Vehicle
      Parameters:
      vehicleParameters - Vehicle Noise emission parameters
      trackParameters - Track Noise emission parameters constant speed
      Returns:
      LWRoll / LWTraction A and B / LWAerodynamic A and B / LWBridge level in dB
      Throws:
      IOException