CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

chtMultiRegionSimpleFoam: crash on parallel run

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 18, 2017, 19:53
Default chtMultiRegionSimpleFoam: crash on parallel run
  #1
Senior Member
 
M. C.
Join Date: May 2013
Location: Italy
Posts: 286
Blog Entries: 6
Rep Power: 17
student666 is on a distinguished road
Hi,

I'm trying to run a cht case in parallel, but when i run:
Code:
decomposePar -allRegions
mpirun -np 8 chtMultiRegionSimpleFoam -parallel
I got following error:
Code:
Build  : dev-9a06a1e42b97
Exec   : chtMultiRegionSimpleFoam -parallel
Date   : Apr 19 2017
Time   : 00:50:05
Host   : "DESKTOP-PKLACF4"
PID    : 12598
Case   : /home/winuntu/OpenFOAM/winuntu-dev/run/MCZ/fanEnvcfMesh/Z1
nProcs : 8
Slaves :
7
(
"DESKTOP-PKLACF4.12599"
"DESKTOP-PKLACF4.12600"
"DESKTOP-PKLACF4.12601"
"DESKTOP-PKLACF4.12602"
"DESKTOP-PKLACF4.12603"
"DESKTOP-PKLACF4.12604"
"DESKTOP-PKLACF4.12605"
)

Pstream initialized with:
    floatTransfer      : 0
    nProcsSimpleSum    : 0
    commsType          : nonBlocking
    polling iterations : 0
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create fluid mesh for region domain0 for time = 0

Create fluid mesh for region domain2 for time = 0

Create solid mesh for region domain1 for time = 0

*** Reading fluid mesh thermophysical properties for region domain0

    Adding to thermoFluid

Selecting thermodynamics package
{
    type            heRhoThermo;
    mixture         pureMixture;
    transport       const;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleEnthalpy;
}

    Adding to rhoFluid

    Adding to UFluid

    Adding to phiFluid

    Adding to gFluid

    Adding to hRefFluid

    Adding to ghFluid

    Adding to ghfFluid

    Adding to turbulence

Selecting turbulence model type laminar
Selecting laminar stress model Stokes
Selecting radiationModel none
    Adding MRF

No MRF models present

    Adding fvOptions

No finite volume options present

*** Reading fluid mesh thermophysical properties for region domain2

    Adding to thermoFluid

Selecting thermodynamics package
{
    type            heRhoThermo;
    mixture         pureMixture;
    transport       const;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleEnthalpy;
}

    Adding to rhoFluid

    Adding to UFluid

    Adding to phiFluid

    Adding to gFluid

    Adding to hRefFluid

    Adding to ghFluid

    Adding to ghfFluid

    Adding to turbulence

Selecting turbulence model type laminar
Selecting laminar stress model Stokes
Selecting radiationModel none
    Adding MRF

No MRF models present

    Adding fvOptions

No finite volume options present

*** Reading solid mesh thermophysical properties for region domain1

    Adding to thermos

Selecting thermodynamics package
{
    type            heSolidThermo;
    mixture         pureMixture;
    transport       constIso;
    thermo          hConst;
    equationOfState rhoConst;
    specie          specie;
    energy          sensibleEnthalpy;
}

    Adding to radiations

Selecting radiationModel none
    Adding fvOptions

No finite volume options present

[7]
[7]
[7] --> FOAM FATAL ERROR:
[7]
    request for objectRegistry region0 from objectRegistry Z1processor7 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[7]
[7]
[7]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[7]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[7]
FOAM parallel run aborting
[7]
[7] #0  Foam::error::printStack(Foam::Ostream&)[0]
[0]
[0] --> FOAM FATAL ERROR:
[0]
    request for objectRegistry region0 from objectRegistry Z1processor0 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[0]
[0]
[0]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[0]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[0]
FOAM parallel run aborting
[0]
[0] #0  Foam::error::printStack(Foam::Ostream&)[1]
[1]
[1] --> FOAM FATAL ERROR:
[1]
    request for objectRegistry region0 from objectRegistry Z1processor1 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[1]
