> ## Documentation Index
> Fetch the complete documentation index at: https://docs.models.dunsky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Spécification d’adoption et recharge EVA

> Définir disponibilité, économie, calibration, concurrence des motorisations, mandats, parc, recharge et contrats de charge d’EVA.

EVA propose les modes adoption, recharge et charge. L’adoption combine des potentiels de marché en ventes et parc BEV/PHEV; la recharge évalue les contraintes d’infrastructure; la charge délègue au paquet End-Use Load.

## Contrats d’entrée et dimensions

`AdoptionInputs` réunit scénarios, disponibilités, trajectoires économiques, calibration, contraintes de recharge, collections de parcs et adoption initiale des voitures. Les options de `Scenario` doivent exister dans leurs dictionnaires. Aligner tableaux et années par segment, motorisation et scénario; utiliser les identifiants BEV/PHEV/ICE des constantes.

Les parts sont des fractions, les durées en années, les coûts en monnaie, les prix par unité d’énergie, les déplacements en distance/an et les rendements en énergie/distance. Batterie kWh / kWh par distance donne l’autonomie; batterie kWh / puissance kW donne des heures. Les unités fournies sont utilisées sans conversion générale. Les champs sans défaut déclaré sont des arguments de constructeur requis, pas des valeurs inférées du classeur.

## Disponibilité

Pour la disponibilité locale $l_y$, poser $\bar l_0=l_0$ puis $\bar l_y=(l_y+l_{y-1})/2$ :

$$
L_y=1-(1-\bar l_y)^2
$$

Les catégories mondiales sont remplacées selon `GLOBAL_AVAILABILITY_FACTORS`, converties numériquement et complétées selon le code. Le facteur devient :

$$
G'_y=\frac{2}{1+e^{-0.7x_y}}-1
$$

