• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel kringverwijzing Warmtewisselaar Oscileerd

Status
Niet open voor verdere reacties.

ThomvdV

Gebruiker
Lid geworden
10 apr 2019
Berichten
8
Goedemorgen,

Voor mijn stageopdracht moet ik in Excel een calculatiemodule maken welke berekend hoe lang een soort warmtewisselaar moet zijn om een bepaalde temperatuur te halen. Aan de andere kant moet het ook kunnen berekenen welke temperatuur het medium in de wisselaar heeft bij een gegeven lengte. In dit geval gaat het om een wisselaar welke koud gas verdampt door middel van de warmte van lucht. Dus de omgevingstemperatuur heb ik ingevuld als 288K = 15C.

De gemiddelde temperatuur in de wisselaar wordt berekend aan de hand van het logaritmisch temperatuurverschil. Nu kan door middel van het temperatuurverschil tussen het logaritmisch temperatuurverschil en de omgevingstemperatuur de warmteoverdracht per meter buis berekend worden door dit temperatuurverschil te delen door de totale warmteweerstand. Het probleem is echter dat wanneer de uitkomsttemperatuur anders wordt, dan wordt de warmteoverdracht anders en dus ook de eindtemperatuur weer anders. Om dit op te lossen dient dus een kringverwijzing ingesteld te worden welke itereerd tot de fout klein genoeg is. Nu gaat dit overal in het model goed maar enkel wanneer de eindtemperatuur vlakbij de omgevingstemperatuur komt begint het gezeur. Voor het gemak om te zien wat er gebeurd heb ik het aantal iteraties op 1 gezet. Nu is bij de eerste berekening de warmteoverdracht heel laag zodat de eindtemperatuur maar 191K is, terwijl dit 284 moet zijn. Door deze lage temperatuur wordt de eindtemperatuur heel laag, wat er voor zorgt dat het logaritmisch temperatuurverschil laag is en dus bij de volgende berekening de warmteoverdracht heel hoog wordt en dan de temperatuur ineens op 614 Kelvin komt. Zie de 2 afbeeldingen. In Cel C137 heb ik het temperatuurverschil rechtstreeks gelinkt aan cel C146 dus deze zouden gelijk moeten zijn maar hiervoor wordt een andere waarde gegeven, deze 2 verwisselen telkens bij een berekening.

Zou iemand weten wat ik eraan kan doen om dit probleem om te lossen. Ik heb al ingesteld dat de temperatuur niet hoger mag zijn dan 287,9K maar dit verhelpt het probleem niet. Doordat de gebruikte formules in het bestand allemaal vertrouwelijk zijn kan ik niet het hele bestand erop zetten.

Graag zou ik jullie mening op dit probleem horen.

Groeten Thom van de Veen
 

Bijlagen

  • Probleem1.PNG
    Probleem1.PNG
    12,9 KB · Weergaven: 134
  • Probleem2.PNG
    Probleem2.PNG
    13,4 KB · Weergaven: 90
Laatst bewerkt:
Plaatjes zijn mooi hoor, maar we hebben veel meer aan een bestandje! Vertrouwelijk of niet: we kunnen allemaal hier wel een formule maken. Dus wat is er zo geheim aan die van jou?
 
Het gaat hierbij om een Excel bestand met ruim 400 formules waarvan de samenhang en verhoudingen hier op het bedrijf al 25 jaar onderzocht worden, het gaan namelijk niet om een standaard warmtewisselaar. Dus vandaar dat ik niks vrij mag geven.
 
Ook niet een stuk waarmee je het probleem kunt simuleren? Kringverwijzingen zelf zijn nogal simpel van structuur. En je weet hoe je daar mee om moet gaan.
 
Dank voor je bericht, ik heb het probleem even in een ander bestand gesimuleerd. Heb ook een uitleg hierbij getyped wat het probleem nu precies is.
 

Bijlagen

De kringverwijzing is niet het probleem als ik het goed begrijp. Hier hangt de input af van de output die weer afhangt van de input etc...
Dat is op te lossen met een iteratief proces, door toe te werken naar verschil van 0, en dat gebeurt dus al.

