Visualiser les détails du résultat
Identifiant | Projet | Catégorie | Visibilité | Date de soumission | Dernière mise à jour |
---|---|---|---|---|---|
0001166 | SIC | Fortran Régulation | public | 2015-06-16 16:53 | 2015-06-16 20:38 |
Rapporteur | dorch | Assigné à | dorch | ||
Priorité | urgente | Impact | critique | Reproductibilité | toujours |
Statut | fermé | Résolution | corrigé | ||
Version du produit | 5.35e | ||||
Version ciblée | 5.35f | Résolu dans la version | 5.35f | ||
Résumé | 0001166: Non prise en compte des commandes U pendant le pas réduit | ||||
Description | En Saint-Venant non linéaire, si la calcul ne converge pas, le pas de temps est réduit. Pour redémarrer le calcul avec un pas de temps réduit, on réinitialise les données hydrauliques à partir de celles du pas de temps précédent. Pendant cette opération, les commandes des régulateurs sont perdues. Il existe déjà un mécanisme lançant les régulateurs en boucle ouverte pendant le pas réduit mais les régulateurs en boucle fermée ne sont pas exécutés. | ||||
Balises | Aucune balise n'est associée. | ||||
Temps projeté (jours) | |||||
|
Actuellement le mécanisme de lancement des régulateurs en BO est gérée dans RegSupervision qui met à jour la variable Reg%bCalc de chaque régulateur qui va déterminer si le régulateur est pris en compte ou pas dans le calcul et l'application de la commande. Ce n'est pas la bonne façon de faire car : - Au départ la variable Reg%bCalc est conçue pour la supervision faite par l'utilisateur, sa valeur ne devrait pas dépendre des conditions de calcul - Pour le petit pas, il ne faut pas recalculer la commande mais il faut ré-appliquer la commande calculée précédemment Ensuite actuellement RegSupervision traite indifféremment de la même façon le premier pas de temps et le pas réduit, deux cas où il n'est pas possible de faire de la BF : - Pour le premier pas de temps en permanent ou transitoire, il ne faut ni calculer, ni appliquer les BF - Pour le pas de temps réduit, il ne faut pas calculer mais il faut appliquer la commande calculée précédemment. |
|
Autre subtilité pour le premier pas de temps, les BO sont appliquées au premier pas de temps uniquement dans le cas de FLUVIA. Pour SIRENE, ce sont les conditions initiales qui déterminent les conditions aux limites même si elles sont contrôlées par un régulateur en BO. |
|
Je retire ce que j'ai dit sur : - Reg%bCalc c'est bien indicateur de calculateur pour le pas de temps, C'est Reg%bActif qui est le déterminant pour la supervision du régulateur par l'utilisateur. - Au premier pas de temps, dans SIRENE, on applique au minimum le régulateur "LOI", peut-être devrait-on appliquer les autres régulateurs en BO aussi (Cas où on lancer un permanent et un transitoire avec un régulateur en BO, au premier pas de temps de SIRENE, il faut pouvoir reconstituer les conditions aux limites imposées par la BO et on ne les a pas dans les conditions initiales hormis pour les conditions limites internes dans les ouvrages. |
|
Concernant les régulateurs BO autre que "LOI" au premier pas de temps de SIRENE, dans le code on a ce commentaire intéressant :! On ne lance pas les régulateurs BO au premier pas de temps de SIRENE ! Afin que ceux-ci soient synchrones avec les régulateurs non BO ayant le même DTU Au final, la structure actuelle répond assez bien à tous les cas d'utilisation hormis la ré-application des commandes des BF avec le pas de temps réduit. Etant donné que la variable Reg%bCalc ne sert qu'à régler les problèmes calculatoires des régulateurs BO-BF au premier pas de temps et au temp réduit, je vais rajouter un test dans RegManager pour ne pas passer l'application des commandes avec Reg%bCalc==.FALSE. dans le cas où on est en pas de temps réduit. |
|
Dans RegManager, j'ai bien distingué le cas avec et sans pas réduit et j'ai ajouté une variable dans les régulateurs stockés dans RegManager pour pouvoir gérer le fait qu'on était bien sur un DTU (nbrOkU=0) au précédent appel du régulateur BF afin de répéter l'application de la commande précédemment calculée. |
Date de modification | Nom d’utilisateur | Champ | Changement |
---|---|---|---|
2015-06-16 16:53 | dorch | Nouveau bogue | |
2015-06-16 16:53 | dorch | Statut | nouveau => affecté |
2015-06-16 16:53 | dorch | Assigné à | => dorch |
2015-06-16 17:00 | dorch | Note ajoutée: 0001208 | |
2015-06-16 17:02 | dorch | Note ajoutée: 0001209 | |
2015-06-16 17:27 | dorch | Note ajoutée: 0001210 | |
2015-06-16 17:34 | dorch | Note ajoutée: 0001211 | |
2015-06-16 20:38 | dorch | Note ajoutée: 0001213 | |
2015-06-16 20:38 | dorch | Statut | affecté => fermé |
2015-06-16 20:38 | dorch | Résolution | ouvert => corrigé |
2015-06-16 20:38 | dorch | Résolu dans la version | => 5.35f |