diff --git a/simulator/src/simulator-ui.ts b/simulator/src/simulator-ui.ts index 90fe576..e9c265c 100644 --- a/simulator/src/simulator-ui.ts +++ b/simulator/src/simulator-ui.ts @@ -94,8 +94,8 @@ function initializeSimulator(container: HTMLElement) {

Il faudra recharger le vhélio sur secteur environ ${simulationResult.gridChargeCount} fois sur l'année.

Cela coûtera ${Math.round(totalConsumedGridPower/1000*averageKwhCost*100)/100}€ sur l'année. Le vhélio sera rechargé à ${solarRechargeRatio}% par le soleil, ${100-solarRechargeRatio}% sur secteur.


-

Vitesse moyenne : ${Math.round(simulationResult.averageSpeed*10.0)/10.0} km/h (${Math.round(simulationResult.flatTerrainSpeed*10.0)/10.0} km/h sur plat, ${Math.round(simulationResult.uphillSpeed*10.0)/10.0} km/h en côte, ${Math.round(simulationResult.downhillSpeed*10.0)/10.0} km/h en descente)

-

Durée du trajet quotidien : ${dailyDurationHours}h ${dailyDurationMinutes}min. Distance annuelle : ${Math.round(simulationResult.cumulatedDistance)} km.

+

Vitesse moyenne : ${Math.round(simulationResult.averageSpeed*10.0)/10.0} km/h (${Math.round(simulationResult.flatTerrainSpeed*10.0)/10.0} km/h sur plat, ${Math.round(simulationResult.uphillSpeed*10.0)/10.0} km/h en côte à ${Math.round((parameters.dailyAscendingElevation/1000.0)/(parameters.dailyDistance*(1.0-parameters.flatTerrainRatio)*0.5)*100.0)}%, ${Math.round(simulationResult.downhillSpeed*10.0)/10.0} km/h en descente)

+

Durée de trajet quotidien : ${dailyDurationHours}h ${dailyDurationMinutes}min. Distance annuelle : ${Math.round(simulationResult.cumulatedDistance)} km.

`; //

${Math.round(100*(simulationResult.cumulatedSolarRechargeEnergy/simulationResult.vehicle.batteryEfficiency) / simulationResult.totalProducedSolarEnergy)}% de l'énergie produite par le panneau photovoltaïque sera utilisée pour recharger le vhélio.

diff --git a/simulator/src/simulator.html b/simulator/src/simulator.html index ecaa543..970b213 100644 --- a/simulator/src/simulator.html +++ b/simulator/src/simulator.html @@ -24,6 +24,22 @@ +
+
+ +
+
+
+

+ +

+

+ kg +

+
+
+
+
@@ -125,22 +141,6 @@
- -
-
- -
-
-
-

- -

-

- kg -

-
-
-
@@ -181,7 +181,7 @@

- +

% diff --git a/simulator/src/simulator.ts b/simulator/src/simulator.ts index e0e33c4..1dc16b3 100644 --- a/simulator/src/simulator.ts +++ b/simulator/src/simulator.ts @@ -143,22 +143,25 @@ namespace Simulator { let outing: Outing = { distance: 0, ascendingElevation: 0 }; let consumption: ConsumptionData = { motorEnergy: 0, humanEnergy: 0, averageSpeed: 0 }; + let resetConsumption = function(outConsumption: ConsumptionData) { + consumption.motorEnergy = 0; consumption.humanEnergy = 0; consumption.averageSpeed = 0; + }; let flatTerrainRatio = MathUtils.clamp(planning.flatTerrainRatio, 0.0, 1.0); if(planning.dailyAscendingElevation <= 0) flatTerrainRatio = 1.0; let flatDistance = planning.dailyDistance * flatTerrainRatio; - consumption = { motorEnergy: 0, humanEnergy: 0, averageSpeed: 0 }; + resetConsumption(consumption); vehicle.consumption(flatDistance, 0, consumption); result.flatTerrainSpeed = consumption.averageSpeed; let uphillDistance = planning.dailyDistance * (1.0 - flatTerrainRatio) * 0.5; - consumption = { motorEnergy: 0, humanEnergy: 0, averageSpeed: 0 }; + resetConsumption(consumption); vehicle.consumption(uphillDistance, planning.dailyAscendingElevation, consumption); result.uphillSpeed = consumption.averageSpeed; let downhillDistance = planning.dailyDistance * (1.0 - flatTerrainRatio) * 0.5; - consumption = { motorEnergy: 0, humanEnergy: 0, averageSpeed: 0 }; + resetConsumption(consumption); vehicle.consumption(downhillDistance, -planning.dailyAscendingElevation, consumption); result.downhillSpeed = consumption.averageSpeed; @@ -174,8 +177,7 @@ namespace Simulator { planning.getOuting(day % 7, hour, outing); - consumption.motorEnergy = 0; consumption.humanEnergy = 0; consumption.averageSpeed = 0; - + resetConsumption(consumption); vehicle.consumption(outing.distance * flatTerrainRatio, 0, consumption); vehicle.consumption(outing.distance * (1.0 - flatTerrainRatio) * 0.5, outing.ascendingElevation, consumption); vehicle.consumption(outing.distance * (1.0 - flatTerrainRatio) * 0.5, -outing.ascendingElevation, consumption);