seviprince / dromotherm

Code Python
MIT License
0 stars 1 forks source link

intégration des éléments de bilan énergétique dans le graphe #5

Closed alexandrecuer closed 4 years ago

alexandrecuer commented 4 years ago

le graphe de synthèse est bien chargé mais il serait intéressant d'y associer les éléments de bilan énergétiques

pour l'instant, ces éléments s'affichent seulement en ligne de commande, ce qui est peu pratique :

"""
BILAN ENERGETIQUE
"""
Surface_dro=larcha*lincha
# d et f : index de début et de fin sur lesquels on va réaliser le bilan
# dr et fr : index de début et de fin de la récupération/collecte énergétique
d = i_summerStart
f = simEnd
dr = i_summerStart
fr = i_summerEnd
Pdro=mdro*cpdro*(Tsor_dro[d:f]-Tinj_dro[d:f])/Surface_dro # en W/m^2
# toutes valeurs en kWh/m^2
Edro=(np.sum(Pdro))*step/(3600*1000)
Esolaire=(np.sum(meteo[dr:fr,2]))*step/(3600*1000)
conso_bat=(np.sum(besoin_surfacique[d:f]))*step/(3600*1000)
Eelec=conso_bat/COP
Eprimaire=2.58*Eelec
# taux de récupération en %
Taux=Edro*100/Esolaire

"""
affichages énergétiques
"""
print("Bilan énergétique sur la période : {} à {}".format(_s,_e))
print('Energie récupérée par le dromotherm : {} kWh/m2'.format(Edro))
print('Energie solaire recue : {} kWh/m2'.format(Esolaire))
print('Taux de récupération : {} %'.format(Taux))
print('Consommation du bâtiment : {} kWh/m2'.format(conso_bat))
print('Energie électrique consommée par la PAC : {} kWh/m2'.format(Eelec))
print('Energie primaire consommée par la PAC : {} kWh/m2'.format(Eprimaire))

il faudrait aussi réfléchir peut-être à y intégrer les coeffs du système géothermique k et B

on peut rajouter des éléments dans le titre...à voir jusqu'où on peut aller

fbernard494 commented 4 years ago

ces changements ne sont pas commités ? Juste pour avoir confirmation que ma synchro ne déconne pas ;)

seviprince commented 4 years ago

Moi je ne vois pas ces commits

alexandrecuer commented 4 years ago

Hello je n'ai pas fait de commits consistants :-) depuis un moment Ta synchro ne déconne pas Le principe c'était que j'en faisais plus pour plus laisser la main à Febron :-) Je vais peut-être en faire qd meme aujourd'hui alors :-)

alexandrecuer commented 4 years ago

Je pense qu'on est pas loin de ce qu'il faut....

que manque t'il ? la taille du dromotherme ? la taille du stockage ? j'enlève la division par la surface au sol du bâtiment au niveau du bilan énergétique bâtiment ?

voilà quelques graphes produits avec couplage2

cas d'usage 2 sans ECS image

cas d'usage 2 avec ECS image

cas d'usage 3 sans ECS image

cas d'usage 3 avec ECS image

ce dernier cas est étonnant non ? le cas d'usage 3 c'est le cas d'usage 2 avec le seuil des 250 W/m2 de rayonnement l'hiver en plus comme condition de démarrage du dromotherme... sans ECS, les cas d'usage 2 et 3 calculent tout pareil avec ECS, le tableau est bien différent

alexandrecuer commented 4 years ago

