merged

Commit 9c1870244adf · Nicolas Saunier · 2026-01-26 16:33 -0500

Changeset
9c1870244adf2212d53dbb829cdc5a52d5f299b5
Parents
1304:41469fdaa85e 1303:d828f3f76273

View source at this commit

Comments

No comments yet.

Log in to comment

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