|
[Sponsors] | |||||
|
|
|
#1 |
|
Senior Member
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 20 ![]() |
Dear all,
just a very fast question: what about the changeDictionaryDict dictionary in chtMultiRegionFoam? Should I edit them on my own or I can use a command that prepares them and then I fix the BC that I want to? Thanks a lot, Samuele |
|
|
|
|
|
|
|
|
#2 |
|
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 130 ![]() ![]() ![]() ![]() ![]() ![]() |
Quick answer: "changeDictionaryDict" exists to make life easier for repetitive or automated dictionary editing.
Example: it's a fast way for reseting multiple boundary fields, after a failed execution of setFields.
__________________
Last edited by wyldckat; April 10, 2012 at 17:50. Reason: typo |
|
|
|
|
|
|
|
|
#3 |
|
Senior Member
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 20 ![]() |
Dear Bruno, Dear all,
thanks for this answer, too. Also, sorry if I opened different threads, but I thought it was easier to manage the discussions. Anyway, I looked at the user guide and I am finding it difficult to understand how to use the chtMultiRegion solver. Could you give me a very brief explanation of the steps? Let me explain my case: 1. I import a .msh mesh from Ansys. 2. I have this situation: - a 0 folder with the following files: epsilon, k, p, p_rgh, T, U, Tchar, Ypmma - a constant folder with some subfolders and the regionProperties file. The subfolders are the following: door_and_roof, external_air, internal_air and polyMesh - the system folder. 3. I now give the fluent3DMeshToFoam command and in the polymesh subfolder some files are created: boundary, cellZones, faces, faceZones, neighbour, owner, points, pointZones 4. the cellZone is the file where I have all the info about the different zones. 5. the topoSetDict (in the system subfolder) is the following: Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name door_and_roof;
type cellZoneSet;
action new;
source zoneToCell;
sourceInfo
{
set door_and_roof; // name of cellSet
}
}
{
name internal_air;
type cellZoneSet;
action new;
source zoneToCell;
sourceInfo
{
set internal_air; // name of cellSet
}
}
{
name external_air;
type cellZoneSet;
action new;
source zoneToCell;
sourceInfo
{
set external_air; // name of cellSet
}
}
);
// ************************************************************************* //
Is that correct? What should I do, then? Thanks for your help, Samuele |
|
|
|
|
|
|
|
|
#4 |
|
Senior Member
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 520
Rep Power: 20 ![]() |
Dear All,
I am ready to run my case. There is one more problem. I think it's something linked with the BC. I get this: Code:
lab@lab-laptop:~/Documenti/cases_OF/OF_case11_test$ chtMultiRegionFoam
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.1.0-0bc225064152
Exec : chtMultiRegionFoam
Date : Apr 11 2012
Time : 15:23:03
Host : "lab-laptop"
PID : 8053
Case : /home/lab/Documenti/cases_OF/OF_case11_test
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create fluid mesh for region internal_air for time = 0
Create fluid mesh for region external_air for time = 0
Create solid mesh for region door_and_roof for time = 0
*** Reading fluid mesh thermophysical properties for region internal_air
Adding to thermoFluid
Selecting thermodynamics package hRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
#0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/libc.so.6"
#3 Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::calculate() in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#4 Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::hRhoThermo(Foam::fvMesh const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#5 Foam::basicRhoThermo::addfvMeshConstructorToTable<Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > > >::New(Foam::fvMesh const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#6 Foam::basicRhoThermo::New(Foam::fvMesh const&) in "/opt/openfoam210/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#7
in "/opt/openfoam210/platforms/linux64GccDPOpt/bin/chtMultiRegionFoam"
#8 __libc_start_main in "/lib/libc.so.6"
#9
in "/opt/openfoam210/platforms/linux64GccDPOpt/bin/chtMultiRegionFoam"
Floating point exception
Thanks a lot, Samuele |
|
|
|
|
|
|
|
|
#5 | |
|
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 130 ![]() ![]() ![]() ![]() ![]() ![]() |
Hi Samuele,
I'll have to be quick... This seems to indicate that there was a division by zero or by infinity or a log(0), when defining the thermodynamic properties: Quote:
Best regards, Bruno
__________________
|
||
|
|
|
||
|
|
|
#6 |
|
New Member
Adam Sitko
Join Date: Apr 2012
Posts: 12
Rep Power: 15 ![]() |
Dear colleagues,
I'm trying to run chtMultiRgionHeater tutorial to understand how this stuff works. At first, I ran 'Allrun" but it created a few log files containing the information that changedictionary command were not found. it refeers to certain line in Allrun: for i in bottomAir topAir heater leftSolig rightSolid do changeDictionary -region $i > log.changeDictionary.$i 2>&1 done What's the problem and what can I do to fix it? BR Adam |
|
|
|
|
|
|
|
|
#7 | |
|
Member
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 16 ![]() |
Hi Samiam,
I hope you managed to solve your problem and run your case. I am having some problems in running the case with chtMultiRegionFoam too. I have two independent mesh, both meshed by snappyHexMesh. These two meshes together makes my complete geometry. With these two meshes, I create two cellZones. Now, to make the polyMesh directory of the base mesh, I mergeMesh the two meshes. Then, I use splitMeshRegions -cellZones -overwrite to update my mesh in two zones correctly, solid and fluid. When I run the case, I see that the temperature is not passed from the fluid side to the solid side. I use the standard BCs from the tutorial of chtMultiRegionHeater for the temperature field. When I run checkMesh on the base mesh, I see that it generates a message Code:
The mesh has multiple regions which are not connected by any face. <<Writing region information to "0.0038/cellToRegion" Thanks, Dhruv. Quote:
|
||
|
|
|
||
|
|
|
#8 |
|
Senior Member
|
I wonder why it would write to a folder 0.0038/cellToRegion. At which timestep do you start?
I would suggest to have a look into your system/controlDict and check if it really works from the correct timestep... Though I would not know how this problem comes into existence... |
|
|
|
|
|
|
|
|
#9 | |
|
Member
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 16 ![]() |
Oh.. this is because I used checkMesh -latestTime. Otherwise, I start from 0 timestep.
Quote:
|
||
|
|
|
||
|
|
|
#10 |
|
Member
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 16 ![]() |
Ok... so, I did a little more investigation into the case, and found out that, when the splitMeshRegions is used in the chtMultiRegionFoam tutorial, it generates some intermediate patches at the interface, e.g bottomair_to_heater, etc. However, when I use splitMeshRegions to split my base mesh, it does not generate these patches. I think therein lies the problem. Now, as I understand, in tutorial, the regions are created from a single base mesh, and hence the creation of intermediate patches are necessary. In my case, I have two separate mesh. Is it necessary here too? How can I resolve this? Please, any suggestions.
Thanks, Dhruv. |
|
|
|
|
|
|
|
|
#11 |
|
New Member
Helmut Roth
Join Date: Mar 2009
Posts: 23
Rep Power: 18 ![]() |
What information do you get in "0.0038/cellToRegion"? Could the existence of regions not connected by any faces be caused by the interfaces not being everywhere coincident?
|
|
|
|
|
|
|
|
|
#12 | |
|
Member
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 16 ![]() |
Quote:
Thanks for the response. What do you exactly mean by coincident? I have two regions in my mesh. If I view them in parafoam, they perfectly align over each other. |
||
|
|
|
||
|
|
|
#13 |
|
New Member
Helmut Roth
Join Date: Mar 2009
Posts: 23
Rep Power: 18 ![]() |
I was just thinking you might have some small void spaces between the two mesh patches that form the interface. This could happen, for example, if the interface is a curved surface and the two zones have been independently snappyHex'd.
|
|
|
|
|
|
|
|
|
#14 |
|
Member
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 16 ![]() |
Yes, i have meshed the two zones separately by snappy. So, i just made two cases, which have the same geometry and blockMesh, and changed the locationInMesh in both, to generate my solid and fluid region. Thereafter, I created zones in these meshes, and used mergeMesh to create my base mesh for chtMultiRegionFoam. Is there any other way that I can do this? Please suggest me.
|
|
|
|
|
|
|
|
|
#15 | |
|
New Member
Learner
Join Date: Nov 2011
Location: Ingolstadt
Posts: 27
Rep Power: 16 ![]() |
Quote:
Have you been able to solve your problem. Can you please share the solution too? I feel there might be a problem in inputting the values in thermophysicalproperties.... Thanks..... Raghu |
||
|
|
|
||
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Error in chtMultiRegionFoam | kirankarki | OpenFOAM | 6 | August 21, 2018 09:00 |
| Altering chtMultiRegionFoam | jabecker | OpenFOAM Running, Solving & CFD | 0 | June 30, 2011 10:58 |
| chtmultiregionFoam | alvora | OpenFOAM | 9 | February 23, 2011 04:06 |
| Simplifying chtMultiRegionFoam | miket | OpenFOAM Running, Solving & CFD | 0 | November 24, 2010 14:36 |
| chtMultiRegionFoam with liquid | phsieh2005 | OpenFOAM Running, Solving & CFD | 0 | October 9, 2010 07:07 |