Pour les années consécutives, $G_y=(G_{y-1}+G'_y)/2$. Le précédent est déjà modifié : ce lissage est récursif.

## Coûts initiaux et possession

Le prix est arrondi à la centaine après ajout du coût de batterie du scénario. Le coût initial soustrait les incitatifs électriques et ajoute la recharge à domicile. Les ajouts batterie et incitatifs EV sont nuls dans la branche ICE.

Pour l’achat en année $y$, additionner entretien et énergie sur $L_y$ positions, jusqu’avant $y+L_y$, sans dépasser la série disponible. Aucune actualisation. BEV : prix électrique × rendement électrique × distance. ICE : prix carburant × rendement ICE × distance. PHEV : combinaison des deux selon la fraction de conduite électrique. Comparer chaque EV à ICE pour obtenir surcoût initial $x$ et coût différentiel de possession $z$.

$$
U_+(x)=1.004545455-0.000400507x+6.06498\!\times\!10^{-8}x^2-3.63054\!\times\!10^{-12}x^3+6.11888\!\times\!10^{-17}x^4
$$

Au-delà de $x=11020$, la réponse positive vaut zéro. Pour $x<0$ :

$$
U_-(x)=1.005244755-3.90346\!\times\!10^{-5}x-7.8817\!\times\!10^{-9}x^2-5.07964\!\times\!10^{-12}x^3-2.18531\!\times\!10^{-16}x^4
$$

Borner la réponse initiale à $[0,1]$. La réponse de possession est $T(z)=\operatorname{clip}(0.4936-0.00003z+10^{-10}z^2,0.08,1)$. Avec le poids $w$ :

$$
P^{economic}_y=\min(1,(1-w_y)U(x_y)+w_yT(z_y))
$$

La réponse est comportementale; le plancher 0,08 concerne seulement la possession.

## Diffusion et calibration

Pour une cohorte démarrant à $c$, le noyau Bass est $B_c(t)=[1-e^{-(p_c+q_c)(t-c)}]/[1+(q_c/p_c)e^{-(p_c+q_c)(t-c)}]$. Le calcul construit plusieurs courbes, différencie leurs valeurs consécutives, ajoute une composante historique décalée de `t0`, puis plafonne à un. Les ajouts de marché du scénario modifient $q$ avant ce calcul. Une seule courbe cumulative Bass ne remplace pas cette séquence.

La calibration optionnelle minimise la racine des erreurs quadratiques pondérées BEV/PHEV divisées par la longueur de la série historique PHEV. Les bornes de $p$ sont 0,001 à 0,01; celles de $q$, 0,1 à 1. Six sélecteurs binaires représentent les âges initiaux 1 à 6. L’écart entre les deux $q$ est limité à 0,1. Le code utilise IPOPT et arrondit l’âge obtenu pour les paramètres de prévision. Un résultat du solveur ne garantit ni optimum global ni intégralité exacte : examiner ajustement et sorties. La calibration modifie les scénarios/paramètres des entrées; isoler les objets réutilisés.

## Autonomie et temps de recharge

Autonomie BEV $R=B/e$. Temps DCFC $t_c=Bd_c/P$, avec profondeur de recharge $d_c$ et puissance $P$. Avec autonomie désirée $R^*$ et paramètre de temps $t^*$ :

$$
P_R=\min\left(\frac{100R/(R^*-40)-30.1829}{100},1\right),\qquad P_t=\min(0.8131(t_c+t^*)^{-0.4545},1)
$$

Le potentiel intermédiaire BEV est $(P_R+P_t)/2$; celui PHEV vaut un. La réponse d’autonomie n’a pas de borne inférieure ici et est singulière à 40; la puissance doit être positive. Les étapes d’infrastructure comparent ensuite demande publique, capacité utilisable des ports et couverture des corridors. Le domicile est exclu des sommes publiques; PHEV utilise L2. Dans l’accumulation concernée, un tableau contenant au moins une demande nulle est ignoré.

### Contraintes d’infrastructure publique

Pour les ports, additionner les ratios ports disponibles / ports non contraints des couples lieu/niveau admissibles, puis plafonner à un. BEV comprend L2 et DCFC admissibles; PHEV comprend L2. Un tableau contenant un besoin de ports nul est ignoré. L’autre voie additionne l’énergie publique utilisable et la divise par la demande publique quotidienne totale, plafonnée à un.

Les ports de corridor requis sont longueur autoroutière / espacement idéal. Avec fraction $a$ ayant une deuxième voiture thermique et $N$ ports DCFC, le potentiel est $\min(1,a+(1-a)N/N_{required})$. Pour BEV, multiplier potentiel autonomie/temps × potentiel de groupe × potentiel corridor. Pour PHEV, la branche remplace la valeur par le maximum élémentaire entre potentiel de groupe et potentiel économique du type de véhicule. Les deux motorisations n’utilisent donc pas la même formule.

## Concurrence, mandats et lissage

Pour chaque motorisation, multiplier les potentiels inclus et plafonner à un : parts avant concurrence $b,p$. Le marché EV combiné $V$ multiplie les maxima BEV/PHEV de chaque facteur disponibilité/économie/recharge, et de diffusion si présent, puis plafonne à un.

$$
b'=\max\left(\frac{b}{b+p}V,b\right),\qquad p'=V-b'
$$

Un dénominateur $b+p=0$ devient manquant dans le code, sans substitution supplémentaire définie ici. Pour mandat $m$ et part après concurrence $s$, la part ajustée est $\max(s,ms/(b'+p'))$, le terme proportionnel valant zéro si son dénominateur est nul.

Appliquer normalement une moyenne mobile centrée de trois ans avec au moins une observation. Pour un mandat positif, utiliser directement la part ajustée. Les ventes sont ensuite arrondies : part × ventes totales. Lisser après arrondissement ne reproduit pas cet ordre.

## Parc et sorties

Cumuler les ventes par type/motorisation et ajouter le parc initial configuré pour les voitures. En année $y$, soustraire les ventes modélisées d’années $\le y-L_y$ si l’année cible existe dans le vecteur. Il s’agit d’une durée de vie de l’année de rapport, pas d’une distribution de survie par cohorte. Le parc initial n’est pas retiré par cette soustraction des seules ventes modélisées.

La part du parc divise ce résultat par le parc total cumulatif sélectionné. Les agrégations reconstruisent leurs dénominateurs selon les parcs du scénario. Conserver scénario, potentiel, mesure, type, motorisation et année. Propension intermédiaire, parts avant/après concurrence, ventes annuelles et parc sont distincts.

Le mode charge appelle `eul.transportation.ev_load_forecast` par scénario, par défaut au pas horaire avec catégories semaine/fin de semaine et été/hiver. Le schéma charge/météo relève de cette dépendance et ne se déduit pas des pourcentages d’adoption. Une spécification autonome complète d’EUL requiert celle de ce paquet.

## Validation et limites

Vérifier potentiels zéro/un, bornes polynomiales, coûts tronqués en fin de série, dénominateurs nuls, années de mandat, extrémités du lissage, retraits et résidus de calibration. 10 000 ventes × 0,20 donnent 2 000 ventes EV. À différence de possession nulle, la réponse vaut 0,4936 avant pondération, pas un.

Les tests couvrent disponibilité, diffusion, économie, lecture, intégration adoption/charge et sous-processus, sans démontrer une précision hors échantillon. Options absentes et tableaux incompatibles provoquent des erreurs de clé ou d’alignement. Changer l’échelle monétaire des coefficients exige une recalibration.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.