IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Simulink Discussion :

[simscape] modélisation d'une chaudière


Sujet :

Simulink

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut [simscape] modélisation d'une chaudière
    Bonjour,

    je travaille actuellement sur la modélisation d'un système de cogénération thermique sous Simscape.
    Je voudrais créer chaque objet composant le système ( par exemple la chaudière, un échangeur, un ballon tampon,...)
    j'ai actuellement modélisé la chaudière. je pense qu'elle devrait fonctionner et elle se compile bien.
    mais au moment de l'intégrer dans un système simple, j'ai une erreur qui me dit:

     Initial condition solve failed. Equations are not consistent.
    Equations of one or more components may be dependent or inconsistent. This can cause problems in transient initialization. Here is the set of components involved:'essaichaudiere/chaudi' 
    mon but par ce système est juste de vérifier si mon objet fonctionne.
    voici mon code pour la chaudière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    component chaudiaveccreationflux
    % chaudi
    % Ce bloc modélise le fonctionnement d'une chaudière. 
     
    inputs
        S = { 0, '1' };   % S:left
    end
     
    nodes
        A = foundation.thermal.thermal; % A:left
        B = foundation.thermal.thermal; % B:right
    end
     
    variables
        Pp = { 0, 'W' }; % puissance produite   
        T = { 0, 'K' }; % température
        Q = { 0, 'J/s' }; % flux thermique
    end
     
    parameters
        q = { 10, 'm^3/s' }; % Débit d'eau
        Cp = { 4.1868, 'J/kg/K' }; % Cp eau
        rho = { 1000, 'kg/m^3' }; % rho eau
        Pnp = {10000, 'W' }; % Puissance nominale de la chaudiere
        T0 = {333, 'K' }; % consigne de T° de départ
    end
     
    function setup
        if q < 0
        error ('débit d eau doit etre plus grand que 0')
        end
        if Cp < 0
        error ('Cp eau doit etre plus grand que 0')
        end
        if rho < 0
        error ('rho eau doit etre plus grand que 0')
        end
        if Pnp < 0
        error ('puissance nominale chaudiere doit etre plus grande que 0')
        end
     
        through( Q, B.Q, A.Q );
        across( T, A.T, B.T );
     
        A.T = T0;
    end
     
    equations
        Pp==Pnp*S;
        B.T==A.T+Pp/(Cp*q*rho);
    end
    end
    Le système modélisé est joint.

    J'utilise matlab version 7.11 R2010b

    Je débute dans l'utilisation de ce logiciel mais je ne parviens pas à trouver mon erreur.
    Je pense avoir été complet dite moi si il manque quelque chose.

    Merci d'avance pour l'aide que vous pourrez m'apporter.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bonjour,

    Je suis loin d'être un expert en thermique mais es-tu sûr que cette équation
    B.T==A.T+Pp/(Cp*q*rho);
    est consistante au niveau des unités?

    D'après ton code (ce que j'ai compris), il me semble qu'en terme d'unités çà donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    K = K + W / (J/kg/K*m^3/s*kg/m^3)
    Ce qui après simplification revient à:
    Ne pourrait-il pas être la source de l'erreur?

    Duf
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    bonjour Duf,

    merci pour ta réponse.

    mais en thermique, les unités d'un Cp sont les J/(kg*K) et l'unité que matlab me propose ( J/kg/K ) correspond bien à ce Cp. On peut constater que les 2 sont les même. Si on tape 6/2/3 sur matlab et on obtient bien 1 (6/(2*3)).

    pour l'analyse dimensionnelle, on a (voir le fichier pdf joint qui est beaucoup plus lisible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     K=K+ (J/s)/(J/(kg*K)*m^3/s*kg/m^3 )
     
     K=K+ 1/(1/K)
     
     K=K+K
    dis moi si je me trompe.
    merci quand même.
    Images attachées Images attachées

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Au temps pour moi, j'ai dû me tromper dans la simplification...

    As-tu essayé d'écrire l'équation en une seule ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    B.T==A.T+(Pnp*S)/(Cp*q*rho);
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Je viens de l'essayer ( en supprimant également Pp des variables vu qu'il n'apparait plus) mais toujours la même erreur.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    petit up

    je tente des autres montages, mais c'est toujours le même style de message d'erreur qui revient.

  7. #7
    Membre éclairé
    Homme Profil pro
    Doctorant automatique
    Inscrit en
    Janvier 2012
    Messages
    446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Doctorant automatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 446
    Points : 719
    Points
    719
    Par défaut
    Salut,

    Je ne connais pas du tout Simscape, donc je ne peux pas te donner de réponse... cependant, si la mentalité de ceux qui l'ont codé est la même que ceux qui ont fait Simulink, je peux peut-être te donner une piste :

    Dans simulink, parmis les choses à la con, que tu pourrais trouver (voire retrouver dans Simscape) :
    - définition des variables en int/double
    - synchronisation (rajouter des blocs d'attente) pour que simulink sache réellement où il est en dans la simulation et quoi calculer en premier avant de calculer la suite
    - dans les options, tu peux avoir des outils de débogage qu'il faut prendre le courage d'explorer, quitte à copier ton projet dans un nouveau dossier et faire ton trifouillage dans les options sereinement

    Bon courage.

    Cordialement,
    Je ne réponds pas aux MP techniques. Le forum est là pour ça.
    La raison est simple : il est ennuyeux de répondre à une seule personne, alors que la réponse peut servir à tout le monde.
    Conclusion : n'hésitez pas à utiliser le forum pour poser vos questions.
    Matlab 2005 - ver.7.1.0.183 (R14) Service Pack 3

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    afin de ne pas rester bloqué sur ce genre de problème indéfiniment, je vais formuler ma demande autrement.
    Je cherche une personne à proximité (+- 50 km) de Mons et ayant de bonnes bases en simulation Simscape afin de m'apprendre à simuler correctement un modèle hydraulique-thermique. Rémunération à convenir.

  9. #9
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Il y a des formations chez Mathworks à propos de Simscape: http://www.mathworks.com/training-schedule/

    Une session est prévue le 23 novembre prochain.
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    merci pour l'info,

    mais je préfèrerais quelque chose de plus personnalisé et plus interactif afin de vraiment se pencher sur le cas qui m’intéresse vraiment

Discussions similaires

  1. Quels logiciels de modélisation pour une base de données ?
    Par octopus dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 11/06/2023, 16h20
  2. Réponses: 1
    Dernier message: 05/02/2014, 08h35
  3. [Modélisation]Passer une commande
    Par soad029 dans le forum Schéma
    Réponses: 4
    Dernier message: 15/11/2006, 21h45
  4. [Dbdesigner4] modélisation d'une base Oracle
    Par magic charly dans le forum Oracle
    Réponses: 3
    Dernier message: 10/02/2006, 16h34
  5. modélisation d'une base : table trop grande
    Par Shabata dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/11/2004, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo