nsaunier/traffic-intelligence
merged
Commit 9c1870244adf · Nicolas Saunier · 2026-01-26 16:33 -0500
Comments
No comments yet.
Diff
diff --git a/trafficintelligence/traffic_engineering.py b/trafficintelligence/traffic_engineering.py
--- a/trafficintelligence/traffic_engineering.py
+++ b/trafficintelligence/traffic_engineering.py
@@ -261,18 +261,23 @@
class TriangularFD(FundamentalDiagram):
def __init__(self, vf = None, kc = None, kj = None, qmax = None, w = None):
FundamentalDiagram.__init__(self,'Triangular')
- if vf is not None and qmax is not None and kj is not None:
+ if vf is not None and kj is not None:
self.vf=vf
- self.qmax = qmax
self.kj = kj
- self.kc = qmax/vf
- self.w = qmax/(self.kc-kj)
+ if qmax is not None:
+ self.qmax = qmax
+ self.kc = qmax/vf
+ self.w = qmax/(self.kc-kj)
+ elif kc is not None:
+ self.kc = kc
+ self.qmax = vf*kc
+ self.w = self.qmax/(self.kc-kj)
def v(self, k):
if k<self.kc:
return self.vf
else:
- return self.vf*self.kc*(self.kj/k-1)/(self.kj-self.kc)
+ return self.qmax/(self.kj-self.kc)*(1-self.kj/k)
def generateDensities(n, maxDensity):
return stats.uniform.rvs(size=n)*maxDensity