Model Types
This page documents all custom types used in the transport component model. These types define the data structures that represent various components of the transportation system, including geographic elements, transport modes, vehicles, fuels, and infrastructure.
The types are organized into several categories:
- Geographic Elements: representing nodes or edges or regions
- Transport Components: Modes, vehicles, technologies, and fuels
- Infrastructure: Fueling stations, mode infrastructure, and supply systems
- Economic & Policy: Financial parameters, market shares, and constraints
- Operational: Speed definitions, emission limits, and subsidies
Each type includes specific fields that capture the essential properties needed for transportation modeling and optimization.
TransComp.GeographicElement
— TypeGeographicElement
A 'Graph_item' represents a graph item that is either a node or an edge.
Fields
id::Int
: unique identifier of the graph itemtype::String
: type of the graph item (either 'node' or 'edge')name::String
: name of the graph itemcarbon_price::Array{Float64,1}
: carbon price in €/tCO2 for each yearfrom::Node
: the node from which the edge startsto::Node
: the node to which the edge endslength::Float64
: length of the connection in km
TransComp.Mode
— TypeMode
A 'Mode' represents a transport mode. Transport modes may differ either by the infrastructure used (for example, road vs. rail) or by the used vehicle type (for example, private passenger car vs. bus) that directly influences the travel time but excludes a differentiation based on technology.
Fields
id::Int
: unique identifier of the modename::String
: name of the modequantify_by_vehs::Bool
: if for this mode vehicles stock is sized or not. If this mode is considered with levelized costs, including the costs for vehicles and related costs.cost_per_ukm::Array{Float64, 1}
: cost per km in €/km (only relevant when quantifybyvehs is false)emission_factor::Array{Float64,1}
: emission factor of the mode in gCO2/ukm (only relevant when quantifybyvehs is false)infrastructure_expansion_costs::Array{Float64,1}
: infrastructure expansion costs in € (only relevant when quantifybyvehs is false)infrastructure_om_costs::Array{Float64,1}
: infrastructure operation and maintenance costs in €/year (only relevant when quantifybyvehs is false)waiting_time::Array{Float64,1}
: waiting time in h
TransComp.Product
— TypeProduct
A 'Product' represents either a good or a service that is being transported. This may include passengers, or different types of products in the freight transport. The differentiation of transported products relates to the different needs for transportation and, therefore, different possible sets of transport modes, vehicle types and drivetrain technologies available for transport.
Fields
id::Int
: unique identifier of the productname::String
: name of the product
TransComp.Path
— TypePath
A 'Path' represents a possible route between two nodes. This sequence includes the nodes that are passed through and the length of the path.
Fields
id::Int
: unique identifier of the pathname::String
: name of the pathlength::Float64
: length of the path in kmsequence::Array{GeographicElement,1}
: sequence of graph items (nodes/edges) in the path
TransComp.Fuel
— TypeFuel
A 'Fuel' represents the energy source used for the vehicle propulsion.
Fields
id::Int
: unique identifier of the fuelname::String
: name of the fuelemission_factor::Float64
: emission factor of the fuel in gCO2/kWhcost_per_kWh
: cost per kWh of the fuel in €cost_per_kW
: cost per kW of the fuel in €fueling_infrastructure_om_costs::Array{Float64,1}
: fueling infrastructure operation and maintenance costs in €/year
TransComp.Technology
— TypeTechnology
A 'Technology' represents the drivetrain technology used in the vehicle.
Fields
id::Int
: unique identifier of the technologyname::String
: name of the technologyfuel::Fuel
: fuel used by the technology
TransComp.Vehicletype
— TypeVehicletype
A 'Vehicletype' represents a type of vehicle that is used for transportation. This may be for example, small passenger cars, buses, or light-duty trucks.
Fields
id::Int
: unique identifier of the vehicle typename::String
: name of the vehicle typemode::Mode
: mode of transport that the vehicle type is used forproduct::Product
: product that the vehicle type is used for
TransComp.TechVehicle
— TypeTechVehicle
A 'TechVehicle' represents a vehicle that is used for transportation. This includes the vehicle type, the technology used in the vehicle, the capital and maintenance costs, the load capacity, the specific consumption, the lifetime, the annual range, the number of vehicles of this type, the battery capacity, and the peak charging power.
Fields
id::Int
: unique identifier of the vehiclename::String
: name of the vehiclevehicle_type::Vehicletype
: type of the vehicletechnology::Technology
: technology used in the vehiclecapital_cost::Array{Float64}
: capital cost in €maintenance_cost_annual::Array{Array{Float64,1},1}
: annual maintenance cost in €/yearmaintenance_cost_distance::Array{Array{Float64,1},1}
: maintenance cost per km in €/kmW::Array{Float64}
: load capacity in tspec_cons::Array{Float64}
: specific consumption in kWh/kmLifetime::Array{Int}
: lifetime of the vehicle in yearsAnnualRange::Array{Float64}
: annual range in kmproducts::Array{Product}
: number of vehicles of this typetank_capacity::Array{Float64}
: battery capacity in kWhpeak_fueling::Array{Float64}
: peak charging power in kWfueling_time´::Array{Float64}
: refueling time in h (total tank) - array with values by generation
TransComp.SupplyType
— TypeSupplyType
A 'SupplyType' represents the type of supply infrastructure that is used for fueling vehicles.
Fields
id::Int
: unique identifier of the supply typename::String
: name of the supply typefuel::Fuel
: fuel type of the supply infrastructureinstall_costs::Array{Float64}
: installation costs in €om_costs::Array{Float64}
: operation and maintenance costs in €/year
TransComp.InitialVehicleStock
— TypeInitialVehicleStock
An 'InitialVehicleStock' represents a vehicle fleet that exisits at the initial year of the optimization horizon.
Fields
id::Int
: unique identifier of the initial vehicle stocktechvehicle::TechVehicle
: vehicle type and technology of the vehicleyear_of_purchase::Int
: year in which the vehicle was purchasedstock::Float64
: number of vehicles of this type in the initial vehicle stock
TransComp.InitialFuelingInfr
— TypeInitialFuelingInfr
An 'InitialFuelingInfr' represents the fueling infrastructure that exists at the initial year of the optimization horizon.
Fields
id::Int
: unique identifier of the initial fueling infrastructuretechnology::Technology
: technology of the fueling infrastructureallocation
: allocation of the fueling infrastructureinstalled_kW::Float64
: installed capacity of the fueling infrastructure in kW
TransComp.InitialModeInfr
— TypeInitialModeInfr
An 'InitialModeInfr' represents the mode infrastructure that exists at the initial year of the optimization horizon.
Fields
id::Int
: unique identifier of the initial mode infrastructuremode::Mode
: mode of transportallocation
: allocation of the mode infrastructureinstalled_ukm::Float64
: installed transport capacity of the mode infrastructure in Ukm
TransComp.InitialSupplyInfr
— TypeInitialSupplyInfr
An 'InitialSupplyInfr' represents the supply infrastructure that exists at the initial year of the optimization horizon.
Fields
id::Int
: unique identifier of the initial supply infrastructurefuel::Fuel
: fuel type of the supply infrastructureallocation
: allocation of the supply infrastructureinstalled_kW::Float64
: installed capacity of the supply infrastructure in kW
TransComp.InitDetourTime
— TypeInitDetourTimes
An 'InitDetourTimes' represents the detour times that exist at the initial year of the optimization horizon. It is the average detour time to reach a fueling station.
Fields
id::Int
: unique identifier of the initial detour timesfuel::Fuel
: fuel type of the fueling stationlocation::GeographicElement
: location of the fueling stationdetour_time::Float64
: detour time in h
TransComp.DetourTimeReduction
— TypeDetourTimeReduction
A 'DetourTimeReduction' describes a reduction in detour time at a fueling station.
Fields
id::Int
: unique identifier of the detour time reductionfuel::Fuel
: fuel type of the fueling stationlocation::GeographicElement
: location of the fueling stationreduction_id::Int
: unique identifier of the detour time reductiondetour_time_reduction::Float64
: detour time reduction in hfueling_cap_lb::Float64
: lower bound of fueling capacityfueling_cap_ub::Float64
: upper bound of fueling capacity
TransComp.FinancialStatus
— TypeFinancialStatus
A 'FinancialStatus' describes a demographic group based on what there average budget for transportation-related expenses is.
Fields
id::Int
: unique identifier of the financial statusname::String
: name of the financial statusVoT
: value of time in €/hmonetary_budget_purchase
: budget for purchasing costs in €/yearmonetary_budget_purchase_lb
: lower bound of the budget for purchasing costs in €/yearmonetary_budget_purchase_ub
: upper bound of the budget for purchasing costs in €/yearmonetary_budget_purchase_time_horizon
: time horizon of the budget for purchasing costs in years, indicating the time period over which the budget is valid
TransComp.Regiontype
— TypeRegiontype
A 'Regiontype' describes a region based on its characteristics that induces differences in transportation needs (for example, urban vs. rural area).
Fields
id::Int
: unique identifier of the regiontypename::String
: name of the regiontypespeed::Float64
: average speed in km/hcosts_var::Array{Float64, 1}
: variable costs in €/vehicle-kmcosts_fix::Array{Float64, 1}
: fixed costs in €/year
TransComp.Odpair
— TypeOdpair
An 'Odpair' describes transport demand. It may take place between two regions but origin and destination may al so
Fields
id::Int
: unique identifier of the odpairorigin::Node
: origin of the transport demanddestination::Node
: destination of the transport demandpaths::Array{Path, 1}
: possible paths between origin and destinationF
: number of trips in p/year or t/yearproduct::Product
: product that is transportedvehicle_stock_init::Array{InitialVehicleStock,1}
: initial vehicle stockfinancial_status::FinancialStatus
: financial status of the transport demandregion_type::Regiontype
: region type of the transport demandtravel_time_budget::Float64
: travel time budget in h/year
TransComp.Speed
— TypeSpeed
Speed indicates the average travel speed that is given by a certain region and vehicle type.
Fields
id::Int
: unique identifier of the speedregion_type::Regiontype
: region in which the speed is validvehicle_type::Vehicletype
: vehicle type for which the speed is validtravel_speed::Float64
: travel speed in km/h
TransComp.MarketShares
— TypeMarketShares
A 'MarketShares' describes the market share of a vehicle type with a specific drivetrain technology in a specific year.
Fields
id::Int
: unique identifier of the market sharetype::TechVehicle
: vehicle type and technologyshare::Float64
: market share of the vehicle type (in %)year::Int
: year of the expected market shareregion_type::Array{Regiontype,1}
: array of region types that are affected by this TechVehicle share constraint
TransComp.ModeShares
— TypeModeShares
A 'ModeShares' describes the mode share of a transport mode in a specific year.
Fields
id::Int
: unique identifier of the mode sharemode::Mode
: mode of transportshare::Float64
: share of the modeyear::Int
: year of the mode shareregion_type::Array{Regiontype,1}
: array of region types that are affected by this TechVehicle share constraint
TransComp.ModeSharemaxbyyear
— TypeModeSharemaxbyyear
Maximum mode shares of a transport mode in a specific year.
Fields
id::Int
: unique identifier of the mode sharemode::Mode
: mode of transportshare::Float64
: maximum share of the modeyear::Int
: year of the maximum mode shareregion_type::Array{Regiontype,1}
: array of region types that are affected by this TechVehicle share constraint
TransComp.ModeShareminbyyear
— TypeModeShareminbyyear
Minimum mode shares of a transport mode in a specific year.
Fields
id::Int
: unique identifier of the mode sharemode::Mode
: mode of transportshare::Float64
: minimum share of the modeyear::Int
: year of the minimum mode shareregion_type::Array{Regiontype,1}
: array of region types that are affected by this TechVehicle share constraint
TransComp.EmissionLimitbymode
— TypeEmissionLimitbymode
An 'EmissionLimitbymode' describes emissions constrained for a mode.
Fields
id::Int
: unique identifier of the emission constraintmode::Mode
: mode of transportemission::Float64
: emission constraint of the vehicle type (tCO2/year)year::Int
: year of the expected emission constraint
TransComp.EmissionLimitbyyear
— TypeEmissionLimitbyyear
An 'EmissionLimitbyyear' describes an emission goal for a specific year for the total emissions.
Fields
id::Int
: unique identifier of the emission constraintemission::Float64
: emission constraintyear::Int
: year of the expected emission constraint
TransComp.VehicleSubsidy
— TypeVehicleSubsidy
A 'VehicleSubsidy' describes the subsidy for a vehicle type in a specific year.
Fields
id::Int
: unique identifier of the subsidyname::String
: name of the subsidyyears::Array{Int,1}
: years in which the subsidy is validtechvehicle::TechVehicle
: vehicle type and technologysubsidy::Float64
: subsidy in €