CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

chtMultiRegionFoam

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   April 6, 2012, 06:56
Default chtMultiRegionFoam
  #1
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 490
Rep Power: 9
samiam1000 is on a distinguished road
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
samiam1000 is offline   Reply With Quote

Old   April 6, 2012, 17:28
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,301
Blog Entries: 34
Rep Power: 84
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
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 16:50. Reason: typo
wyldckat is offline   Reply With Quote

Old   April 10, 2012, 04:41
Default
  #3
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 490
Rep Power: 9
samiam1000 is on a distinguished road
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
samiam1000 is offline   Reply With Quote

Old   April 11, 2012, 09:36
Default
  #4
Senior Member
 
Samuele Z
Join Date: Oct 2009
Location: Mozzate - Co - Italy
Posts: 490
Rep Power: 9
samiam1000 is on a distinguished road
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
What can I do? Are che `changeDictionary' files compulsory?

Thanks a lot,

Samuele
samiam1000 is offline   Reply With Quote

Old   April 11, 2012, 16:42
Default
  #5
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,301
Blog Entries: 34
Rep Power: 84
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
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:
Originally Posted by samiam1000 View Post
Code:
#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"
Quote:
Originally Posted by samiam1000 View Post
Are che `changeDictionary' files compulsory?
That dictionary can help you quickly re-apply boundary conditions. Read the file "system/changeDictionaryDict" and compare with what you got in the respective dictionaries, right before changeDictionary is called.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   April 30, 2012, 05:02
Default
  #6
New Member
 
Adam Sitko
Join Date: Apr 2012
Posts: 12
Rep Power: 5
sitekss is on a distinguished road
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
sitekss is offline   Reply With Quote

Old   May 3, 2012, 03:05
Default Problem setting up chtMultiRegion Case
  #7
Member
 
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 5
dhruv is on a distinguished road
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"
Can this be causing the problem? Or there is a problem in the BCs? Any help is very much appreciated.

Thanks,
Dhruv.

Quote:
Originally Posted by samiam1000 View Post
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
What can I do? Are che `changeDictionary' files compulsory?

Thanks a lot,

Samuele
dhruv is offline   Reply With Quote

Old   May 3, 2012, 11:05
Default
  #8
Senior Member
 
Bernhard Linseisen
Join Date: May 2010
Location: Magdeburg/Geneva
Posts: 178
Blog Entries: 1
Rep Power: 7
Linse is on a distinguished road
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...
Linse is offline   Reply With Quote

Old   May 3, 2012, 11:28
Default checkMesh
  #9
Member
 
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 5
dhruv is on a distinguished road
Oh.. this is because I used checkMesh -latestTime. Otherwise, I start from 0 timestep.

Quote:
Originally Posted by Linse View Post
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...
dhruv is offline   Reply With Quote

Old   May 7, 2012, 03:11
Default Problem setting up chtMultiRegion Case
  #10
Member
 
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 5
dhruv is on a distinguished road
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.
dhruv is offline   Reply With Quote

Old   May 7, 2012, 14:03
Default
  #11
New Member
 
Helmut Roth
Join Date: Mar 2009
Posts: 23
Rep Power: 8
helmut is on a distinguished road
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?
helmut is offline   Reply With Quote

Old   May 8, 2012, 05:03
Default Problem setting up chtMultiRegion Case
  #12
Member
 
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 5
dhruv is on a distinguished road
Quote:
Originally Posted by helmut View Post
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?
Hi Helmut,

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.
dhruv is offline   Reply With Quote

Old   May 8, 2012, 09:17
Default
  #13
New Member
 
Helmut Roth
Join Date: Mar 2009
Posts: 23
Rep Power: 8
helmut is on a distinguished road
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.
helmut is offline   Reply With Quote

Old   May 9, 2012, 02:43
Default Problem setting up chtMultiRegion Case
  #14
Member
 
supercommandodhruv
Join Date: Sep 2011
Posts: 57
Rep Power: 5
dhruv is on a distinguished road
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.

Quote:
Originally Posted by helmut View Post
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.
dhruv is offline   Reply With Quote

Old   June 4, 2012, 10:02
Default
  #15
New Member
 
Learner
Join Date: Nov 2011
Location: Ingolstadt
Posts: 27
Rep Power: 5
raghu.tejaswi is on a distinguished road
Quote:
Originally Posted by samiam1000 View Post
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
What can I do? Are che `changeDictionary' files compulsory?

Thanks a lot,

Samuele
Hi samiam1000,

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
raghu.tejaswi is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Error in chtMultiRegionFoam kirankarki OpenFOAM 5 October 24, 2012 17:20
Altering chtMultiRegionFoam jabecker OpenFOAM Running, Solving & CFD 0 June 30, 2011 09: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 06:07


All times are GMT -4. The time now is 19:15.