|
[Sponsors] |
August 25, 2010, 13:25 |
|
#141 | |||
New Member
Romain
Join Date: Jun 2010
Location: Lyon
Posts: 28
Rep Power: 16 |
Hey
I try to run chtMultiRegionSimpleFoam on a simple case (a tube, with a cube inside), but I have a error. Here's what I did : I used gambit to create my mesh with two regions, v_fluid and v_solid, my boundary are quite simple, inlet, outlet, wall, symetry (it's a 2D case). Then I used fluent3DToFoam, Quote:
Quote:
But when I run chtMultiRegionSimpleFoam, I have the following error Quote:
Thank you |
||||
September 1, 2010, 09:50 |
|
#142 |
New Member
nuria llamas
Join Date: Jul 2010
Posts: 2
Rep Power: 0 |
Hello nakor, i'm running a similar case of yours and i obtain the same error...
Did you arrived to solved it??? Thank u! |
|
October 21, 2010, 13:51 |
ThermophysicalProperties
|
#143 |
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 17 |
Hello everyone!
I have a similar problem in chtMRSimpleFoam: Code:
*** Reading fluid mesh thermophysical properties for region fluid
Adding to thermoFluid
Selecting thermodynamics package hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
--> FOAM FATAL ERROR:
Not Implemented
Trying to construct an genericFvPatchField on patch fluid_to_solid of field h
Code:
thermoType hPsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
Code:
thermoType ePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
Code:
*** Reading fluid mesh thermophysical properties for region fluid
Adding to thermoFluid
Selecting thermodynamics package ePsiThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
--> FOAM FATAL ERROR:
Not Implemented
Trying to construct an genericFvPatchField on patch fluid_to_solid of field e
My case consists of a solid region (in two parts) and water. I'll post my entire case with the most relevant files (since it gets too big otherwise) in case anyone wants to look at it. How do you make it work for water as a fluid? Regards Marco |
|
October 21, 2010, 14:27 |
|
#144 | |
Member
Fábio César Canesin
Join Date: Mar 2010
Location: Florianópolis
Posts: 67
Rep Power: 16 |
Quote:
Code:
hRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<incompressible>>>>>; mixture water 1 18 1000 4181 0 959e-6 6.62; |
||
October 21, 2010, 17:36 |
|
#145 | |
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 17 |
Quote:
Didn't know that this option was available in 1.7.x. The strange thing is that the userGuide listed hRhoThermo as an option but when I tried it out it didn't work. Couldn't make it work with air as fluid either (like in the tutorial case). * Any ideas why it didn't work with air (as it should do it)? * Is the new multiRegionLiquidHeater transient or steady state? * What does git version mean (yes, I'm quite new to Linux/Ubuntu)? * Is it complicated to upgrade from OF-1.6.x to 1.7.x? Regards and thank you again! Marco |
||
October 21, 2010, 19:16 |
|
#146 | |||||
Member
Fábio César Canesin
Join Date: Mar 2010
Location: Florianópolis
Posts: 67
Rep Power: 16 |
Quote:
Quote:
Quote:
Quote:
Quote:
Best regards, Fabio C. Canesin |
||||||
October 22, 2010, 05:22 |
|
#147 |
Senior Member
Aram Amouzandeh
Join Date: Mar 2009
Location: Vienna, Vienna, Austria
Posts: 190
Rep Power: 17 |
hey marval!
had a brief look into your set up. it seems you have messed up your BCs; e.g. i cannot see any changeDictionaryDict in the systen/{region} directories prescribing the BCs of each region as well as their coupling. i d suggest to study the tutorial case again. cheers, aram |
|
October 22, 2010, 06:39 |
|
#148 | ||||||
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 17 |
Hello Fabio and Aram!
Quote:
Quote:
Quote:
I will maybe try to install it in an external device so I don't mess up anything. Thanks again Fabio! Regarding Arams post: Quote:
There is a reason I don't have changeDictionary, I followed the steps proposed by Pawel in another post: Quote:
http://www.cfd-online.com/Forums/att...iregfolder.jpg There are similar posts by him: Quote:
changeDictionary is just an automatic way to define things, it's much faster if it works but I felt more safe defining everything by myself . Anyway, thank you again for your time and if you have any more ideas please share them. Regards Marco |
|||||||
October 27, 2010, 09:17 |
Compressible?! THIS.IS.INCOMPRESSIBLE!!
|
#149 |
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 17 |
Hello again everyone!
I'm soon running out of options with the solvers. I looked at the solver that handles liquids (chtMultiRegionSimpleFoam in OF-1.7.x) and have some questions. Regarding the new multiRegionLiquidHeater, is it for INcompressible fluids? The reason I'm asking is because when dealing with compressible cases the pressure (in 0/p-directory) the dimension is N/m² = kg/(m*s²): [ 1 -1 -2 0 0 0 0 ] And when it's INcompressible the pressure is divided by the density so the dimension would be (it's also a relative pressure: p_calculated=p-p_reference): m²/s²: [ 0 2 -2 0 0 0 0 ] And it looks like in the new multiRegionLiquidHeater the pressure is defined as in a compressible case, does this matter and is there a way around the problem? As I understood chtMultiRegionSimpleFoam is for compressible fluids, right? Any other ideas to simulate heat transfer between an INcompressible fluid and a solid? Start to get a little frustrating... Regards Marco |
|
October 27, 2010, 09:53 |
|
#150 |
Senior Member
maddalena
Join Date: Mar 2009
Posts: 436
Rep Power: 23 |
||
October 30, 2010, 16:55 |
|
#151 |
Member
Join Date: Dec 2009
Posts: 39
Rep Power: 17 |
Haha, Mad!
"Welcome to the club!" The UserGuide states quite clearly (after reading more carefully) that chtMultiRegionSimpleFoam is a combination of buoyantSimpleFoam and (the old ??) heatConductionFoam, thus it solves for compressble fluids. Too bad! Well, I think I'm gonna try using the new liquidSolver in OF-1.7.x anyway. For the moment I will do the best of the situation (before I install OF-1.7.x) and use air for the simulation in OF-1.6.x. I was thinking of maybe starting to reach a steady state solution with only the buoyantSimpleFoam solver and use this as starting point in 0-directory for chtMultiRegionSimpleFoam. Good or bad idea? Any suggestions on how to set up the 0/U- and 0/p-files to avoid the solver blowing up? I'm more used to incompressible cases. Should I still use patch -inlet/outlet when creating the mesh for example? The fluid flows ~0,14 m/s, so I might need an inlet/outlet...or? Thankful for any further hints! Regards Marco |
|
December 8, 2010, 00:45 |
incompressible cht
|
#152 |
New Member
shyam
Join Date: Oct 2010
Posts: 17
Rep Power: 16 |
Hi
I have the following questions 1. Did anyone from the above who inquired about doing CHT using incompressible fluid succeed in doing it ??? If yes how ??? 2. My case involves both the solid and fluid moving. I am thinking of doing something like this solid { boundary } U { internal field uniform (u v w) boundaryfield { boundary { type fixedvalue uniform (u v w) } } } Will this work ??? Or should I do something else or add something to the above ?? Thanks, Shyam |
|
December 9, 2010, 04:51 |
|
#153 |
Senior Member
Pawel Sosnowski
Join Date: Mar 2009
Location: Munich, Germany
Posts: 105
Rep Power: 18 |
Hello Shyam,
regarding first question- chtMultiRegionFoam model is based on incompressibility assumption. In that case, I can confirm that I was able to run some simulation. I simply set up the case similarly to the tutorial one and run it regarding second question- remember that dividing into "solid" and "fluid" is just artificial. One can name them "plasma" and "strawberry_juice", providing that inside the solver you deal with them. Now moving into your case. I believe that you want to have a moving element in your domain. I think that it would be sufficient just to set the "fluid_to_solid" boundary as some fixed value. But if you want to have for example a bullet going through a channel (with frame of reference connected to the channel walls), you will need to change the solver. Best, Pawel |
|
December 9, 2010, 05:45 |
Different BCs in chtMultiRegionFoam and chtMultiRegionSimpleFoam
|
#154 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi there!
I use the cht-Solvers, too. After Marval's statement "The UserGuide states quite clearly (after reading more carefully) that chtMultiRegionSimpleFoam is a combination of buoyantSimpleFoam and (the old ??) heatConductionFoam, thus it solves for compressble fluids." I am a bit confused... Is there a bigger difference between chtMultiRegionFoam and chtMultiRegionSimpleFoam than the fact, that the first is a transient and the second is a steady state solver? My second problem is: Why is the usage of the coupling condition solidWallMixedtemperatureCoupled only in the chtMultiRegionFoam and not in the chtMultiRegionSimpleFoam possible? As I understood former posts, this coupling condition should be the preferred way to couple solid-solid and solid-fluid regions. But it is not selectable, as it is missing in the solver's derivedFvPatchFields directory (compare $WM_PROJECT_DIR/applications/solvers/heatTransfer/chtMultiRegionFoam/derivedFvPatchFields and $WM_PROJECT_DIR/applications/solvers/heatTransfer/chtMultiRegionSimpleFoam/derivedFvPatchFields). Is there a physical or numerical reason for this fact, that the coupling condition is not selectable in the steady state case? The last question would be: Which coupling condition should I use for my steady state simulations with chtMultiRegionSimpleFoam? In the steady state tutorials for the solver I found a coupling condition compressible::turbulentTemperatureCoupledBaffleMix ed. From what I found out in the source codes, this coupling condition seems to do almost the same as the solidWallMixedtemperatureCoupled, but I am a bit confused about the "compressible::" at the beginning of the name, because I want to simulate incompressible flow! Or does the "compressible::" not mean anything at all, because it seems as this coupling condition is able to work at solid-solid interfaces, too, and there of course is nothing that needs a compressible treatment... By the way: I am using the newest 1.7.x-Version, downloaded yesterday from the git-repository Thanks a lot for your replies! Greetings Sebastian |
|
December 9, 2010, 11:13 |
|
#155 |
New Member
shyam
Join Date: Oct 2010
Posts: 17
Rep Power: 16 |
Hi Pawel
Thanks for your reply. After I posted the question yesterday, I took a look at the solver, tutorials and figured out the answer for question 2. But I was not sure if I am right. But for question 1, I need to simulate an incompressible flow in steady state. So I am using the solver chtIcoMultiRegionFoam (which is transient) with large time steps. Would this suffice for my problem ? But since you said I can use the original solver as they are may be i will set up a case with chtMultiRegionSimpleFoam. Shyam |
|
December 9, 2010, 12:19 |
|
#156 | ||
Senior Member
Pawel Sosnowski
Join Date: Mar 2009
Location: Munich, Germany
Posts: 105
Rep Power: 18 |
Greetings,
Regarding Sebastian's post: Quote:
Regarding second problem: This is C++ code related You need to include/link/recompile the boundary condition to work within a specific solver. I mentioned it quite long ago- boundary conditions should be solver-independent. And from what I remember, solidWallTemperatureMixed was. Regarding last question- unfortunately I can not help... I did not go deeply enough into recent versions of chtMultiRegionFoam. Regarding Shyam's post: Quote:
Best, Pawel |
|||
December 9, 2010, 16:56 |
|
#157 |
New Member
shyam
Join Date: Oct 2010
Posts: 17
Rep Power: 16 |
Hi
The chtIcoMultiRegionFoam is a seperate which i downloaded and compiled from here. About the chtMultiRegionSimpleFoam, I used that in my case and when I run it, I am not getting anyout put and at the same time I am not getting any error messages. Here is my output when I run that, Code:
shyam@sujatha:~/Desktop/Oven$ ./Allrun Running blockMesh on /home/shyam/Desktop/Oven Running setSet on /home/shyam/Desktop/Oven Running setsToZones on /home/shyam/Desktop/Oven Running splitMeshRegions on /home/shyam/Desktop/Oven Running chtMultiRegionSimpleFoam on /home/shyam/Desktop/Oven creating files for paraview post-processing created 'Oven{web}.OpenFOAM' created 'Oven{air}.OpenFOAM' I have lefteverything as it is from the tutorial case except ofcourse the blockMesh and changeDictionaryDict files. Can you tell me whats wrong ??? Shyam UPDATE: I ran one command after another and found out that I entered a keyword incorrect. After I corrected it, the solver started running. Shyam Last edited by ksp1717; December 9, 2010 at 17:16. Reason: Update |
|
December 14, 2010, 12:02 |
|
#158 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi Pawel,
First of all: Thanks for your reply! Unfortunately I don't get how to use the chtMultiRegionFoam-Solver for my steadyState case. The calculation always crashes with a floating point exception when the solver tries to solve the fluid field for the first time. The fluid regions are generally solved first, so I don't know if the problem is related to the fluid field. When I use the solver in a transient way, it works as it should... Can you please explain a bit more in detail, what I have to change in order to use the transient solver for steadyState calculations? I only changed the ddtScheme from Euler to steadyState as you told me in your former post, but this seems not to be all... I was a bit confused about the PIMPLE-Algorithm in fvSolution because I thought this is a algorithm for transient cases. Unfortunately, a switch to SIMPLE is not accepted by the solver, so it seems as if PIMPLE has to be used for the steadyState case, too. If you don't really know the answers to my questions, then I would prefer to return to the chtMultiRegionSimpleFoam-Solver for my steadyState problems and recompile it to make the usage of the coupling condition solidWallMixedtemperatureCoupled possible. Could you please explain a bit more in detail what I have to do for that? Or is it as easy as: Copy the directory for this coupling condition from the chtMultiRegionFoam-Solver to the chtMultiRegionSimpleFoam-Solver, include some .H-files and then use wmake? If it is that easy, than where do I have to include which .H-files? From a first look to chtMultiRegionSimpleFoam.C, I wasn't able even to find the "#include "solidWallHeatFluxTemperature.H"" statement, so I definetely don't know where to include that. Hope you can help me again... thanks in advance, Greetings Sebastian |
|
December 14, 2010, 13:16 |
|
#159 | ||||
Senior Member
Pawel Sosnowski
Join Date: Mar 2009
Location: Munich, Germany
Posts: 105
Rep Power: 18 |
Hello Sebastian,
Quote:
Quote:
Quote:
Quote:
We get into C++ structure of OF solvers and BC's. Each- the solver code and the BC code are (should be) separate beings, which can be compiled separately into objects. Those objects are later on linked together to create a working program- a "Solver". Using "wmake" is just a fancy and easy way of writing "g++ -c ..." for each created source code and then linking the results. Take a look at the "Make/files" file. Each line (except the one starting with EXE or LIB) contains name and path to a file that is to be compiled. The objects are stored in "Make/linuxBBGccDpOpt" folder (the *.o fiels). Then they are linked and create an executable program which is saved into EXE=PATH_TO_EXE_FOLDER. Now, why we do not have the "#include BC" in the code and it still works? The answer is once again the brilliant object oriented structure of OF. The solver code wants to have some boundary. During the compilation of the solver code, we do not provide it exactly. We just say- it will have this standard structure, take these standard parameters, allow some standard functionality and give some standard output. And now, ANY boundary condition object, that matches the solvers expectations can be used! The only thing is that you need to link the object while creating executable Solver and then specify it when you run the case. Sorry but I can not put it out simpler :P If you have doubts, you may need to contact someone that works with object-oriented programming. And finally, the "recipe" - copy the original chtMultiRegionSimpleFoam solver to your /user-1.7.x/applications/ folder (always work on a copy ) ; - go there and run wclean ; - rename the directory and the main .C file to something like MYchtMultiRegionSimpleFoam ; - copy the chtMultiRegion/derivedFvPatchFields/solidWallMixedTemperatureCoupled to your derivedFvPatchFields/ folder ; - edit the Make/files file: - - add as first line derivedFvPatchFields/solidWallMixedTemperatureCoupled/solidWallMixedTemperatureCoupledFvPatchScalarField .C ; - - change chtMultiRegionSimpleFoam.C to MYchtMultiRegionSimpleFoam.C ; - - change EXE = (...) to EXE = $(FOAM_USER_APPBIN)/MYchtMultiRegionSimpleFoam ; - make sure that you have folder /user-1.7.x/applications/bin/linux64GccDPOpt (if you use 32bit change 64 to 32) ; - run wmake ; - set the case properly. Take special care about patches coupled by solidWallMixedTemperatureCoupled ; - you are ready to go use MYchtMultiRegionSimpleFoam solver. Hope you will make it- this procedure worked for me today for using solidWallMixedTemperatureCoupled in chtSimple tutorial case. Best, Pawel |
|||||
December 15, 2010, 05:32 |
Thanks a lot Pawel!
|
#160 |
Member
Sebastian Lang
Join Date: Aug 2009
Posts: 47
Rep Power: 17 |
Hi Pawel,
WOW... thank you so much for your detailed explanation! Your instructions were absolutely correct, the modified solver worked on the first try and accepted the solidWallMixedTemperatureCoupled BC! And especially thank you for your general words at the beginning of your post! This was something I was looking for since I began to work with OpenFOAM two months ago! I was able to write procedural c-code when I started up, learned the object-orientated stuff of c++ in order to understand the OpenFOAM codes, but this thing concerning the linking between different source codes during compilation was the piece that was missing in my puzzle to understand OpenFOAM's codes... Thank you so much, I hope I am now able to modify utilities on my own. Well, at least the steadyState simulations with my MODchtMultiRegionSimpleFoam run for about 180 steps. After that the solver stops because it exceeds the maximum number of iterations. It seems as if my temperature field diverges... I get temperatures ranging from -1000 to 770 K but i don't know why...(The 'physical' temperature range is 300 to 600 K) I think my initial conditions are not inside the convergence radius, but as the setFields-utility for example doesn't accept the -region option, I don't know an easy way to set up proper initial conditions... This is another gap to be closed in OpenFOAM's codes, because several other utilities like foamCalc of wallHeatFlux do not accept this option, too, and are not usable in such a splitted mesh calculations therefore. Does anybody know how to modify for example the setFields utility in order to use it for regions? Or is it my fault and those utilities can be used in splitted mesh cases? How do I have to use them then? Pawel, you advised me to check the internal boundaries. What could be done wrong on the internal boundaries? The only thing I could think of are different initial values for temperature on these patches, but I am not even sure if that would make the calculation crash... Thanks in advance, and as I said above, special thanks to Pawel for his detailed instructions! Greetings Sebastian |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
---------Tutorial help | mech | FLUENT | 4 | May 16, 2007 03:43 |
tutorial 6 in Fluent 6.2 tutorial and Mesh | pilli4u | FLUENT | 2 | April 2, 2007 06:09 |
3D Tutorial | MJ | FLUENT | 0 | January 16, 2007 09:45 |
tutorial | masood yooceframandi | FLUENT | 1 | January 25, 2005 13:28 |
tutorial | adil | FLUENT | 0 | March 8, 2004 04:48 |