Probleem is dat TS de uitkomst niet kan verklaren...
 
leuk !
Welk getal moet ik in welke cel invoeren om dit probleem te veroorzaken ?
En met welk getal gaat het wel nog (net) goed ?
 
met VBA blijf je binnen excel, dat wordt dan een macro die je oscillatie wat gaat uitdempen.
 
@cow18

Om het probleem te veroorzaken moet cel F16 naar Cel F27 gelinkt worden hiermee begint de kringverwijzing. Probleem is nu dat het met geen enkele waarde meer werkt terwijl dat het eerst wel deed.
 
Als ik je voorbeeld bestand open dan wijzigt er niets als ik herhaaldelijk op F9 druk?
 
@jkpieterse

Dit klopt, daarvoor dient eerst de verwijzing in Cel F16 verandert te worden van =F26 naar =F27
 
ik gok dat je met "doelzoeken" waarschijnlijk ook snel een oplossing zal vinden.
Stel dat je die onderste "gokcijfers" niet gebruikt, aan wat kan je dan zien dat een oplossing goed is.
Dus als je met F16 speelt, naar welke andere getallen moet je dan kijken die naar een min of een max moeten gaan of het verschil tussen 2 getallen dat naar een min of een max moeten gaan ?
 
mijn gokcel is F29, dus in F16 verwijzen naar F29. Daar vul je nu een groot getal in bv. 2000
Nu doelzoeken F30 (delta Outlet Temp) naar 0 door wijzigen van cel F29, Ok
resultaat Outlet Temp = 287.9K
 

Bijlagen

Ik kan hem zelf controleren door te vergelijken met het resultaat bij het berekenen van de benodigde lengte. Als ik bijvoorbeeld invoer dat ik 260 Kelvin als uitkomst temperatuur wil berekent het bestand dat ik dan 65 meter in de gasfase nodig heb, en wanneer ik 280 Kelvin wil is er al 95 meter nodig. Daarom zou het nooit kunnen dat er bij de 65 meter al 287,9 K behaald word, dat is de waarde die ik als uiterste gesteld heb omdat met een negatieve waarde geen logaritmisch temperatuurverschil berekent kan worden. Dus daarom kan de uitkomst nog niet kloppen.
 
Als je om te beginnen eens een "breaker cell" toepast, bijvoorbeeld met deze formule in F16:
Code:
=IF(A1=1;F26;F27)
of
Code:
=ALS(A1=1;F26;F27)
dan kan je het circuitje breken door een 1 in cel A1 te zetten en maken door cel A1 leeg te maken. Op soortgelijke wijze kan je ook ervoor zorgen dat je beginwaarden aan je iteratie kunt voeren, zie dat artikel waar ik je al naar verwees. Mogelijk kan ook een iets andere reken volgorde je model stabiliseren.
 
ik moet nu weg. Vanavond kijk ik nog een keer.
Hoe kan ik bovenstaande cijfers (#16) controleren met de bijlage in #5 ?
Kan je geen werkende versie hier neerzetten ?
 
doelcel F29 is F27(real Dmliq) - F16 (DmLiq)
Nu met doelzoeken F29 naar 0 brengen door wijzigen van F16.

resultaat:
bij 65 m = 266.3K (volgens jou 260)
bij 95 m = 279.9K (volgens jou 280)

Desnoods kan daar nog een stukje VBA omheen geschreven worden
 

Bijlagen

@cow18

Ik heb even een berekening toegevoegd om de benodigde lengte te berekenen bij een gegeven temperatuur, zo kun je de waarden controleren. Deze komt in de buurt bij de werkelijkheid (doordat normaal gegevens opgevraagd worden uit een database waarvoor nu een formule ingevoerd is).

Wanneer ik jou manier van doelzoeken probeer wordt de volgende foutmelding gegeven: De cel moet een waarde bevatten. Wat doe ik dan verkeerd?

In iedereen geval bedankt voor de goede hulp !
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan