|
[Sponsors] |
May 10, 2016, 03:44 |
effectivenessHeatExchangerSource
|
#1 | |
Member
Join Date: Apr 2016
Posts: 90
Rep Power: 10 |
Hi everyone,
What I'm trying to do is: to model a heat exchanger. Therefore I use "effectivnessHeatExchangerSource" I allready found one thread to http://www.cfd-online.com/Forums/openfoam-solving/125257-about-new-heatexchangereffectiveness-source.html . But since it is a bit outdated and does not solve my problems, I'm trying to refresh the topic. Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.4.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // effectivenessHeatExchangerSource1 { type effectivenessHeatExchangerSource; active true; selectionMode ???; cellZone ???; effectivenessHeatExchangerSourceCoeffs { secondaryMassFlowRate 0.1; secondaryInletT 336; primaryInletT 293; faceZone facesZoneInletOriented; outOfBounds clamp; fileName "effTable"; } } // ************************************************************************* // In the documentation it says: "faceZone is the faces at the inlet of the cellzone, it needs to be created with flip map flags." But therefore, I first have to set a faceZone ? I can do that either via patch in the blockmeshdict or via toposet? So what I know is the position of my heat exchanger, therefore I tried to do it this way with topoSetDict: First I created a cellSet from a known box. Second I created a CellZone from the previously created cellSet But how about the missing FaceZone? Do I need something like this: Quote:
Here is my current code which is not working because the zones/faces/sets are not properly defined Code:
FoamFile { version 2.0; format ascii; class dictionary; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( { name heater; type cellSet; action new; source boxToCell; sourceInfo { box (30 0 0) (33 12 8); } } { name heater; type cellZoneSet; action new; source setToCellZone; sourceInfo { set heater; // name of cellSet } } ); Thank you in advance! |
||
May 10, 2016, 10:50 |
|
#2 |
Member
Join Date: Apr 2016
Posts: 90
Rep Power: 10 |
I made it now that the solver is "working" - but the results do not make sense, since I get at the outlet of the heat exchanger higher temperatures than the heat exchanger's water is hot. The heat exchanger's flow temperature is 315K , whereas at the exit of the pipe (or heat exchanger) I've got temperatures of about 650 Kelvin !
Code:
FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // //"libtabulatedHeatTransferMassFlow.so" libs ( //"libtabulatedHeatTransferMassFlow.so" "libfieldFunctionObjects.so" "libsimpleSwakFunctionObjects.so" "libswakFunctionObjects.so" "libgroovyBC.so" ); application rhoPorousSimpleFoam; startFrom startTime; startTime 0; stopAt endTime; endTime 500; deltaT 1; writeControl timeStep; writeInterval 500; purgeWrite 0; writeFormat binary; writePrecision 6; writeCompression off; timeFormat general; timePrecision 6; graphFormat raw; runTimeModifiable true; Code:
( (0.01 ( (0.1 0.8)//A (0.2 0.81)//B (0.3 0.82) //C ) ) (0.04 ( (0.1 0.8 )//D (0.2 0.81 )//E (0.3 0.82 ) //F ) ) (0.06 ( (0.1 0.8 )//G (0.2 0.81 )//H (0.3 0.82 )//I ) ) ); Code:
FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // /*source1 { type fixedTemperatureConstraint; active false; selectionMode cellZone; cellZone porosity; fixedTemperatureConstraintCoeffs { mode uniform; temperature 350; } } */ effectivenessHeatExchangerSource1 { type effectivenessHeatExchangerSource; active true; selectionMode cellZone; cellZone porosity; effectivenessHeatExchangerSourceCoeffs { secondaryMassFlowRate 0.1; secondaryInletT 315; primaryInletT 293; faceZone heater; outOfBounds clamp; fileName "$FOAM_CASE/system/effTable"; } } Code:
FoamFile { version 2.0; format ascii; class dictionary; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( { name heater; type faceSet; action new; source boxToFace; sourceInfo { box (0.3 0 0) (0.33 0.12 0.08); } } { name heater; type faceZoneSet; action new; source setToFaceZone; sourceInfo { faceSet heater; // name of cellSet } } ); // ************************************************************************* // And after running the solver the faceZone file looks like: Code:
FoamFile { version 2.0; format binary; class regIOobject; location "constant/polyMesh"; object faceZones; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 1 ( heater { type faceZone; faceLabels List<label> 1552 ('O - !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"" - !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"" - !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"" - !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"" - !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~""DEFGHIJKLMNOPQRSTUVWlmopqrstuvw|}~"" - !"#$%&'(),-./0123456789:<=>?@ABCDEFGHJKLMNOQTUVWXYZ[\]^_`abdijklmnoqrstuvwxyz{}~ ); flipMap List<bool> 1552 (); } ) Does anybody know what could be wrong? As I mentioned, the log file does not complain. :-/ |
|
|
|