[1]
[1]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[1]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[1]
FOAM parallel run aborting
[1]
[1] #0  Foam::error::printStack(Foam::Ostream&)[2]
[2]
[2] --> FOAM FATAL ERROR:
[2]
    request for objectRegistry region0 from objectRegistry Z1processor2 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[2]
[2]
[2]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[2]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[2]
FOAM parallel run aborting
[2]
[2] #0  Foam::error::printStack(Foam::Ostream&)[3]
[3]
[3] --> FOAM FATAL ERROR:
[3]
    request for objectRegistry region0 from objectRegistry Z1processor3 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[3]
[3]
[3]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[3]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[3]
FOAM parallel run aborting
[3]
[3] #0  Foam::error::printStack(Foam::Ostream&)[4]
[4]
[4] --> FOAM FATAL ERROR:
[4]
    request for objectRegistry region0 from objectRegistry Z1processor4 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[4]
[4]
[4]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[4]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[4]
FOAM parallel run aborting
[4]
[4] #0  Foam::error::printStack(Foam::Ostream&)[5]
[5]
[5] --> FOAM FATAL ERROR:
[5]
    request for objectRegistry region0 from objectRegistry Z1processor5 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[5]
[5]
[5]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[5]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[5]
FOAM parallel run aborting
[5]
[5] #0  Foam::error::printStack(Foam::Ostream&)[6]
[6]
[6] --> FOAM FATAL ERROR:
[6]
    request for objectRegistry region0 from objectRegistry Z1processor6 failed
    available objects of type objectRegistry are

3
(
domain1
domain2
domain0
)
[6]
[6]
[6]     From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::objectRegistry]
[6]     in file /home/ubuntu/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
[6]
FOAM parallel run aborting
[6]
[6] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
[1] #1  Foam::error::abort() at ??:?
[4] #1  Foam::error::abort() at ??:?
[7] #1  Foam::error::abort() at ??:?
[3] #1  Foam::error::abort() at ??:?
[0] #1  Foam::error::abort() at ??:?
[2] #1  Foam::error::abort() at ??:?
[6] #1  Foam::error::abort() at ??:?
[5] #1  Foam::error::abort() at ??:?
[1] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[4] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[3] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[7] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[2] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[6] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[0] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[5] #2  Foam::objectRegistry const& Foam::objectRegistry::lookupObject<Foam::objectRegistry>(Foam::word const&) const at ??:?
[4] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #3  Foam::functionObjects::regionFunctionObject::regionFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #4  Foam::functionObjects::fvMeshFunctionObject::fvMeshFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #5  Foam::functionObjects::residuals::residuals(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #6  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::residuals>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #7  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[1] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[3] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[7] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[0] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[6] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[5] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[2] #8  Foam::functionObjects::timeControl::timeControl(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
[4] #9  Foam::functionObjectList::read() at ??:?
[3] #9  Foam::functionObjectList::read() at ??:?
[1] #9  Foam::functionObjectList::read() at ??:?
[7] #9  Foam::functionObjectList::read() at ??:?
[0] #9  Foam::functionObjectList::read() at ??:?
[6] #9  Foam::functionObjectList::read() at ??:?
[5] #9  Foam::functionObjectList::read() at ??:?
[2] #9  Foam::functionObjectList::read() at ??:?
[4] #10  Foam::Time::run() const at ??:?
[3] #10  Foam::Time::run() const at ??:?
[1] #10  Foam::Time::run() const at ??:?
[0] #10  Foam::Time::run() const at ??:?
[7] #10  Foam::Time::run() const at ??:?
[6] #10  Foam::Time::run() const at ??:?
[5] #10  Foam::Time::run() const at ??:?
[2] #10  Foam::Time::run() const at ??:?
[4] #11  Foam::Time::loop() at ??:?
[1] #11  Foam::Time::loop() at ??:?
[3] #11  Foam::Time::loop() at ??:?
[0] #11  Foam::Time::loop() at ??:?
[7] #11  Foam::Time::loop() at ??:?
[6] #11  Foam::Time::loop() at ??:?
[2] #11  Foam::Time::loop() at ??:?
[5] #11  Foam::Time::loop() at ??:?
[4] #12   at ??:?
[3] #12   at ??:?
[1] #12   at ??:?
[0] #12   at ??:?
[7] #12   at ??:?
[6] #12   at ??:?
[2] #12  ? at ??:?
[5] #12  ?????? at ??:?
[4] #13  __libc_start_main? at ??:?
[3] #13  __libc_start_main at ??:?
[1] #13  __libc_start_main at ??:?
[0] #13  __libc_start_main at ??:?
[7] #13  __libc_start_main at ??:?
[6] #13  __libc_start_main at ??:?
[2] #13  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
[4] #14   at ??:?
[5] #13  __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
[3] #14   in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #14   in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #14   in "/lib/x86_64-linux-gnu/libc.so.6"
[7] #14   in "/lib/x86_64-linux-gnu/libc.so.6"
[6] #14   in "/lib/x86_64-linux-gnu/libc.so.6"
[2] #14  ? in "/lib/x86_64-linux-gnu/libc.so.6"
[5] #14  ??????--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 4 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
 at ??:?