je fais les modifs proposés (rajouter surface dro + volume stockage + ne mettre que les chiffres d'énergie pour les bilans) et je fais une classe pour faire propre

alexandrecuer commented 4 years ago

Fébron, pourquoi on a celà ?

mpac=rho_pac*0.035*4/3600

je comprends que le 4 c'est la largeur de chaussée mais pourquoi on a mis ce coeff là ?

seviprince commented 4 years ago

4 n'est pas la largeur de la chaussée dans ce cas. c'est un coeff multiplicateur calculé pour rendre l'écoulement laminaire. En effet, lors des premières simulations qu'on faisait , on avait pris

mpac=msto=rho_pac*qsto (en m^3/s)

avec

qsto=1.2*qdro=1.2*0.035/3600

On a donc un débit volumique de 1.2*35 l/h qui circule dans la pac. Calculons le nombre de Reynold avec un tel débit:

Re=Vitesse*Diamètre/viscosité cinématique
Vitesse=Débit/section 

et les tubes ayant une section circulaire, on a finalement

Re=4*Débit/(pi*Diamètre*viscosité)

Tout calcul bien fait nous donne Re=594 (trop faible)

Pour avoir un écoulement laminaire, on doit avoir Re=2500 environs 2500/594=4.2 d'où le coeff 4 que j'ai mis.

Par contre le débit devrait être 1.2*0.035/3600 En toute rigueur, on devrait avoir:

mpac=rho_pac*4.2*1.2*0.035/3600=rho_pac*5.04*0.035/3600
seviprince commented 4 years ago

Les signes de multiplications ont disparu de mon texte précédent

seviprince commented 4 years ago

Données utilisées Diamètre=25 mm viscosité=10^(-6) m^2/s

alexandrecuer commented 4 years ago

OK

dans un autre registre, j'ai crée une classe senCityOne, pour intégrer les méthodes StockLoop et SystemLoop au package dromosense car on est arrivé à quelque chose d'à peu près mature

en gros, une fois la librarie chargée, on fait :

# instanciation
RSB=SenCityOne(meteo.shape[0],step)
# définition du système
RSB.set(eff,k,coeff,msto,cpsto,m_sable,Cp_sable,mpac,cpac)
# injection du besoin
RSB.Pgeo = (COP-1) * besoin_total / COP
# définition de la fenêtre de simulation et paramétrage des agendas
simStart = i_summerStart
simEnd=i_summerStart+365*24
RSB.agenda_dro[simStart:simEnd]=np.ones(simEnd-simStart)
RSB.agenda_pac[simStart:simEnd]=np.ones(simEnd-simStart)
for i in range(simStart,simEnd):
    if RSB.Pgeo[i]==0:
        RSB.agenda_pac[i]=0    
# bouclage
for i in range (int(simStart),int(simEnd)):
   RSB.SystemLoop(i,qdro_u,dromo)

RSB : route stock bâtiment

dromo : échangeur dromotherme selon la classe OneDModel, traversé par un débit unitaire qdro_u en m3/s, unitaire s'entendant par mètre linéaire selon le profil en long

dans la doc de la classe, je définis coeff ainsi :

coeff : sans unité - rapport des conductivités thermiques des fluides circulant dans l'échangeur de séparation de réseaux (dromo/stockage)

qu'en penses tu ?

j'ai passé les calculs de B et C dans la classe, çà fait des paramètres en moins à fournir par l'utilisateur

alexandrecuer commented 4 years ago

Les signes de multiplications ont disparu de mon texte précédent

oui j'ai remis en forme en markdown.... insert code = ``` code

puis ```

édites un de mes posts, tu verras comment c'est foutu...il faut s'habituer à faire du markdown, c'est le langage le plus simple de la planète :-)

Données utilisées Diamètre=25 mm viscosité=10^(-6) m^2/s

merci c'est complet

seviprince commented 4 years ago

OK

dans un autre registre, j'ai crée une classe senCityOne, pour intégrer les méthodes StockLoop et SystemLoop au package dromosense car on est arrivé à quelque chose d'à peu près mature

en gros, une fois la librarie chargée, on fait :

# instanciation
RSB=SenCityOne(meteo.shape[0],step)
# définition du système
RSB.set(eff,k,coeff,msto,cpsto,m_sable,Cp_sable,mpac,cpac)
# injection du besoin
RSB.Pgeo = (COP-1) * besoin_total / COP
# définition de la fenêtre de simulation et paramétrage des agendas
simStart = i_summerStart
simEnd=i_summerStart+365*24
RSB.agenda_dro[simStart:simEnd]=np.ones(simEnd-simStart)
RSB.agenda_pac[simStart:simEnd]=np.ones(simEnd-simStart)
for i in range(simStart,simEnd):
    if RSB.Pgeo[i]==0:
        RSB.agenda_pac[i]=0    
# bouclage
for i in range (int(simStart),int(simEnd)):
   RSB.SystemLoop(i,qdro_u,dromo)

RSB : route stock bâtiment

dromo : échangeur dromotherme selon la classe OneDModel, traversé par un débit unitaire qdro_u en m3/s, unitaire s'entendant par mètre linéaire selon le profil en long

dans la doc de la classe, je définis coeff ainsi :

coeff : sans unité - rapport des conductivités thermiques des fluides circulant dans l'échangeur de séparation de réseaux (dromo/stockage)

qu'en penses tu ?

j'ai passé les calculs de B et C dans la classe, çà fait des paramètres en moins à fournir par l'utilisateur

C'est une bonne démarche. Par contre votre remarque sur le débit m'a fait voir une erreur que nous sommes entrain de commettre. la relation qsto=1.2qdro pose un problème. Dès qu'on multiplie qdro_u lincha pour avoir qdro, on augmente aussi qsto. Actuellement on a qsto=315l/h ( assez énorme). L'écoulement n'est plus laminaire. On doit revoir ce débit à la baisse. qsto doit être inférieure ou égale q_pac.

alexandrecuer commented 4 years ago

Cest le 4 ou le 5.04 qu'il faut calculer dynamiquement non ? Et la puissance de la Pac on la connait pas avec ta méthode non ?Envoyé depuis mon smartphone Samsung Galaxy.

-------- Message d'origine -------- De : "> seviprince (par Internet, dépôt noreply@github.com)" notifications@github.com Date : 08/07/2020 19:07 (GMT+01:00) À : seviprince/dromotherm dromotherm@noreply.github.com Cc : Alexandre CUER alexandre.cuer@cerema.fr, Author author@noreply.github.com Objet : Re: [seviprince/dromotherm] intégration des éléments de bilan énergétique dans le graphe (#5)

OK

dans un autre registre, j'ai crée une classe senCityOne, pour intégrer les méthodes StockLoop et SystemLoop au package dromosense car on est arrivé à quelque chose d'à peu près mature

en gros, une fois la librarie chargée, on fait :


# instanciation

RSB=SenCityOne(meteo.shape[0],step)

# définition du système

RSB.set(eff,k,coeff,msto,cpsto,m_sable,Cp_sable,mpac,cpac)

# injection du besoin

RSB.Pgeo = (COP-1) * besoin_total / COP

# définition de la fenêtre de simulation et paramétrage des agendas

simStart = i_summerStart

simEnd=i_summerStart+365*24

RSB.agenda_dro[simStart:simEnd]=np.ones(simEnd-simStart)

RSB.agenda_pac[simStart:simEnd]=np.ones(simEnd-simStart)

for i in range(simStart,simEnd):

    if RSB.Pgeo[i]==0:

        RSB.agenda_pac[i]=0    

# bouclage

for i in range (int(simStart),int(simEnd)):

   RSB.SystemLoop(i,qdro_u,dromo)

RSB : route stock bâtiment

dromo : échangeur dromotherme selon la classe OneDModel, traversé par un débit unitaire qdro_u en m3/s, unitaire s'entendant par mètre linéaire selon le profil en long

dans la doc de la classe, je définis coeff ainsi :

coeff : sans unité - rapport des conductivités thermiques des fluides circulant dans l'échangeur de séparation de réseaux (dromo/stockage)

qu'en penses tu ?

j'ai passé les calculs de B et C dans la classe, çà fait des paramètres en moins à fournir par l'utilisateur

C'est une bonne démarche.

Par contre votre remarque sur le débit m'a fait voir une erreur que nous sommes entrain de commettre.

la relation qsto=1.2*qdro pose un problème.

Dès qu'on multiplie qdro_u *lincha pour avoir qdro, on augmente aussi qsto.

Actuellement on a qsto=315l/h ( assez énorme). L'écoulement n'est plus laminaire.

On doit revoir ce débit à la baisse.

qsto doit être inférieure ou égale q_pac.

--

You are receiving this because you authored the thread.

Reply to this email directly or view it on GitHub:

https://github.com/seviprince/dromotherm/issues/5#issuecomment-655643697

seviprince commented 4 years ago

Pas vraiment Si je désigne par qpac, le débit volumique de la pac, Nous sommes en présence de deux fluides circulant dans des conduites ayant les mêmes caractéristiques et nous voulons leur imposer le même régime d'écoulement. Dans le meilleur des cas, c'est que ces deux fluides doivent avoir le même débit. En fait on devrait entrer le débit qsto en dur et non le relié à qdro. qpac=1.25.040.035/3600= qsto=1.25.040.035/3600

Peut-être je pourrai mieux expliquer ce que je pense par skype.

seviprince commented 4 years ago

Avec le qsto actuel, je trouve un nombre de Reynold Re=4456? @fbernard494 , un tel Reynold est acceptable ?

alexandrecuer commented 4 years ago

@seviprince : pour cette histoire d'écoulement stationnaire/turbulent, ouvre une autre issue et décris bien le problème.....