WhiteW |
February 15, 2022 03:49 |
Options to use mapFields in parallel
Hello,
I have some problems to use mapFields with OpenFOAM.
I run an analysis with rhoSimpleFoam in parallel and I have both the decomposed and reconstructed simulation at the iteration 7000 (sim01).
Now I slightly changed the mesh, I added the boundary layers in some patches but the patches are the same (so mesh is consistent).
I'm trying to map the results of sim01 on the new mesh of sim02.
But there is a different error on each option of mapFields I try. I can map form and to both the decomposed or reconstructed cases.
MapFields seems to work only on the cavity tutorial case..
Here the errors Im getting with the different options.
mpirun -np 56 mapFieldsPar ../sim01/ -consistent -sourceTime 7000 -parallelTarget -parallel >logs/mapFields
Code:
#0 Foam::error::printStack(Foam::Ostream&)[42] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[45] #0 Foam::error::printStack(Foam::Ostream&)[24] #1 Foam::sigFpe::sigHandler(int)[1] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[42] #1 Foam::sigFpe::sigHandler(int) at ??:?
[24] #2 ?[10] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
at ??:?
[45] #1 Foam::sigFpe::sigHandler(int)[1] #1 Foam::sigFpe::sigHandler(int)[48] #0 Foam::error::printStack(Foam::Ostream&)[12] #0 Foam::error::printStack(Foam::Ostream&) in /lib/x86_64-linux-gnu/libc.so.6
[24] #3 Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::calculate(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, bool)[41] #0 Foam::error::printStack(Foam::Ostream&)[32] #0 Foam::error::printStack(Foam::Ostream&)[46] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
at ??:?
[42] #2 ? at ??:?
[10] #1 Foam::sigFpe::sigHandler(int)[24] #4 Foam::fluidThermo::addfvMeshConstructorToTable<Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > > >::New(Foam::fvMesh const&, Foam::word const&)[29] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[45] #2 ? at ??:?
in /lib/x86_64-linux-gnu/libc.so.6
at ??:?
[1] #2 ? at ??:?
mpirun -np 56 mapFields ../sim01/ -consistent -sourceTime 7000 -paralleSource -parallelTarget -parallel >logs/mapFields
or
mpirun -np 56 mapFields ../sim01/ -consistent -sourceTime 7000 >logs/mapFields -parallel
Code:
Primary job terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
^Cmpirun: abort is already in progress...hit ctrl-c again to forcibly terminate
mpirun: Forwarding signal 18 to job
[kigen:54076] *** Process received signal ***
[kigen:54076] Signal: Segmentation fault (11)
[kigen:54076] Signal code: Address not mapped (1)
[kigen:54076] Failing at address: 0x30
[kigen:54076] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x46520)[0x7f7a3e64d520]
[kigen:54076] [ 1] /lib/x86_64-linux-gnu/libpmix.so.2(PMIx_Finalize+0x53d)[0x7f7a3bf1e9ed]
[kigen:54076] [ 2] /usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_pmix_ext3x.so(ext3x_client_finalize+0x3aa)[0x7f7a3c097caa]
[kigen:54076] [ 3] /usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_ess_hnp.so(+0x4bb6)[0x7f7a3e416bb6]
[kigen:54076] [ 4] /usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/mca_ess_hnp.so(+0x4c55)[0x7f7a3e416c55]
[kigen:54076] [ 5] /lib/x86_64-linux-gnu/libevent_core-2.1.so.7(+0x1cebf)[0x7f7a3e84bebf]
[kigen:54076] [ 6] /lib/x86_64-linux-gnu/libevent_core-2.1.so.7(event_base_loop+0x52f)[0x7f7a3e84c75f]
[kigen:54076] [ 7] mpirun(+0x128c)[0x5575e827e28c]
[kigen:54076] [ 8] /lib/x86_64-linux-gnu/libc.so.6(+0x2dfd0)[0x7f7a3e634fd0]
[kigen:54076] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x7d)[0x7f7a3e63507d]
[kigen:54076] [10] mpirun(+0x1425)[0x5575e827e425]
[kigen:54076] *** End of error message ***
Segmentation fault (core dumped)
I succeeded in map the fields using mapFieldsPar in serial as:
mapFieldsPar ../sim01/ -consistent -sourceTime 7000 >logs/mapFields
but then I get an error when I try to dun the analysis (the setting is the same as sim01)
mpirun -np 56 rhoSimpleFoam -parallel
Code:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2112 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : _14aeaf8dab-20211220 OPENFOAM=2112 version=v2112
Arch : "LSB;label=32;scalar=64"
Exec : rhoSimpleFoam -parallel
Date : Feb 15 2022
Time : 06:59:10
Host : kigen
PID : 52646
I/O : uncollated
Case : /home/nablawave/REPO/tccl_repo/sim_09
nProcs : 56
Hosts :
(
(kigen 56)
)
Pstream initialized with:
floatTransfer : 0
nProcsSimpleSum : 0
commsType : nonBlocking
polling iterations : 0
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20)
allowSystemOperations : Allowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create mesh for time = 0
SIMPLE: convergence criteria
field p_rgh tolerance 0.001
field p tolerance 0.001
field U tolerance 0.0001
field h tolerance 0.0001
field "(k|epsilon|omega)" tolerance 0.0001
Reading thermophysical properties
Selecting thermodynamics package
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleEnthalpy;
}
[10] #0 Foam::error::printStack(Foam::Ostream&)[42] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[47] #0 Foam::error::printStack(Foam::Ostream&)[10] #1 Foam::sigFpe::sigHandler(int)[5] #0 Foam::error::printStack(Foam::Ostream&)[4] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[42] #1 Foam::sigFpe::sigHandler(int)[14] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[10] #2 ?[27] #0 Foam::error::printStack(Foam::Ostream&)[19] #0 Foam::error::printStack(Foam::Ostream&) in /lib/x86_64-linux-gnu/libc.so.6
[10] #3 Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::calculate(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, bool)[26] #0 Foam::error::printStack(Foam::Ostream&)[48] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[5] #1 Foam::sigFpe::sigHandler(int)[11] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[20] #0 Foam::error::printStack(Foam::Ostream&)[41] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[42] #2 ?[47] #1 Foam::sigFpe::sigHandler(int) at ??:?
[4] #1 Foam::sigFpe::sigHandler(int) at ??:?
[10] #4 Foam::fluidThermo::addfvMeshConstructorToTable<Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > > >::New(Foam::fvMesh const&, Foam::word const&) in /lib/x86_64-linux-gnu/libc.so.6
[42] #3 Foam::heRhoThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::calculate(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, bool)[31] #0 Foam::error::printStack(Foam::Ostream&)[40] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[14] #1 Foam::sigFpe::sigHandler(int) at ??:?
[26] #1 Foam::sigFpe::sigHandler(int) at ??:?
[27] #1 Foam::sigFpe::sigHandler(int) at ??:?
|