? at ??:?
 at ??:?
--------------------------------------------------------------------------
mpirun has exited due to process rank 4 with PID 12602 on
node DESKTOP-PKLACF4 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------
[DESKTOP-PKLACF4:12597] 2 more processes have sent help message help-mpi-api.txt / mpi-abort
[DESKTOP-PKLACF4:12597] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
The same problem dosen't appear if I run the case in serial.

Can someone explain me?

Regards
student666 is offline   Reply With Quote

Old   April 19, 2017, 16:22
Default Problem solved
  #2
Senior Member
 
M. C.
Join Date: May 2013
Location: Italy
Posts: 286
Blog Entries: 6
Rep Power: 17
student666 is on a distinguished road
Hi,

just for the records.

My case involves 3 different domains and I decided to mesh them separately.
I overcome this issue
Code:
request for objectRegistry region0
by redifining steps into my run script:
Code:
#!/bin/bash

#-------------------------------------------------------------------------------
#------------------------------------------------------------------------------
rm -r Z1 (Z1 is the folder where I join the meshes)


cp -r regionAirAmb Z1
cp -r stdCase/constantOrg/domain0  Z1/constant
cp -r stdCase/constantOrg/domain1  Z1/constant
cp -r stdCase/constantOrg/domain2  Z1/constant
cp -r stdCase/systemOrg/  Z1/
cp -f Z1/systemOrg/* Z1/system/
rm -r Z1/systemOrg/

mergeMeshes Z1 regionSolido -overwrite
mergeMeshes Z1 regionAirComb -overwrite
cp -f stdCase/constantOrg/regionProperties  Z1/constant

cd Z1/
touch 1.foam
renumberMesh -overwrite
mv -v system/changeDictionaryDictFirst system/changeDictionaryDict
changeDictionary
mv -v system/changeDictionaryDict system/changeDictionaryDictFirst
checkMesh
topoSet
splitMeshRegions -cellZones -overwrite
rm -f 0/cellToRegion
rm -f system/fvSchemes system/fvSolution

for i in 0 1 2
do
   rm -f 0/domain$i/cellToRegion
done

cp -rf ../stdCase/systemOrg/fvSchemes_fluid system/domain0/
cp -rf ../stdCase/systemOrg/fvSolution_fluid system/domain0/
cp -rf ../stdCase/systemOrg/fvSchemes_fluid system/domain2/
cp -rf ../stdCase/systemOrg/fvSolution_fluid system/domain2/
cp -rf ../stdCase/systemOrg/fvSchemes_Solid system/domain1/
cp -rf ../stdCase/systemOrg/fvSolution_Solid system/domain1/

for i in domain0 domain2
do
   mv -v system/$i/fvSchemes_fluid system/$i/fvSchemes
   mv -v system/$i/fvSolution_fluid system/$i/fvSolution
done


for i in domain1
do
   mv -v system/$i/fvSchemes_Solid system/$i/fvSchemes
   mv -v system/$i/fvSolution_Solid system/$i/fvSolution
done

for i in 0 1 2
do
   cp -f ../stdCase/0org/* 0/domain$i
done

mkdir constant/old_polyMesh
cp -r constant/polyMesh/* constant/old_polyMesh/
rm -r constant/polyMesh constant/cellToRegion

cd  system/
#mv -v domain0/ fluid1
cp -f ../../stdCase/systemOrg/changeDictionaryDictFluid1 domain0/changeDictionaryDict
#mv -v domain1/ solid
cp -f ../../stdCase/systemOrg/changeDictionaryDictSolid domain1/changeDictionaryDict
#mv -v domain2/ fluid2
cp -f ../../stdCase/systemOrg/changeDictionaryDictFluid2 domain2/changeDictionaryDict
cd ..

#rm -r system/fvS*
for i in domain0 domain1 domain2
do
   changeDictionary -region $i > log.changeDictionary.$i 2>&1
   
done

#cd 0
#rm -f *
#for i in domain0 domain1 domain2
#do
#   rm -f cellToRegion
#done
#cd ..

# remove fluid fields from solid regions (important for post-processing)
for i in domain1 #solid
do
   rm -f 0*/$i/{mut,alphat,epsilon,k,U,p_rgh}
