Le logiciel Solstice

Introduction

Le LOGICIEL SOLSTICE est un exécutable produisant des cartes de flux (et d'autres données en ASCII) à partir de fichiers d'entrée (.yaml) définissant la géométrie (par exemple, surfaces paramétriques réfléchissantes, réfringentes ou conception assistée par ordinateur, CAO, géométrie au format STL).

Sa capacité de calcul rapide (bibliothèque Intel Embree et parallélisation) permet aux chercheurs et ingénieurs de concevoir des systèmes de concentration solaire.

L'insertion de géométries CAO pour les composants critiques dans les simulations SOLSTICE permet d'effectuer des couplages de contraintes thermomécaniques et de dynamique des fluides computationnelle (CFD) sur des géométries représentatives.

Les principaux objectifs du LOGICIEL SOLSTICE sont de prédire les distributions des flux solaires concentrés dans les installations solaires:

  • Pour simuler tous types d'optiques à concentration (matériaux réfléchissants ou réfractaires).

  • Concevoir et étudier des réflecteurs et des récepteurs en:

    • Calcul de l'efficacité optique de n'importe quel réflecteur ou groupe de réflecteurs

    • Calcul de la carte de flux sur toutes les surfaces (réfléchissantes, absorbantes, réfringentes ou virtuelles)

      • pour l'optimisation de la géométrie du récepteur (géométrie CAO) en combinant l'analyse thermique et CFD

      • pour les études de contraintes thermomécaniques

  • Pour optimiser la stratégie de visée dans les installations de tours solaires.

  • Caractériser les erreurs d'inclinaison de l'héliostat

  • Pour calculer les modificateurs d'angle d'incidence à partir de n'importe quel système de concentration linéaire.

↠ Commissaires et promoteurs

Les capacités du LOGICIEL SOLSTICE ont été conçues à partir des besoins du laboratoire de recherche PROMES-CNRS.

Meso-Star SAS a été choisi comme développeur du LOGICIEL SOLSTICE.

Le LOGICIEL SOLSTICE a été financé par le programme français "Investissements d'Avenir" géré par l'Agence Nationale de la Recherche sous contrat ANR-10-LABX-22-01-SOLSTICE (LABEX SOLSTICE).

Aperçu

Le LOGICIEL SOLSTICE est un programme de licence Open Source et GPL GNU gratuit.

Il fonctionne sur les systèmes d'exploitation Windows et GNU/Linux (des fichiers de téléchargement dédiés sont disponibles).

Le "solstice" exécutable est un outil de ligne de commande qui nécessite de définir quelques options et fichiers d'entrée pour produire des fichiers de sortie. Cette ligne de commande peut être utilisée seule dans un Terminal/Command Prompt ou à l'intérieur de n'importe quel programme en utilisant une commande système permettant de lancer l'exécutable « solstice ». Par exemple, un programme conçu pour optimiser un champ d'héliostat modifierait l'emplacement de chaque héliostat, exécuterait "solstice", post-traiterait la sortie et itérerait à nouveau avec de nouveaux emplacements d'héliostat.

Pour obtenir un calcul de ray-tracing de pointe, et disposer d'un logiciel entièrement Open Source, l'algorithme a utilisé des résultats de recherche (articles scientifiques des laboratoires PROMES, LAPLACE, RAPSODEE [1-3]), et l'Embreelibrary d'INTEL a été utilisé. De plus, le LOGICIEL SOLSTICE est entièrement parallélisable dans une architecture à mémoire partagée.

Les fichiers INPUT sont nécessaires pour décrire la scène utile au calcul des cartes de flux et contiennent toutes les propriétés des matériaux et la géométrie de surface (y compris les chemins pour la géométrie STL) écrites grâce à un langage dédié (voir documentation) au format YAML. Ces fichiers d'entrée peuvent être écrits et modifiés manuellement, mais ils peuvent être produits par n'importe quel programme : par exemple, lorsque de gros fichiers d'entrée doivent être créés en fonction de la taille des données, un programme (C, Python, Matlab, Scilab, Fortran, Java, etc. ) est utile pour imprimer le fichier d'entrée ascii en YAML.

Les fichiers OUTPUT sont générés en fonction des options définies avec la commande "solstice" et incluent les cartes de flux, les chemins de rayons et la géométrie qui pourraient être visualisés dans Paraview (Open Source et logiciel libre).

[1] J. Delatorre, G. Baud, J.J. Bézian, S. Blanco, C. Caliot, J.F. Cornet, C. Coustet, J. Dauchet, M. El Hafi, V. Eymet, R. Fournier, J. Gautrais, O. Gourmel, D. Joseph, N. Meilhac, A. Pajot, M. Paulin, P. Perez , B. Piaud, M. Roger, J. Rolland, F. Veynandt, S. Weitz, Monte Carlo avances et applications solaires concentrées, Énergie Solaire, 103, 2014, p. 653-681,https://doi.org/10.1016/j.solener.2013.02.035.

[2] B. Piaud , C. Coustet , C. Caliot , E. Guillot , G. Flamant, Application de l'estimation des sensibilités Monte-Carlo dans Solfast-4D, Conférence SolarPaces 2012, Marrakech, Maroc, 2012, p 1-9.

[3] J P Roccia, B Piaud, C Coustet, C Caliot, E Guillot, G Flamant, J Delatorre, SOLFAST, un logiciel de Ray-Tracing Monte-Carlo pour les installations de concentration solaire. Journal of Physics : Série de conférences, 369, 012029, 2012. http://stacks.iop.org/1742-6596/369/i=1/a=012029

[4] C. Caliot, H. Benoit, E. Guillot, J.-L. Sans, A. Ferrière, G. Flamant, C. Coustet, B. Piaud. Validation d'une formulation intégrale de Monte Carlo appliquée aux simulations d'installations solaires et utilisation des sensibilités. COMME MOI. Journal d'ingénierie de l'énergie solaire 2015 ; 137(2): 021019-021019-8. doi : 10.1115/1.4029692.

Installation

⚠  Notez que vous n'avez pas besoin d'installer un exécutable, téléchargez et enregistrez uniquement les fichiers zip.

  • Extrayez les fichiers de Solstice-X.X-Win64.zip avec n'importe quel logiciel d'archivage (X.X est le numéro de version). Recherchez ensuite le dossier "bin" et ouvrez-le. Copiez l'adresse de ce répertoire et ajoutez-la à la variable d'environnement Path de votre ordinateur:

 

Vue de la fenêtre de l'étape "ajouter au chemin"

 

Pour vérifier si la commande solstice est ajoutée au chemin et peut être appelée depuis n'importe quel répertoire, ouvrez une nouvelle invite de commande, entrez la commande " solstice -h" et vérifiez que le résultat suivant est obtenu:

 

Fenêtre d'aide du solstice dans l'invite VS

 

Ensuite, des outils gratuits supplémentaires sont nécessaires pour visualiser les sorties SOLSTICE et compiler les fichiers C:

⚠  Attention à bien télécharger tous les modules pour compiler les programmes C.

  • Exécutez "developer prompt" de Visual Studio "en tant qu'administrateur".

Pour vérifier si le compilateur C est OK, entrez la commande « cl » dans l'invite du développeur:

 

commande pour vérifier la bonne installation du compilateur C dans VS

 

⚠  Si c'est différent, veuillez vérifier l'installation du compilateur C et C++ de Visual Studio.

Première exécution du logiciel Solstice

Affichage de l'invite du développeur lorsque vous exécutez le fichier .batExécutez Solstice pour créer des fichiers de résultats

  • Télécharchez les fichiers (.yaml) et enregistrez-les dans un répertoire. Décompressez les fichiers dans un répertoire nommé "MICROSOLR". Téléchargez les fichiers pour le post-traitement de Solstice: https://www.meso-star.com/projects/solstice-resources.html. Ajoutez une page de ressources en téléchargeant l'archive tar Sources dans la section Post-Processus. Extrayez tous les fichiers et enregistrez-les dans le même répertoire que les fichiers .yaml précédents (solmaps.c, solpp.c, solpp.h, solpaths.c , solppraw.c, Makefile est pour le système d'exploitation Linux).

  • Ouvrez le fichier READ_ME.txt. Copiez-le et enregistrez-le sous 'run.bat' dans le répertoire MICROSOLR, ce sera la liste des commandes pour obtenir tous les résultats de ce tutoriel.

  • Ouvrez votre compilateur C VS2017 (Exécuter en tant qu'administrateur) invite de commande développeur pour VS 2017.

  • Changez de répertoire (commande "cd path_to_MICROSOLR") vers le répertoire MICROSOLR où se trouvent les fichiers .bat, .yaml et de post-traitement (*.c).

  • Entrez "run" dans l'invite de commande du développeur pour VS 2017 et appuyez sur Entrée.

  • Les résultats suivants doivent être affichés :

     

Affichage de l'invite du développeur lorsque vous exécutez le fichier .bat

 

  • Veuillez vérifier que 7 fichiers ont été créés : 270-40-miscellaneaous.obj, 270-40-primaries.vtk, 270-40-receivers.vtk, 270-40-raw-results, solpp.obj, solppraw.obj, solpaths. obj.

 𓇻  Visualisation des résultats à l'aide de ParaView

  • Exécuter ParaView
  • Ouvrez les fichiers .vtk (270-40-primaries.vtk , 270-40-receivers.vtk) et miscellaneous.obj que Solstice a créés ("Fichier/Ouvrir/…")

 

Visualisation ParaView des résultats

 

  • Cliquez sur Apply dans le panneau Propriétés

  • Pour voir l'absorbeur, sélectionnez "miscellaneous.obj" et réduisez l'opacité. Il est également possible de sélectionner le récepteur et de changer le type de visualisation (coloration, changer de "couleur unie" et sélectionner la visualisation souhaitée).

 

Visualisation du « FRONT_ABSORBED_map » sur le récepteur

Étude d'un système de miroir de Fresnel pour CSP avec le logiciel Solstice

↠ Système et géométrie de Fresnel

Les paramètres du système de Fresnel et la géométrie sont obtenus à partir de l'article suivant : G. Zhu, New adaptive method tooptimize the Secondary reflector of linear Fresnel collectors, Solar Energy, 144, p117-126, 2017. https://doi.org/10.1016/j.solener.2017.01.005

Cet article a été choisi car les miroirs de Fresnel sont plats avec une faible largeur. Tous les paramètres utilisés sont inclus dans le tableau 1 de l'article. Cependant, dans la configuration proposée, nous définissons arbitrairement un concentrateur secondaire qui n'est pas optimisé et qui n'est pas celui décrit dans l'article de G. Zhu. Le but était seulement de montrer un moyen d'inclure un concentrateur secondaire dans le logiciel Solstice.

Un fichier zip contenant tous les fichiers nécessaires pour obtenir les résultats ci-dessous doit être téléchargé ici.

↠ Caractéristiques de cet exemple

Par rapport au système de cuve parabolique (MICROSOLR) donné en exemple dans le tutoriel “Première exécution du logiciel Solstice”, plusieurs nouveautés font leur apparition :

  • Les fichiers .yaml sont générés à l'aide d'un programme C. Il est important de noter que n'importe quel langage de programmation peut être utilisé, nous choisissons C car le post-traitement de Solstice est en C. De plus, un programme est pratique pour écrire les fichiers yaml car générer de nombreuses entités à la main est laborieux. Il permet également à l'utilisateur de modifier facilement les paramètres de l'installation (nombre de modules, de lignes, etc.).

  • Le modèle utilise des grandeurs spectrales (DNI et réflectivité miroir).

  • Les extrémités de l'enveloppe de verre cylindrique entourant le tube absorbeur ont été modifiées. Étant donné que la géométrie du cylindre comprend un disque aux deux extrémités, lorsque les interfaces cylindriques intérieure et extérieure sont définies, le cylindre intérieur doit avoir une longueur plus petite. Dans le cas contraire, les disques aux extrémités des cylindres intérieur et extérieur se superposeraient et Solstice ne serait pas en mesure d'identifier correctement l'interface : un message d'erreur ("inconsistent medium description") s'afficherait à l'exécution.

  • Aux extrémités de ces cylindres, des amortisseurs sont insérés pour inclure un composant d'étanchéité des tubes absorbeurs.

 

Schéma du registre (les dimensions sont en mètres) importé sous forme de fichier .stl dans le logiciel Solstice

↠Étapes pour exécuter l'exemple de Fresnel

Une fois la base “Installation” du Solstice et le premier tutoriel “Première exécution du logiciel Solstice” sont terminés avec succès, vous êtes prêt à exécuter cet exemple.

  1. Téléchargez les fichiers contenant le programme C, la géométrie STL et les fichiers de post-traitement.
  2. Décompressez ces fichiers dans un répertoire appelé "FRESNEL_SYSTEM".
  3. Modifiez et enregistrez le fichier READ_ME dans « run.bat ».
  4. Ouvrez une fenêtre VS (en tant qu'administrateur), changez de répertoire en "FRESNEL_SYSTEM" et tapez "run.bat" puis appuyez sur Entrée.

↠ Visualisation sur ParaView

  • Exécutez Paraview ; Ouvrez tous les fichiers .vtk et miscellaneous.obj que le solstice a générés dans le répertoire de travail.
  • Cliquez sur Appliquer. Les résultats suivants doivent être affichés :

 

 

  • Pour voir l'absorbeur, sélectionnez le "miscellaneous.obj" et réduisez l'opacité. Il est également possible de sélectionner le récepteur et de changer la quantité à visualiser (coloration, changer de « couleur unie » et sélectionner la variable souhaitée).

 

Étude du champ d'héliostat dans la technologie CSP des tours solaires avec le logiciel Solstice

↠ Champ d'héliostat autour d'une tour solaire

Dans cet exemple d'utilisation du logiciel Solstice en CSP (Concentrated Solar Power), la technologie des tours solaires est abordée et la simulation des champs d'héliostats plus spécifiquement. Un fichier zip contenant tous les fichiers nécessaires pour obtenir les résultats ci-dessous doit être téléchargé ici.

Pour créer les champs d'héliostats, différents algorithmes ont été utilisés:

  • L'algorithme MUEEN a été implémenté sur la base de l'article de Siala et Elayeb (2001) [1].

  • La disposition en spirale de la phyllotaxie a été obtenue en suivant l'expression utilisée dans Noone et al. (2012).

  • Pour la disposition radiale décalée et la disposition des champs de maïs des positions de l'héliostat, des routines internes ont été utilisées.

⚠  Il est à noter que les codes sont livrés "AS IS" et qu'aucune garantie ne s'applique quant à leurs utilisations ou performances. Tous ces algorithmes sont donnés dans le langage Matlab qui est un logiciel commercial. Mais pour les exécuter et produire le fichier des positions de l'héliostat, le logiciel gratuit OCTAVE peut être utilisé. Ce logiciel doit être installé (si vous n'avez pas le logiciel Matlab) pour lire et exécuter les fichiers ".m". Quoi qu'il en soit, les fichiers contenant les positions des héliostats sont donnés pour une configuration spécifique d'environ 400 héliostats.

[1] F. M. F. Siala et M. E. Elayeb, Formulation mathématique d'une méthode graphique pour une disposition de champ d'héliostat sans blocage, Renewable Energy, 23, 2001, p. 77-92.

[2] C. J. Noone, M. Torrilhon, A. Mitsos, Optimisation du champ Heliostat : Un nouveau modèle de calcul efficace et une mise en page biomimétique, Solar Energy, vol. 86, 2012, p. 792-803.

↠ Fichiers Matlab générant les champs Heliostat

Un programme principal de Matlab appelle quatre fonctions pour produire quatre champs d'héliostat:

  • Le programme matlab principal est nommé "heliostat_field_creation.m".
  • La fonction « mueen_fun.m » écrit le fichier « MUEEN_Hgrid.dat » contenant les coordonnées X, Y, Z du centre de l'héliostat.
  • La fonction « radial_staggered_fun.m » écrit le fichier « RADSTAG_Hgrid.dat ».
  • La fonction "corn_field_fun.m" écrit le fichier "CORN_Hgrid.dat".
  • La fonction « phyllotaxis_fun.m » écrit le fichier « BIOMIM_Hgrid.dat ».

Des champs d'héliostat polaire ou annulaire peuvent être créés en fonction du paramètre PSImax. Les images suivantes sont affichées pour un champ d'environ 400 héliostats:

 

Tracés des champs d'héliostat obtenus avec différents algorithmes : 1) MUEEN ; 2) Radial staggered ; 3) Phyllotaxis ; 4) Corn

 

↠ Fichiers C pour produire le input yaml et le receiver yaml
Les deux fichiers .yaml utilisés par solstice sont créés par un programme C qui aide à créer de nombreux modèles et entités d'héliostats en fonction de leurs caractéristiques et de leurs positions. Le récepteur a été choisi cylindrique pour les champs circulaires et quatre points de visée ont été attribués à quatre groupes d'héliostats. La focale de chaque héliostat a été calculée à partir de sa position (x, y, z) lue dans le fichier de données et un point de visée (figure ci-dessous) a été attribué à chaque héliostat en fonction du quadrant auquel il appartient.

 

Points de visée pour chaque groupe d'héliostats appartenant à un quadrant

 

Pour modifier la forme d'un champ, dans le programme principal de Matlab (heliostat_field_creation.m), PSImax (Pi correspond à un champ circulaire), Rmax et Rmin peuvent être modifiés.

Au début du programme C, il y a une section intitulée "Extraire et enregistrer les données de position des héliostats", où le fichier de données est ouvert et utilisé. Pour modifier le nom du fichier de données d'entrée, il faut changer deux fois le nom des fichiers (variables "file" et "fichier"):

Après avoir exécuté le programme principal Matlab et Solstice (en utilisant le fichier READ_ME converti en run.bat), les fichiers .vtk, .txt et .obj doivent avoir été créés.

↠ Visualisation sur ParaView

  • Exécutez Paraview. Fichier/ouvrir/… . Ouvrez tous les fichiers .vtk et miscellaneous.obj que le solstice a générés dans le répertoire de travail.
  • Les résultats obtenus dépendent du domaine utilisé.

⚠  Les résultats suivants sont obtenus en utilisant tous les algorithmes, en changeant la coloration du récepteur de couleur unie à FRONT_INCOMING_MAP et les primaires de couleur unie à cos_factor.

 

Radial staggered

 

MUEEN

 

Phyllotaxis

 

Corn field