Brevet FR3093581A1 — publié le 20200911

Description Titre de l'invention : SYSTÈMES ET PROCÉDÉS DE SI- MULATION DE RÉSERVOIR POUR AMÉLIORER DE MANIÈRE DYNAMIQUE LES PERFORMANCES DE SI- MULATIONS DE RÉSERVOIR Contexte [0001] La présente invention concerne de manière générale des systèmes et des procédés de simulation de réservoir pour améliorer de manière dynamique les performances des simulations de réservoir. [0002] Des simulations de réservoir sont parfois exécutées pour analyser, prédire et simuler des environnements de fond de trou. Cependant, les simulations de réservoir engendrent parfois une quantité importante de ressources informatiques, par exemple un certain nombre d'unités de traitement à exécuter. De plus, une augmentation du nombre d'unités de traitement ne diminue parfois pas proportionnellement le temps de calcul nécessaire pour exécuter les simulations. Brève description des dessins [0003] Des modes de réalisation illustratifs de la présente invention sont décrits en détail ci- dessous en référence aux figures des dessins annexés, qui sont incorporées ici à titre de référence et dans lesquelles : [0004] FIG. 1 est un organigramme d'un processus permettant d'améliorer de manière dynamique les performances d'une simulation de réservoir ; [0005] FIG. 2A est un organigramme d'un processus permettant d'effectuer une opti- misation statique d'une simulation de réservoir ; [0006] FIG. 2B est un organigramme d'un processus permettant d'effectuer une optimisation dynamique d'une simulation de réservoir ; et [0007] FIG. 3 est un schéma fonctionnel d'un système de simulation de réservoir pouvant fonctionner pour exécuter les processus illustrés aux figures 1, 2A et 2B. [0008] Les figures illustrées ont exclusivement vocation à servir d'exemples et ne sont pas destinées à affirmer ou à impliquer une quelconque limitation en ce qui concerne l'environnement, l'architecture, la conception ou le processus dans lesquels différents modes de réalisation peuvent être mis en oeuvre. Description détaillée 100091 Dans la description détaillée suivante des modes de réalisation illustratifs, il est fait référence aux dessins annexés qui font partie intégrante des présentes. Ces modes de réalisation sont décrits avec suffisamment de détails pour permettre à l'homme du 2 métier de mettre en pratique l'invention, et il est entendu que d'autres modes de réalisation peuvent être utilisés et que des modifications logiques structurelles, mécaniques, électriques et chimiques peuvent être apportées sans s'écarter de l'esprit ou de la portée de l'invention. Pour éviter des détails qui ne sont pas nécessaires afin de permettre à l'homme du métier de mettre en pratique les modes de réalisation décrits ici, la description peut omettre certaines informations connues de l'homme du métier. La description détaillée suivante ne doit donc pas être prise dans un sens limitatif, et la portée des modes de réalisation illustratifs est définie uniquement par les revendications annexées. [0010] La présente invention concerne des systèmes et des procédés de simulation de réservoir pour améliorer de manière dynamique les performances de simulations de réservoir. Comme indiqué ici, un système de simulation de réservoir est un système formé d'un ou de plusieurs dispositifs électroniques qui effectuent individuellement ou collectivement des opérations décrites dans le présent document pour générer une ou plusieurs simulations de réservoir. Des exemples de tels dispositifs électroniques incluent, sans toutefois s'y limiter, les ordinateurs de bureau, les ordinateurs portables, les ordinateurs serveurs, les tablettes, les téléphones intelligents, ainsi que d'autres types de dispositifs électroniques pouvant générer une ou plusieurs simulations de réservoir. Les exemples de simulations de réservoir incluent, sans toutefois s'y limiter, des simulations de production d'hydrocarbures d'un réservoir dans le temps, des simulations de la quantité de fluides de réservoir (par exemple, de l'eau) s'écoulant dans un puits de forage au fil du temps, des simulations du coût de production d'hydrocarbures dans le temps, des simulations de l'intégrité de la structure du réservoir dans le temps, ainsi que d'autres types de simulations du réservoir. Dans certains modes de réalisation, une simulation de réservoir inclut une seule exécution de simulation de la simulation respective. Dans certains modes de réalisation, une simulation de réservoir inclut de multiples exécutions de simulation de la simulation respective. [0011] Le système de simulation de réservoir inclut un support de stockage pour stocker des données associées à des simulations d'un réservoir, telles que, sans toutefois s'y limiter, des variables d'entrée pour générer une simulation de réservoir, des variables de sortie de la simulation de réservoir, des paramètres internes commandant les performances de la simulation de réservoir, des paramètres externes commandant les performances de la simulation de réservoir, des données historiques de simulations ou d'exécutions de simulation précédentes, ainsi que d'autres types de données associées aux simulations du réservoir. Comme indiqué ici, les variables d'entrée sont des variables qui sont utilisées pour générer la simulation de réservoir. Des exemples de variables d'entrée incluent, sans toutefois s'y limiter, les propriétés de fluide d'un 3 fluide s'écoulant dans un réservoir simulé, les propriétés du réservoir simulé, etc. Dans certains modes de réalisation, les variables d'entrée sont fournies par l'utilisateur. Dans certains modes de réalisation, les variables d'entrée sont prédéterminées ou sont sélectionnées à partir d'une simulation de réservoir récemment générée. En outre, comme indiqué ici, les variables de sortie sont une ou plusieurs variables qui sont résolues par la simulation de réservoir. Des exemples de variables de sortie incluent, sans toutefois s'y limiter, la quantité de ressources en hydrocarbures produites (par exemple, une production instantanée, une production dans le temps, etc.) par le réservoir simulé, la quantité de pression au niveau d'un emplacement du réservoir simulé, la conductivité du réservoir simulé, etc. En outre, comme indiqué ici, les paramètres internes sont les paramètres et/ou les conditions préalables d'un ou de plusieurs algorithmes utilisés pour générer la simulation de réservoir, tandis que les paramètres externes sont les paramètres d'un ou de plusieurs composants matériels utilisés pour générer la simulation de réservoir. Des exemples de paramètres externes incluent, sans toutefois s'y limiter, le nombre de processeurs, le nombre d'exécutions de simulation, etc. [0012] Le système de surveillance de réservoir inclut également un ou plusieurs processeurs attribués individuellement ou collectivement pour effectuer les opérations décrites ici, y compris l'obtention de variables d'entrée, de paramètres internes et de paramètres externes utilisés dans une simulation de réservoir à partir du support de stockage, la génération d'une simulation de réservoir sur la base des une ou plusieurs variables d'entrée, la détermination d'une variance du temps de calcul pour traiter un ou plusieurs processus de la simulation de réservoir, et le fait de déterminer s'il convient d'effectuer une optimisation statique de la simulation de réservoir ou une optimisation dynamique de la simulation de réservoir sur la base de la variance du temps de calcul pour traiter les un ou plusieurs processus. Des exemples de procédés permettant de déterminer la variance du temps de calcul sont fournis dans les paragraphes ci-dessous. Comme indiqué dans les présentes, une optimisation dynamique de la simulation de réservoir est un processus destiné à améliorer la simulation de réservoir si la variance du temps de calcul est inférieure ou égale à un seuil. Les processeurs, en réponse à une détermination que la variance du temps de calcul est inférieure ou égale au seuil, déterminent qu'il convient d'effectuer une optimisation dynamique de la simulation de réservoir, et effectuent une première séquence d'optimisations bayésiennes d'un ou de plusieurs paramètres internes et/ou d'un ou de plusieurs paramètres externes de la simulation de réservoir. Des descriptions supplémentaires d'un processus permettant d'effectuer la première séquence d'optimisation bayésienne sont fournies dans les paragraphes ci-dessous et sont illustrées au moins sur les figures 1 et 2B. En outre, comme indiqué ici, une optimisation statique de la simulation de réservoir est un processus permettant d'améliorer la simulation de réservoir si la variance du temps de calcul est supérieure à la valeur seuil. À cet égard, les processeurs, en réponse à la détermination que la variance du temps de calcul est supérieure à la valeur seuil, effectuent une seconde séquence d'optimisations hayésiennes d'un ou de plusieurs paramètres internes et/ou d'un ou de plusieurs paramètres externes de la simulation de réservoir pour améliorer les performances de la simulation de réservoir. Des descriptions supplémentaires d'un processus permettant d'effectuer la seconde séquence d'optimisation bayésienne sont fournies dans les paragraphes ci-dessous et sont illustrées au moins sur les figures 1 et 2A. [0013] Comme indiqué ici, une simulation de réservoir est améliorée si le coût de calcul de la réalisation de la simulation de réservoir est réduit, si la simulation de réservoir est exécutée plus efficacement et/ou si le temps de calcul est réduit. Les exemples d'amélioration de la simulation de réservoir incluent, sans toutefois s'y limiter, la réduction du temps de calcul de la simulation de réservoir en dessous d'une période seuil de temps de calcul, la réduction du coût de la simulation de réservoir en dessous d'un nombre seuil de processeurs utilisés pour effectuer la simulation de réservoir, la réduction de l'utilisation d'énergie par un ou plusieurs des processeurs (par exemple, consommation d'énergie moyenne, variance de la consommation d'énergie, consommation d'énergie maximale) en dessous d'une quantité seuil de consommation d'énergie, la réduction du temps de calcul (par exemple, variance du temps de calcul , temps de calcul moyen, temps de calcul maximal) des processeurs en dessous d'un temps seuil, etc. Dans certains modes de réalisation, une simulation de réservoir est améliorée en améliorant les valeurs des paramètres internes et externes commandant la simulation de réservoir. Par exemple, lorsqu'une valeur pour un paramètre externe est le nombre de processeurs, le temps de calcul pour effectuer la simulation de réservoir peut être modifié en modifiant le nombre de processeurs, et la simulation de réservoir est améliorée si le temps de calcul pour effectuer la simulation de réservoir est réduit à un temps seuil (par exemple, moins d'une minute, moins de 15 secondes, etc.) ou est réduit d'un pourcentage seuil (par exemple, 10 %, 15 %, etc.) Dans certains modes de réalisation, les processeurs obtiennent également des variables de sortie de la simulation de réservoir, le temps de calcul de la simulation de réservoir, et fournissent les valeurs des variables de sortie et le temps de calcul pour affichage. Des descriptions supplémentaires des systèmes et procédés susmentionnés pour améliorer de manière dynamique les performances de simulations de réservoir sont décrites dans les paragraphes ci-dessous et sont illustrées sur les figures 1 à 3. [0014] Si l'on s'intéresse maintenant aux figures, la figure 1 est un organigramme d'un processus 100 pour améliorer de manière dynamique les performances d'une simulation de réservoir. Bien que des opérations du processus 100 soient représentées dans une séquence particulière, certaines opérations peuvent être effectuées dans des séquences différentes ou simultanément, lorsque cela est possible. [0015] Au bloc 5102, une ou plusieurs variables d'entrée pour générer une simulation de réservoir d'un réservoir sont obtenues, la simulation de réservoir étant associée à au moins l'un d'un ou de plusieurs paramètres internes et d'un ou de plusieurs paramètres externes commandant les performances de la simulation de réservoir. Dans certains modes de réalisation, un ou plusieurs des paramètres internes et externes sont fournis par l'utilisateur (par exemple, une désignation par l'utilisateur pour ne pas utiliser plus de 10 unités de traitement, une désignation par l'utilisateur pour équilibrer la charge des processeurs, une désignation par l'utilisateur pour exécuter une simulation de réservoir x fois, etc.). Dans certains modes de réalisation, les valeurs des un ou plusieurs paramètres internes et externes sont prédéterminées ou sont basées sur les valeurs d'une simulation récemment exécutée. [0016] Au bloc S104, une simulation de réservoir est générée sur la base des une ou plusieurs variables d'entrée. Les exemples de simulations de réservoir incluent, sans toutefois s'y limiter, des simulations de production d'hydrocarbures, des simulations de l'environnement du réservoir dans le temps, ainsi que d'autres types de simulations des propriétés du réservoir ou de l'environnement du réservoir. Comme indiqué ici, dans certains modes de réalisation, la simulation de réservoir inclut une ou plusieurs exécutions de simulation de la simulation de réservoir au cours d'une période. Au bloc 5106, lors de la simulation de réservoir, une variance du temps de calcul pour traiter les un ou plusieurs processus de la simulation de réservoir est déterminée. Dans certains modes de réalisation, la variance de temps de calcul est une plage des temps de calcul sur un nombre seuil d'intervalles de temps (par exemple, 10, 15, 20 ou un autre nombre d'intervalles). Par exemple, si le temps de calcul sur 10 intervalles de temps est compris entre 5 et 15, alors la variance sur 10 intervalles de temps est de 10. Dans certains modes de réalisation, la variance de temps de calcul est la différence entre une moyenne du temps de calcul sur un premier nombre seuil d'intervalles de temps et une moyenne du temps de calcul sur un second nombre seuil d'intervalles de temps. Par exemple, lorsque le temps de calcul moyen sur le premier nombre seuil d'intervalles de temps (par exemple, 10 intervalles de temps) est égal à 10, et lorsque le temps de calcul moyen sur le second nombre seuil d'intervalles de temps (par exemple, 10 intervalles) est égal à 14, la variance de temps de calcul est de 4. Dans certains modes de réalisation, la variance du temps de calcul est une moyenne des différences au carré du temps de calcul moyen sur un nombre seuil d'intervalles de temps. [0017] Au bloc S108, il est déterminé si la variance est inférieure ou égale à un seuil (par exemple 10, 5 % ou une autre valeur numérique). Dans certains modes de réalisation, le seuil est une valeur entrée par l'utilisateur. Dans certains modes de réalisation, le seuil est une valeur prédéterminée. Dans certains modes de réalisation, le seuil est basé 6 sur un seuil utilisé dans une simulation de réservoir antérieure. Le processus passe du bloc 5108 au bloc S110 si la variance est inférieure ou égale au seuil. Au bloc S110, et en réponse à la détermination que la variance de temps de calcul est inférieure ou égale au seuil, une première séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes est effectuée pour améliorer les performances de la simulation de réservoir, par exemple, sans toutefois s'y limiter, la réduction du temps de calcul de la simulation de réservoir en dessous d'une période seuil de temps de calcul, la réduction du coût de la simulation de réservoir en dessous d'un nombre seuil de processeurs utilisés pour effectuer la simulation de réservoir, la réduction de l'utilisation d'énergie par un ou plusieurs des processeurs (par exemple, la consommation d'énergie moyenne, la variance de la consommation d'énergie, la consommation d'énergie maximale) en dessous d'une quantité seuil de consommation d'énergie, la réduction du temps de calcul (par exemple, la variance du temps de calcul, le temps de calcul moyen, le temps de calcul maximal) des processeurs en dessous d'un temps seuil, etc. Comme décrit ici, une optimisation dynamique du système de simulation de réservoir est effectuée si la variance du temps de calcul est inférieure ou égale au seuil. Des descriptions supplémentaires de la première séquence d'optimisations bayésiennes sont fournies dans les paragraphes ci-dessous et sont illustrées au moins sur la figure 2B. Le processus passe ensuite au bloc 5114. [0018] En variante, le processus passe du bloc S108 au bloc S112 si la variance est su- périeure au seuil. Au bloc S112, et en réponse à la détermination que la variance de temps de calcul est supérieure au seuil, une seconde séquence d'optimisations bayésiennes de l'au moins des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes est effectuée pour améliorer les performances de la simulation de réservoir. Comme décrit ici, une optimisation statique du système de simulation de réservoir est effectuée si la variance du temps de calcul est supérieure au seuil. Des descriptions supplémentaires de la seconde séquence d'optimisations bayésiennes sont fournies dans les paragraphes ci-dessous et sont illustrées au moins sur la figure 2A. Le processus passe ensuite au bloc S114. [0019] Dans certains modes de réalisation, où la variance est inférieure ou égale au seuil, soit la première séquence d'optimisations bayésiennes soit la seconde séquence d'optimisations bayésiennes est effectuée. Dans un ou plusieurs de ces modes de réalisation, et en réponse à une détermination au bloc S108 que la variance est inférieure ou égale au seuil, l'utilisateur est invité à choisir s'il souhaite effectuer la première séquence d'optimisations bayésiennes (passer au bloc S110) ou la seconde séquence d'optimisations bayésiennes (passer au bloc S112). Dans un ou plusieurs de ces modes de réalisation, et en réponse à une détermination au bloc S108 que la variance est in- 7 férieure ou égale au seuil, les processeurs déterminent de manière dynamique s'il convient d'exécuter la première séquence d'optimisations bayésicnncs ou la seconde séquence d'optimisations bayésiennes. Dans un ou plusieurs de ces modes de réalisation, les processeurs déterminent s'il convient d'exécuter la première séquence des optimisations bayésiennes ou la seconde séquence d'optimisations bayésiennes sur la base d'une sélection d'utilisateur précédente. Dans un ou plusieurs de ces modes de réalisation, les processeurs déterminent le coût (par exemple, le temps de calcul, la consommation d'énergie, le nombre de processeurs, etc.) de réalisation de la première séquence d'optimisations bayésiennes et de la seconde séquence d'optimisations bayésiennes, et déterminent s'il convient d'exécuter la première séquence d'optimisations bayésiennes ou la seconde séquence d'optimisations bayésiennes sur la base du coût de réalisation des séquences d'optimisations bayésiennes respectives. [0020] Au bloc S114, il est déterminé s'il convient d'effectuer une autre simulation de réservoir. Le processus retourne ensuite au bloc S102 en réponse à une détermination qu'il convient d'effectuer une autre simulation de réservoir. En variante, le processus se termine s'il est déterminé qu'il ne convient pas d'effectuer une autre simulation de réservoir. Dans certains modes de réalisation, une ou plusieurs variables de sortie (par exemple, la quantité de ressources en hydrocarbures produites (par exemple, une production instantanée, une production dans le temps, etc.) par le réservoir simulé, la quantité de pression au niveau d'un emplacement du réservoir simulé, la conductivité du réservoir simulé, etc.) de la simulation de réservoir et le temps de calcul de la simulation de réservoir sont également obtenus et les valeurs des variables de sortie et le temps de calcul sont fournis pour affichage (par exemple, un affichage d'un dispositif électronique de l'utilisateur). [0021] La figure 2A est un organigramme d'un processus 200 permettant d'effectuer une op- timisation statique d'une simulation de réservoir. Bien que les opérations du processus 200 soient représentées dans une séquence particulière, certaines opérations peuvent être effectuées dans des séquences différentes ou simultanément lorsque cela est possible. [0022] Au bloc S202, une ou plusieurs exécutions de simulation de réservoir d'une si- mulation de réservoir sont exécutées pour un nombre seuil d'itérations (par exemple, 1 itération, 10 itérations ou un autre nombre entier d'itérations), chaque itération s'étendant sur une période (par exemple, 1 milliseconde, 1 seconde, la durée d'un nombre seuil d'exécutions de simulation, ou une autre période). Dans certains modes de réalisation, le nombre seuil d'itérations et la durée de la période par itération sont fournis par l'utilisateur. Dans certains modes de réalisation, le nombre seuil d'itérations et la durée de la période sont prédéterminés. Dans certains modes de réalisation, différentes itérations ont des durées différentes. 8 [0023] Au bloc S204, une fonction objective de la simulation de réservoir est déterminée sur la hase d'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. Comme indiqué dans les présentes, une fonction objective (par exemple, le temps de calcul) de la simulation de réservoir est une fonction de la simulation de réservoir et dépend des paramètres internes et externes, un objectif des processus décrits ici étant de déterminer les valeurs d'un ou de plusieurs paramètres internes et/ou externes auxquelles la fonction objective est optimale (par exemple, temps de calcul minimal, temps de calcul inférieur à une valeur seuil, nombre minimal de processeurs utilisés, nombre de processeurs utilisés inférieur au seuil, variance du nombre de calculs effectués par différents processeurs inférieure à une valeur seuil, consommation d'énergie des processeurs inférieure à une quantité seuil de consommation d'énergie, etc.). Quelques exemples de fonctions objectives sont le temps de calcul, le coût de calcul, la consommation d'énergie, etc. [0024] Au bloc S206, une optimisation bayésienne d'au moins l'un des un ou plusieurs pa- ramètres internes et des un ou plusieurs paramètres externes est effectuée en utilisant des valeurs calculées pour une fonction objective afin d'obtenir de nouvelles valeurs pour au moins l'un des paramètres internes et des paramètres externes. Dans certains modes de réalisation, l'optimisation bayésienne inclut une fonction d'acquisition qui suggère de nouvelles valeurs pour les paramètres internes et externes sur la base des valeurs précédemment obtenues pour la fonction objective. Au bloc S208, il est déterminé si les exécutions de simulation de réservoir ont été effectuées pour un nombre seuil d'itérations. Le processus retourne au bloc S202 si les exécutions de simulation de réservoir n'ont pas été effectuées pour le nombre seuil d'itérations, et si les opérations décrites aux blocs S202, S204 et S206 sont effectuées à nouveau pendant et/ou après une itération ultérieure, où une ou plusieurs exécutions de simulation de réservoir au cours de l'itération suivante sont commandées par les nouvelles valeurs des paramètres internes et/ou des paramètres externes obtenues lors de l'itération en cours. Dans certains modes de réalisation, une optimisation bayésienne effectuée lors de l'itération suivante utilise toutes les valeurs précédemment obtenues pour la fonction objective (à différentes valeurs pour les paramètres internes et externes) afin d'obtenir de nouvelles valeurs pour les paramètres internes et/ou externes. Le processus décrit aux blocs S202, S204, S206 et S208 est répété pour un nombre seuil d'itérations, puis les valeurs des paramètres internes et externes sont identifiées pour lesquelles la valeur de la fonction objective est optimale (par exemple, temps de calcul minimal, temps de calcul inférieur à une valeur seuil, nombre minimal de processeurs utilisés, nombre de processeurs utilisés inférieur au seuil, variance du nombre de calculs effectués par différents processeurs inférieure à une valeur seuil, ou consommation d'énergie des processeurs inférieure à une quantité 9 seuil de consommation d'énergie, etc.). Ces valeurs identifiées pour les paramètres internes et/ou externes fournissent des performances améliorées et sont ensuite utilisées pour une exécution de simulation de réservoir. En outre, le processus se termine si les simulations de réservoir ont été effectuées pour le nombre seuil d'itérations. [0025] La figure 2B est un organigramme d'un processus 250 permettant d'effectuer une op- timisation dynamique d'une simulation de réservoir. Bien que les opérations du processus 250 soient représentées dans une séquence particulière, certaines opérations peuvent être effectuées dans des séquences différentes ou simultanément, lorsque cela est possible. [0026] Au bloc S252, une ou plusieurs exécutions de simulation d'une simulation de réservoir sont générées pendant une période (par exemple, 1 milliseconde, 1 seconde ou une autre période). Dans certains modes de réalisation, la durée de la période est fournie par l'utilisateur. Dans certains modes de réalisation, la durée de la période est prédéterminée. [0027] Au bloc S254, une fonction objective de la simulation de réservoir est déterminée sur la base d'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. Au bloc S256, une optimisation bayésienne d'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes est effectuée pour obtenir de nouvelles valeurs pour au moins l'un des paramètres internes et des paramètres externes. Au bloc S258, il est déterminé si un nombre seuil de périodes s'est écoulé. Dans certains modes de réalisation, la valeur du nombre seuil de périodes est entrée par l'utilisateur. Dans certains modes de réalisation, la valeur du nombre seuil de périodes est prédéterminée. [0028] Le processus retourne au bloc S252 si le nombre seuil de périodes n'est pas écoulé, et les opérations décrites aux blocs S252, S254 et S256 sont effectuées à nouveau pendant et/ou après la période suivante, où une ou plusieurs exécutions de simulation de réservoir pendant la période suivante sont commandées par les nouvelles valeurs des paramètres internes et/ou des paramètres externes obtenues au cours de la période actuelle. Dans certains modes de réalisation, une optimisation bayésienne effectuée pendant la période suivante utilise toutes les valeurs précédemment obtenues pour la fonction objective (à différentes valeurs pour les paramètres internes et externes) afin d'obtenir de nouvelles valeurs pour les paramètres internes et/ou externes. Lors de la répétition du processus décrit aux blocs S252, S254, S256 et S258, les valeurs des paramètres internes et/ou externes commandant la simulation de réservoir et la valeur de la fonction objective sont modifiées. Une fois que le nombre seuil de périodes s'est écoulé, les valeurs des paramètres internes et/ou externes auxquelles la valeur de la fonction objective est optimale sont identifiées (par exemple, temps de calcul minimal, temps de calcul inférieur à une valeur seuil, nombre minimal de processeurs utilisés, nombre de processeurs utilisés inférieur au seuil, variance du nombre de calculs effectués par différents processeurs inférieure à une valeur seuil, ou consommation d'énergie dcs processeurs inférieure à une quantité seuil de consommation d'énergie, etc.). Ces valeurs identifiées pour les paramètres internes et/ou externes sont ensuite utilisées dans des exécutions de simulation de réservoir. Par ailleurs, le processus sc termine si le nombre seuil de périodes s'est écoulé. [0029] La figure 3 est un schéma fonctionnel d'un système de simulation de réservoir 300 pouvant fonctionner pour effectuer des opérations illustrées dans les processus des figures 1, 2A et 2B afin d'améliorer de manière dynamique les performances d'un système de simulation de réservoir. Le système de simulation de réservoir 300 inclut un support de stockage 306 et un ou plusieurs processeurs 310. Le support de stockage 306 peut être formé à partir de composants de stockage de données tels que, sans toutefois s'y limiter, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire flash, des disques durs magnétiques, des disques durs à semi-conducteurs dcs lecteurs de CD-ROM, des lecteurs de DVD, des lecteurs de disquettes, ainsi que d'autres types de composants et de dispositifs de stockage de données. Dans certains modes de réalisation, le support de stockage 306 comprend de multiples dispositifs de stockage de données. Dans d'autres modes de réalisation, les multiples dispositifs de stockage de données peuvent être physiquement stockés à différents emplacements. Les processeurs 310 représentent un ou plusieurs processeurs qui effectuent individuellement ou collectivement les opérations décrites ici. Dans certains modes de réalisation, les un ou plusieurs processeurs sont des composants d'un seul dispositif électronique, tel qu'un ordinateur de bureau. Dans certains modes de réalisation, les un ou plusieurs processeurs sont des composants de différents dispositifs électroniques situés localement ou à distance les uns des autres. Dans certains modes de réalisation, certains processus des processeurs sont attribués à certaines opérations (par exemple, réalisation d'une première séquence d'optimisations bayésiennes), tandis que d'autres processus des un ou plusieurs processeurs sont attribués à d'autres opérations (par exemple, réalisation d'une seconde séquence d'optimisations bayésiennes). Dans certains modes de réalisation, différentes opérations sont attribuées à différents processeurs pour équilibrer la charge de travail entre les processeurs. [0030] Des données associées aux simulations d'un réservoir, telles que, sans toutefois s'y limiter, des algorithmes de simulations du réservoir, des valeurs entrées par l'utilisateur (par exemple, des variables d'entrée, des paramètres internes, des paramètres externes, un nombre d'itérations pour exécuter des première et/ou seconde séquences d'optimisations bayésiennes, etc.), ainsi que des valeurs prédéterminées de variables et de paramètres décrits dans les présentes sont stockées au niveau d'un 11 premier emplacement 320 du support de stockage 306. Dans un ou plusieurs modes de réalisation, des données historiques de simulations de réservoir antérieures sont également stockées au niveau du premier emplacement 320 du support de stockage 306. Comme le montre la figure 3, des instructions pour obtenir une ou plusieurs variables d'entrée afin de générer une simulation de réservoir d'un réservoir sont stockées dans un deuxième emplacement 322. En outre, des instructions pour générer la simulation de réservoir sur la base des une ou plusieurs variables d'entrée sont stockées dans un troisième emplacement 324. De plus, des instructions pour déterminer une variance de temps de traitement pour traiter un ou plusieurs processus de la simulation de réservoir sont stockées au niveau d'un quatrième emplacement 326. Par ailleurs, des instructions pour effectuer une première séquence d'optimisations bayésiennes d'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes afin d'améliorer les performances de la simulation de réservoir sont stockées au niveau d'un cinquième emplacement 328. En outre, des instructions pour effectuer une seconde séquence d'optimisations bayésiennes d'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes afin d'améliorer les performances de la simulation de réservoir sont stockées au niveau d'un sixième emplacement 330. Des instructions supplémentaires qui sont exécutées par le processeur 310 sont stockées dans d'autres emplacements du support de stockage 306. [0031] Les modes de réalisation décrits ci-dessus ont été présentés à des fins d'illustration et pour permettre à l'homme du métier de mettre en pratique la description, mais la description ne se veut ni exhaustive ni limitée aux formes décrites. De nombreuses modifications et variations minimes seront évidentes pour l'homme du métier sans s'écarter de la portée et de l'esprit de l'invention. Par exemple, bien que les organigrammes décrivent un processus en série, certain(e)s des étapes/processus peuvent être exécuté(e)s en parallèle ou hors séquence, ou combiné(e)s en un(e) seul(e) étape/ processus. La portée des revendications est destinée à couvrir largement les modes de réalisation décrits et toute modification de ce type. De plus, les clauses suivantes représentent des modes de réalisation supplémentaires de l'invention et doivent être considérées dans le cadre de l'invention : [0032] Clause 1, un procédé pour améliorer de manière dynamique les performances d'une simulation de réservoir, le procédé comprenant : l'obtention d'une ou de plusieurs variables d'entrée pour générer une simulation de réservoir d'un réservoir, la simulation de réservoir comprenant une pluralité d'exécutions de simulation de réservoir, et la simulation de réservoir étant associée à au moins l'un d'un ou de plusieurs paramètres internes et d'un ou de plusieurs paramètres externes commandant les performances de la simulation de réservoir ; la génération de la simulation de 12 réservoir sur la base des une ou plusieurs variables d'entrée ; au cours de la simulation de réservoir, la détermination d'une variance de temps de calcul pour traiter un ou plusieurs processus de la simulation de réservoir ; en réponse à une détermination que la variance de temps de calcul est inférieure ou égale à un seuil, la réalisation d'une première séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes afin d'améliorer les performances de la simulation de réservoir ; et en réponse à au moins l'une de la détermination que la variance de temps de calcul est supérieure au seuil, la réalisation d'une seconde séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes afin d'améliorer les performances de la simulation de réservoir, dans lequel les un ou plusieurs paramètres internes sont les paramètres d'un ou de plusieurs algorithmes utilisés pour générer la simulation de réservoir, et dans lequel les un ou plusieurs paramètres externes sont les paramètres d'un ou de plusieurs composants matériels utilisés pour générer la simulation de réservoir. [0033] Clause 2, le procédé selon la clause 1, dans lequel la réalisation de la première séquence d'optimisations bayésiennes comprend : pendant chaque période d'un nombre seuil de périodes : la génération d'une ou de plusieurs exécutions de simulation de réservoir de la simulation de réservoir, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes la détermination d'une fonction objective de la simulation de réservoir sur la base de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et la réalisation d'une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de simulation de réservoir pendant une période suivante du nombre seuil de périodes sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. [0034] Clause 3, le procédé selon la clause 2, comprenant en outre la réception d'une valeur seuil indiquant le nombre seuil de périodes, dans lequel la valeur seuil est une valeur entrée par l'utilisateur. [0035] Clause 4, le procédé selon l'une quelconque des clauses 1 à 3, dans lequel la réa- lisation de la seconde séquence d'optimisations bayésiennes comprend : pour chaque itération d'un nombre seuil d'itérations : la génération d'une ou de plusieurs exécutions de simulation de réservoir de la simulation de réservoir pendant une période seuil, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par 13 les un ou plusieurs paramètres internes et les un ou plusieurs paramètres externes ; la détermination d'une fonction objective de la simulation de réservoir sur la hase de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et la réalisation d'une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de simulation de réservoir au cours d'une itération suivante du nombre seuil d'itérations sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. [0036] Clause 5, le procédé selon l'une quelconque des clauses 1 à 4, dans lequel l'amélioration des performances de la simulation de réservoir comprend la réduction du temps de calcul de la simulation de réservoir en dessous d'une période seuil de temps de calcul. [0037] Clause 6, le procédé selon l'une quelconque des clauses 1 à 5, dans lequel l'amélioration des performances de la simulation de réservoir comprend la réduction d'un coût de calcul de la simulation de réservoir à un nombre inférieur à un nombre seuil de processeurs qui effectuent la simulation de réservoir. [0038] Clause 7, le procédé selon l'une quelconque des clauses 1 à 6, dans lequel l'amélioration des performances de la simulation de réservoir comprend la réduction de l'utilisation d'énergie par un ou plusieurs processeurs qui effectuent la simulation de réservoir en dessous d'une quantité seuil de consommation d'énergie. [0039] Clause 8, le procédé selon l'une quelconque des clauses 1 à 7, dans lequel l'amélioration des performances de la simulation de réservoir comprend la réduction d'une variance de temps de calcul par différents processeurs d'un ou de plusieurs processeurs qui effectuent la simulation de réservoir en dessous d'un temps seuil. [0040] Clause 9, le procédé selon l'une quelconque des clauses 1 à 8, comprenant en outre, après la réalisation d'au moins l'une de la première séquence d'optimisations bayésiennes et de la seconde séquence d'optimisations bayésiennes, la fourniture de valeurs des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour affichage. [0041] Clause 10, le procédé selon l'une quelconque des clauses 1 à 9, comprenant en outre : l'obtention d'une ou de plusieurs variables de sortie de la simulation de réservoir ; l'obtention d'un temps de calcul de la simulation de réservoir ; et la fourniture de valeurs des une ou plusieurs variables de sortie et du temps de calcul pour affichage. [0042] Clause 11, le procédé selon l'une quelconque des clauses 1 à 10, dans lequel, en réponse à une détermination que la variance de temps de calcul est inférieure ou égale 14 au seuil, la réalisation de l'une de la première séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ou de la seconde séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. [0043] Clause 12, un système de simulation de réservoir, comprenant : un support de stockage pour stocker des données associées à des simulations d'un réservoir ; et un ou plusieurs processeurs pouvant fonctionner pour : obtenir une ou plusieurs variables d'entrée pour générer une simulation de réservoir d'un réservoir, la simulation de réservoir comprenant une pluralité d'exécutions de simulation de réservoir, et la simulation de réservoir étant associée à au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes commandant les performances de la simulation de réservoir ; générer la simulation de réservoir sur la hase des une ou plusieurs variables d'entrée ; au cours de la simulation de réservoir, déterminer une variance de temps de calcul pour traiter un ou plusieurs processus de la simulation de réservoir ; en réponse à une détermination que la variance de temps de calcul est inférieure ou égale à un seuil, effectuer une première séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes afin d'améliorer les performances de la simulation de réservoir ; et en réponse à au moins l'une de la détermination que la variance de temps de calcul est supérieure au seuil, effectuer une seconde séquence d'optimisations bayésiennes de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour améliorer les performances de la simulation de réservoir, dans lequel les un ou plusieurs paramètres internes sont les paramètres d'un ou de plusieurs algorithmes utilisés pour générer la simulation de réservoir, et dans lequel les un ou plusieurs paramètres externes sont les paramètres d'un ou de plusieurs composants matériels utilisés pour générer la simulation de réservoir. [0044] Clause 13, le système de simulation de réservoir selon la clause 12, dans lequel, en réponse à une détermination que la variance de temps de calcul est supérieure au seuil, les un ou plusieurs processeurs peuvent fonctionner pour : pour chaque itération d'un nombre seuil d'itérations : générer une ou plusieurs exécutions de simulation de réservoir de la simulation de réservoir pendant une période seuil, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par les un ou plusieurs paramètres internes et les un ou plusieurs paramètres externes ; déterminer une fonction objective de la simulation de réservoir sur la base de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et effectuer une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de simulation de réservoir au cours d'une itération suivante du nombre seuil d'itérations sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et dcs un ou plusieurs paramètres externes. [0045] Clause 14, le système de simulation de réservoir selon les clauses 12 ou 13, dans lequel, en réponse à une détermination que la variance de temps de calcul est inférieure ou égale au seuil, les un ou plusieurs processeurs peuvent fonctionner pour : pendant chaque période d'un nombre seuil de périodes : générer une ou plusieurs exécutions de simulation de réservoir de la simulation de réservoir, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; déterminer une fonction objective de la simulation de réservoir sur la base de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et effectuer une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de simulation de réservoir pendant une période suivante du nombre seuil de périodes sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et dcs un ou plusieurs paramètres externes. [0046] Clause 15, le système de simulation de réservoir selon l'une quelconque des clauses 12 à 14, dans lequel les un ou plusieurs processeurs peuvent fonctionner pour réduire le temps de calcul de la simulation de réservoir en dessous d'une période seuil de temps de calcul afin d'améliorer les performances de la simulation de réservoir. [0047] Clause 16, le système de simulation de réservoir selon l'une quelconque des clauses 12 à 15, dans lequel les un ou plusieurs processeurs peuvent fonctionner pour réduire un coût de calcul de la simulation de réservoir à un nombre inférieur à un nombre seuil de processus pour améliorer les performances de la simulation de réservoir. [0048] Clause 17, le système de simulation de réservoir selon l'une quelconque des clauses 12 à 16, dans lequel les un ou plusieurs processeurs peuvent fonctionner pour réduire l'utilisation d'énergie par un ou plusieurs processeurs qui effectuent la simulation de réservoir en dessous d'une quantité seuil de consommation d'énergie afin d'améliorer les performances de la simulation de réservoir. [0049] Clause 18, le système de simulation de réservoir selon l'une quelconque des clauses 12 à 17, dans lequel les un ou plusieurs processeurs peuvent fonctionner pour réduire une variance d'un certain nombre de calculs effectués par différents processeurs d'un ou de plusieurs processeurs qui effectuent la simulation de réservoir en dessous d'un 16 nombre seuil de calculs pour améliorer les performances de la simulation de réservoir. [0050] Clause 19, un support lisible par une machine comprenant des instructions stockées dans celui-ci, qui, lorsqu'elles sont exécutées par un ou plusieurs processeurs, amènent les un ou plusieurs processeurs à effectuer des opérations comprenant : l'obtention d'une ou de plusieurs variables d'entrée pour générer une simulation de réservoir d'un réservoir, la simulation de réservoir comprenant une pluralité d'exécutions de simulation de réservoir, et la simulation de réservoir étant associée à au moins l'un d'un ou de plusieurs paramètres internes et d'un ou de plusieurs paramètres externes commandant les performances de la simulation de réservoir ; la génération de la simulation de réservoir sur la hase des une ou plusieurs variables d'entrée ; au cours de la simulation de réservoir, la détermination d'une variance de temps de calcul pour traiter un ou plusieurs processus de la simulation de réservoir ; en réponse à une détermination que la variance de temps de calcul est inférieure ou égale à un seuil, pendant chaque période d'un nombre seuil de périodes : la génération d'une ou de plusieurs exécutions de simulation de réservoir de la simulation de réservoir, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par l'au moins l'un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; la détermination d'une fonction objective de la simulation de réservoir sur la hase de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et la réalisation d'une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de simulation de réservoir pendant une période suivante du nombre seuil de périodes sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, et en réponse à une détermination que la variance de temps de calcul est supérieure au seuil, pendant chaque période d'un nombre seuil de périodes : pour chaque itération d'un nombre seuil d'itérations : la génération d'une ou de plusieurs exécutions de simulation de réservoir de la simulation de réservoir pendant une période seuil, dans lequel les une ou plusieurs exécutions de simulation de réservoir sont commandées par les un ou plusieurs paramètres internes et les un ou plusieurs paramètres externes ; la détermination d'une fonction objective de la simulation de réservoir sur la base de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes ; et la réalisation d'une optimisation bayésienne de l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes pour obtenir de nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes, dans lequel une ou plusieurs exécutions de si- 17 mulation de réservoir au cours d'une itération suivante du nombre seuil d'itérations sont commandées par les nouvelles valeurs pour l'au moins un des un ou plusieurs paramètres internes et des un ou plusieurs paramètres externes. [0051] Clause 20, le support lisible par machine selon la clause 19, dans lequel les ins- tructions qui, lorsqu'elles sont exécutées par un ou plusieurs processeurs, amènent les un ou plusieurs processeurs à effectuer des opérations comprenant : l'obtention d'une ou de plusieurs variables de sortie de la simulation de réservoir ; l'obtention d'un temps de calcul de la simulation de réservoir ; et la fourniture de valeurs des une ou plusieurs variables de sortie et du temps de calcul pour affichage. [0052] Telles qu'utilisées ici, les formes singulières « un », « une » et « le » ou « la » sont destinées à inclure également les formes plurielles, à moins que le contexte n'indique clairement le contraire. On comprendra en outre que les termes « comprennent » et/ou « comprenant », lorsqu'ils sont utilisés dans cette description et/ou dans les revendications, spécifient la présence de caractéristiques, d'étapes, d'opérations, d'éléments et/ou de composants présentés, mais n'excluent pas la présence ou l'ajout d'une ou de plusieurs autres caractéristiques, étapes, opérations, éléments, composants et/ou groupes de ceux-ci. De plus, les étapes et les composants décrits dans les modes de réalisation et les figures ci-dessus sont simplement illustratifs et n'impliquent pas qu'une étape ou qu'un composant particulier quelconque soit une exigence d'un mode de réalisation revendiqué. 18 [Revendication I] [Revendication 2]