done

## remove solid fields from fluid regions (important for post-processing)
for i in domain0 domain2 #fluid1 fluid2
do
   rm -f 0*/$i/{Ypmma,Ychar}
done

decomposePar -allRegions

mpirun -np 8 chtMultiRegionSimpleFoam -parallel 
#-----------------------------------------------------------------------------
After merging 3 domains togheter, with changeDictionaryDictFirst I set boundary properly into polyMesh folder (whole mesh).
Then I split it up. (mappedWall type set with changeDictionaryDictFirst )
After deleting the "cellToRegion" file everywhere, the run script makes:
  1. copy dummy 0org folder in each domains
  2. use changeDictionary to set them properly into each of them
  3. decompose the mesh & run chtMultiRegionSimpleFoam in parallel

By following these steps I've been able to solve my issue.

Hope this may helps others.

Regards.
student666 is offline   Reply With Quote

Old   April 19, 2017, 17:12
Default
  #3
Senior Member
 
Join Date: Sep 2013
Posts: 353
Rep Power: 21
Bloerb will become famous soon enough
Why do your merge your meshes just to split them up again?
Bloerb is offline   Reply With Quote

Old   April 20, 2017, 12:05
Default
  #4
Senior Member
 
M. C.
Join Date: May 2013
Location: Italy
Posts: 286
Blog Entries: 6
Rep Power: 17
student666 is on a distinguished road
I use this way as, after merging, all files inside polyMesh (whole mesh) are set properly, I mean, e.g in boundary file:

Code:
    { 
    version     2.0; 
    format      ascii; 
    class       polyBoundaryMesh; 
    location    "constant/polyMesh"; 
    object      boundary; 
} 
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 
 
 
5  <-- THIS NUMBER
( 
airAmbInlet 
{ 
    type empty; 
    nFaces 4847;  <-- THIS  NUMBER
    startFace 4663843;  <-- THIS NUMBER
}
and others.

I think I could go through hard bash scripting, but I chose this way.
student666 is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 92 May 21, 2024 08:56
Incompatible dimensions for operation ruben23 OpenFOAM Running, Solving & CFD 2 June 12, 2015 05:14
Can not run OpenFOAM in parallel in clusters, help! ripperjack OpenFOAM Running, Solving & CFD 5 May 6, 2014 16:25
parallel Grief: BoundaryFields ok in single CPU but NOT in Parallel JR22 OpenFOAM Running, Solving & CFD 2 April 19, 2013 17:49
Run in parallel a 2mesh case cosimobianchini OpenFOAM Running, Solving & CFD 2 January 11, 2007 07:33


All times are GMT -4. The time now is 20:42.