|
[Sponsors] |
January 24, 2015, 15:12 |
|
#61 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Greetings Vasava,
Many thanks for sharing your solution! I have to say that it's interesting to see a situation where a partial transient solution is useful for initializing a steady-state simulation. The explanation for this should be easy enough: the transient simulation accounts for the full dynamics of the simulation, while the steady-state does essentially an averaged solution. This is similar to the situations where increasing the mesh resolution makes it harder to converge a simulation, precisely because the additional resolution reveals new physical details that give a new solution to the simulation... which may be incomplete, due to an incomplete mesh resolution. Anyway, beyond the existentialist point of view of temporal-spacial discretization, the problem you're seeing could related to a similar situation, for example, imagine this:
Best regards, Bruno |
|
January 26, 2015, 02:20 |
|
#62 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
Thank you Bruno Santos for the explanation!! It nice to begin the week by learning something new. I still consider my self a beginner at both: the CFD and the openFoam. Its nice to learn and discover new things everyday!!
One more thing to add: During my initial experiments I used to initialize the region where the hot fluid is flowing with maximum temperature and the region where the cold fluid is flowing with minimum temperature. This would also cause a very high temperature gradients at the very thin pipe walls (also divergence). But initializing all the domains with minimum temperature and allowing the simulation take its own course gave me quite reasonable solutions. |
|
January 26, 2015, 02:45 |
|
#63 | |
Senior Member
|
Quote:
- Best Regards! |
||
August 16, 2015, 10:46 |
chtMultiRegionFoam
|
#64 |
New Member
dafe
Join Date: Jul 2015
Posts: 3
Rep Power: 11 |
Hi everyone, I am new to open foam and trying to model heat transfer in a closed circuit pipe/tube(rectangular shape for simplicity). In my blockMeshDict when specifying boundary; for the leftwall for example, do i just take the extreme outer face or do i have to specify both faces on the left side (inside and outside). Most tutorials i have seen are basically cavity types which have only one wall to the left. Thanks
|
|
August 16, 2015, 14:35 |
|
#65 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Quick answer: http://www.cfd-online.com/Forums/ope...egionfoam.html
|
|
August 16, 2015, 15:34 |
|
#66 |
New Member
dafe
Join Date: Jul 2015
Posts: 3
Rep Power: 11 |
thanks for the link, will check it out and get back to you.
|
|
January 22, 2016, 18:15 |
|
#67 |
Member
laurentL
Join Date: Oct 2011
Location: new caledonia
Posts: 73
Rep Power: 15 |
@Vasava
thanks so much for this idea, i'm facing this problem for weeks, i must run before chtMultiRegionFoam .? ( I’m also a beginner, build a solver look like a hard job to me...) thank you very much. Last edited by laurent98; January 25, 2016 at 03:39. |
|
June 24, 2016, 11:50 |
|
#68 |
Member
Bruno
Join Date: Jun 2016
Location: Siegen, Germany
Posts: 59
Rep Power: 10 |
Hi!
In the end I want to simulate a cylinder generating heat in a flow of air with some other blocking geometries as well, but seeing how the rule is to start of simple and increase complexity I started with the planeWall2D tutorial by Bruno Santos, accompanied by the report by Maaike van der Tempel. I thought I understood everything so went to my next step of complexity; modelling a 3D cylinder of 350K suspended in a volume of air of 300K. This however crashed after a couple of iterations (not the first one) due to temperatures going very high (100,000K), then very low/negative. At one point I could get it such that the temperature fluctuated for tens of thousands of Kelvin and then settled around more reasonable 345K values. This however seemed like complete bogus to me so I went back a step on the complexity ladder. I returned to the planeWall2D case, this time turning it into a 2D block suspended in the air. However, my solution still diverges to a negative temperature after many iterations making the simulaiton crash, as can be seen in the ending of my log.chtMultiRegionSimpleFoam. I will post my code after the error. Code:
Solving for fluid region bottomAir DILUPBiCG: Solving for Ux, Initial residual = 0.373465, Final residual = 0.0008348504, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.3983659, Final residual = 0.002457276, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.03343168, Final residual = 7.176597e-05, No Iterations 1 Min/max T:296.7828 345.5452 GAMG: Solving for p_rgh, Initial residual = 0.2517964, Final residual = 0.001801136, No Iterations 4 time step continuity errors : sum local = 1.80743, global = 0.1183804, cumulative = 0.3588659 Min/max rho:0.8133568 2 Solving for solid region wall DICPCG: Solving for h, Initial residual = 0.03221371, Final residual = 0.0003819145, No Iterations 1 Min/max T:min(T) [0 0 0 1 0 0 0] 345.3996 max(T) [0 0 0 1 0 0 0] 345.6923 ExecutionTime = 90.23 s ClockTime = 90 s Time = 1313 Solving for fluid region bottomAir DILUPBiCG: Solving for Ux, Initial residual = 0.1843478, Final residual = 0.001331729, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.3706879, Final residual = 0.002551714, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.02562959, Final residual = 0.0002373, No Iterations 1 Min/max T:297.6073 345.5416 GAMG: Solving for p_rgh, Initial residual = 0.2469737, Final residual = 0.002262424, No Iterations 4 time step continuity errors : sum local = 1.180225, global = 0.8575721, cumulative = 1.216438 Min/max rho:0.2 1.670909 Solving for solid region wall DICPCG: Solving for h, Initial residual = 0.03223895, Final residual = 0.0003933997, No Iterations 1 Min/max T:min(T) [0 0 0 1 0 0 0] 345.3962 max(T) [0 0 0 1 0 0 0] 345.6887 ExecutionTime = 90.3 s ClockTime = 90 s Time = 1314 Solving for fluid region bottomAir DILUPBiCG: Solving for Ux, Initial residual = 0.5954829, Final residual = 0.0007776412, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.5604225, Final residual = 0.002729626, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.08661401, Final residual = 0.0003479413, No Iterations 1 Min/max T:-1155.061 345.5381 GAMG: Solving for p_rgh, Initial residual = 0.4870689, Final residual = 0.001921832, No Iterations 4 time step continuity errors : sum local = 2.404536, global = -0.1866434, cumulative = 1.029795 Min/max rho:0.2 2 Solving for solid region wall DICPCG: Solving for h, Initial residual = 0.050871, Final residual = 0.0007805152, No Iterations 2 Min/max T:min(T) [0 0 0 1 0 0 0] 345.0073 max(T) [0 0 0 1 0 0 0] 345.6852 ExecutionTime = 90.37 s ClockTime = 90 s Time = 1315 Solving for fluid region bottomAir DILUPBiCG: Solving for Ux, Initial residual = 0.3712775, Final residual = 0.001556036, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.5173233, Final residual = 0.001700514, No Iterations 1 DILUPBiCG: Solving for h, Initial residual = 0.1986274, Final residual = 7.361579e-05, No Iterations 1 --> FOAM FATAL ERROR: Maximum number of iterations exceeded From function thermo<Thermo, Type>::T(scalar f, scalar T0, scalar (thermo<Thermo, Type>::*F)(const scalar) const, scalar (thermo<Thermo, Type>::*dFdT)(const scalar) const, scalar (thermo<Thermo, Type>::*limit)(const scalar) const) const in file /home/bruno/OpenFOAM/OpenFOAM-2.4.0/src/thermophysicalModels/specie/lnInclude/thermoI.H at line 76. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::calculate() at ??:? #3 Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::correct() at ??:? #4 ? at ??:? #5 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #6 ? at ??:? Aborted (core dumped) Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) (1 0 0) (1 1 0) (0 1 0) (0 0 0.1) (1 0 0.1) (1 1 0.1) (0 1 0.1) ); blocks ( hex (0 1 2 3 4 5 6 7) (100 100 1) simpleGrading (1 1 1) ); edges ( ); boundary ( topAir_top { type patch; faces ( (3 7 6 2) ); } bottomAir_bottom { type patch; faces ( (1 5 4 0) ); } leftLet { type patch; faces ( (0 4 7 3) ); } rightLet { type patch; faces ( (2 6 5 1) ); } frontAndBack { type empty; faces ( (0 3 2 1) (4 5 6 7) ); } ); mergePatchPairs ( ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( // wall { name wall; type cellSet; action new; source boxToCell; sourceInfo { box (0.4 0.4 0 )(0.6 0.6 0.1); } } { name wall; type cellZoneSet; action new; source setToCellZone; sourceInfo { set wall; } } // bottomAir { name bottomAir; type cellSet; action new; source boxToCell; sourceInfo { box (0 0 0 )(1 1 0.1); } } { name bottomAir; type cellSet; action delete; source boxToCell; sourceInfo { box (0.4 0.4 0 )(0.6 0.6 0.1); } } { name bottomAir; type cellZoneSet; action new; source setToCellZone; sourceInfo { set bottomAir; } } ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object changeDictionaryDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dictionaryReplacement { boundary { bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } } U { internalField uniform (0.1 0 0); boundaryField { leftLet { type fixedValue; value uniform ( 0.1 0 0 ); } rightLet { type inletOutlet; inletValue uniform ( 0 0 0 ); value uniform ( 0.1 0 0 ); } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } "bottomAir_to_.*" { type fixedValue; value uniform (0 0 0); } } } T { internalField uniform 300; boundaryField { leftLet { type fixedValue; value uniform 300; } rightLet { type zeroGradient; } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } "bottomAir_to_.*" { type compressible::turbulentTemperatureCoupledBaffleMixed; Tnbr T; kappa fluidThermo; kappaName none; value uniform 300; } } } epsilon { internalField uniform 0.01; boundaryField { leftLet { type inletOutlet; inletValue uniform 0.01; value uniform 0.01; } rightLet { type fixedValue; value uniform 0.01; } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } "bottomAir_to_.*" { type compressible::epsilonWallFunction; value uniform 0.01; } } } k { internalField uniform 0.1; boundaryField { leftLet { type inletOutlet; inletValue uniform 0.1; value uniform 0.1; } rightLet { type fixedValue; value uniform 0.1; } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } "bottomAir_to_.*" { type compressible::kqRWallFunction; value uniform 0.1; } } } p_rgh { internalField uniform 1e5; boundaryField { ".*" { type fixedFluxPressure; value uniform 1e5; } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } leftLet { type fixedValue; value uniform 1e5; } frontAndBack { type empty; } } } p { internalField uniform 1e5; boundaryField { ".*" { type calculated; value uniform 1e5; } bottomAir_bottom { type symmetryPlane; } topAir_top { type symmetryPlane; } leftLet { type calculated; value uniform 1e5; } frontAndBack { type empty; } } } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object changeDictionaryDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dictionaryReplacement { T { internalField uniform 350; boundaryField { ".*Let" { type zeroGradient; value uniform 300; } "wall_to_.*" { type compressible::turbulentTemperatureCoupledBaffleMixed; Tnbr T; kappa solidThermo; kappaName none; value uniform 300; } } } } // ************************************************************************* // For the sake of completeness I'm attaching the case here as well. Can anyone shed some light on this? Many thanks! And for those on their way to the workshop in Portugal, have fun. Greetings, Bruno |
|
June 27, 2016, 01:04 |
|
#69 |
New Member
Vishesh
Join Date: Jun 2016
Posts: 10
Rep Power: 10 |
Hi Bruno,
I am facing the same problem but my velocity is diverging in the 1st iteration and the temperature in the 2nd. Can you please tell, how did you corrected it such that the iterations ran and settled after a while? Also, I am using OpenFOAM 3.0.1, should i try and run the case using openFOAM 2.4.0? Thank you Regards Vishesh Last edited by visheshkapoor06; June 27, 2016 at 01:59. Reason: Adding a line |
|
July 28, 2016, 12:39 |
Porting PlaneWall 2D for OF1606+
|
#70 |
Member
Jaydeep
Join Date: Jun 2015
Posts: 34
Rep Power: 11 |
Hello everyone,
I have been trying to port the classic PlaneWall 2D case for the latest OF release. I am attaching the zip for all files. The case runs well, but in the end it throws a ton of errors on ParaView and results are in my opinion unrealistic. Can somebody take a look at it and please let me know what all could be the probable causes ? Thanks! P.S. I use OF+ on windows, use native ParaView. Once the simulation is finished, you can open foam.foam file in PV for postprocessing. |
|
July 28, 2016, 16:53 |
Initial condition issues in PV
|
#71 |
Member
Jaydeep
Join Date: Jun 2015
Posts: 34
Rep Power: 11 |
I guess I could narrow down the errors in ParaView to initial condition. After splitmesh the newly created boundaries do not appear explicitly in 0. And thus ParaView on windows fails to recognize .* . Now I am not sure whether this has to do with the OF for windows, or is it a general problem. Can someone take a look at it?
P.S. Still the results look unreasonable |
|
September 18, 2016, 12:23 |
|
#72 |
Member
Join Date: Sep 2016
Posts: 63
Rep Power: 10 |
Dear Bruno,
thank you very much first of all for your planeWall2D. I downloaded your case files and run it. But the resultant planeWall2D.OpenFOAM file is empty. The Paraview exit automatically when I press on "apply" button to load the data. My OpenFOAM is V4.0. I would appreciate greatly if you can help me on this, although it is a 3 year old post. Best regards, Hai |
|
September 18, 2016, 16:50 |
|
#73 | |||
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Quick answers: First of all, sorry to everyone, but:
Quote:
Now, to answer in detail to a few questions: Quote:
It's as I indicated at the start of this post that you're reading. Quote:
And it looks like you did not properly ready the wiki page. This is explained here: http://openfoamwiki.net/index.php/Ge...ost-Processing
__________________
|
||||
September 19, 2016, 15:42 |
|
#74 |
Member
Join Date: Sep 2016
Posts: 63
Rep Power: 10 |
Dear Bruno,
thank you very much for your prompt reply! I am a beginner for OpenFOAM and can easily make stupid mistakes. I wonder whether I have done anything wrong. After I executed Allrun, I didn't get planeWall2D{bottomAir}.OpenFOAM planeWall2D{topAir}.OpenFOAM planeWall2D{wall}.OpenFOAM but only planeWallD.OpenFOAM and planeWallD.blockMesh. The other 7 files begin with log.. I use Ubundu 14.04, and OpenFOAM 4.0. I would appreciate greatly if you can give me a guide. Thank you very much in advance! Have a nice evening! Sitajeje |
|
September 20, 2016, 08:07 |
|
#75 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
I see that you are using ideal gas for fluid. Also, there is negative temperature (around -500 K and I havent investigated the cause of the negative temperature) and it is causing the simulation to diverge.
If you aim is to merely simulate conjugate heat transfer, I recommend you to switch to normal air properties. |
|
September 20, 2016, 08:36 |
|
#76 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
You dont need separate files for separate regions to view results, the file planeWallD.OpenFOAM should be enough.
|
|
September 21, 2016, 12:13 |
|
#77 |
Senior Member
Alex
Join Date: Oct 2013
Posts: 337
Rep Power: 22 |
I think you are wrong Paritosh, actually you need those files in order to be able to see the results in each region, otherwise you can't watch the results!
In order to create them, the command to be executed is Code:
paraFoam -touchAll Alex
__________________
Web site where I present my Master's Thesis: foamingtime.wordpress.com The case I talk about in this site was solved with chtMultiRegionSimpleFoam solver and involves radiation. Some basic tutorials are also resolved step by step in the web. If you are interested in these matters, you are invited to come in! |
|
September 21, 2016, 14:56 |
|
#78 |
Member
Join Date: Sep 2016
Posts: 63
Rep Power: 10 |
Dear Alex and Paritosh,
thank you very much for your help! I wonder whether you have the planeWall2D case file which you have run through? I would appreciate if you would share it with me. I still cannot get the planeWall2D{bottomAir}.OpenFOAM, planeWall2D{topAir}.OpenFOAM and planeWall2D{wall}.OpenFOAM files. All the best sitajeje |
|
September 22, 2016, 02:45 |
|
#79 |
Senior Member
Paritosh Vasava
Join Date: Oct 2012
Location: Lappeenranta, Finland
Posts: 732
Rep Power: 23 |
||
September 24, 2016, 13:03 |
|
#80 |
Member
Join Date: Sep 2016
Posts: 63
Rep Power: 10 |
Thank you very much Paritosh! The command "paraFoam -touchAll" exists in the "Allrun" file. After execution, the "planeWall2D.OpenFOAM" is empty. I don't have folders of "bottomAir", "topAir" or "wall" in the "0" folder.
I ran through the tutorial "multiRegionHeater", created files such as "multiRegionHeater{bottomWater}.OpenFOAM" and also folders such as "bottomWater" in the "0" folder. However all the "*.OpenFOAM" files were empty. The command "paraFoam -touchAll" also exists in the "Allrun" file. In paraView I can only find the blockMesh, nothing more. The terminal didn't report an error, and seems to run through all the commands in the "Allrun" file. I am a beginner for OpenFOAM. I wonder whether my installation was incomplete. I could run the tutorial case "cavity" successfully. Thank you very much for your help in advance! |
|
Tags |
cht, solid-fluid interface |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Conjugate Heat Transfer: Wall Heat Flux at Coupled Walls? | MaxHeat | FLUENT | 4 | September 14, 2017 11:44 |
openfoam for heat transfer | kirankarki | OpenFOAM Running, Solving & CFD | 29 | February 12, 2015 19:46 |
Conjugate Heat transfer in CFX | ksp1717 | CFX | 11 | December 10, 2010 23:07 |
Conjugate Heat Transfer of Motorized EGR | enr_venkat | CFX | 1 | October 12, 2010 19:17 |
best mesh generator for conjugate heat transfer? | phsieh2005 | Main CFD Forum | 1 | June 1, 2007 18:35 |