Phicau |
June 26, 2013 10:42 |
fails in parallel with -otherTime?
Hi all,
I've just started using swak4foam as I learned some of its greatest features during OFW8.
I am trying to obtain dynamic pressure (excess over the hydrostatic), i.e. total pressure (p) of any time minus the one of the initial time step (actually of the first calculated time step) for a parallelized case.
My command is as follows:
Code:
mpirun -np 8 funkySetFields -parallel -time '0.1:' -otherTime 0.05 -otherCase . -create -field pDyn -expression "p-other(p)"
Resulting in:
Code:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.1.1-221db2718bbb
Exec : funkySetFields -parallel -time 0.1: -otherTime 0.05 -otherCase . -create -field pDyn -expression p-other(p)
Date : Jun 26 2013
Time : 16:22:28
Host : "phicauWS"
PID : 18356
Case : /media/work/OpenFOAM/OpenFOAM-2.1.1/run/4sidesPiles
nProcs : 8
Slaves :
7
(
"phicauWS.18357"
"phicauWS.18358"
"phicauWS.18359"
"phicauWS.18360"
"phicauWS.18361"
"phicauWS.18362"
"phicauWS.18363"
)
Pstream initialized with:
floatTransfer : 0
nProcsSimpleSum : 0
commsType : nonBlocking
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
swakVersion: 0.2.4 (Release date: 2013-05-24)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create mesh for time = 0.1
Adding case ".", region region0 at t="0.05". Fields from that case can be accessed in expression with 'other(<field>)'
[0] swak4Foam: Allocating new repository for sampledMeshes
[2] swak4Foam: Allocating new repository for sampledMeshes
[1] swak4Foam: Allocating new repository for sampledMeshes
[3] swak4Foam: Allocating new repository for sampledMeshes
[4] swak4Foam: Allocating new repository for sampledMeshes
[5] swak4Foam: Allocating new repository for sampledMeshes
[6] swak4Foam: Allocating new repository for sampledMeshes
[7] swak4Foam: Allocating new repository for sampledMeshes
Actually using time 0 in other case
Time = 0.1
Using command-line options
Creating field pDyn
Putting "p-other(p)" into field pDyn at t = "0.1" if condition "true" is true
[2] swak4Foam: Allocating new repository for sampledGlobalVariables
[3] swak4Foam: Allocating new repository for sampledGlobalVariables
[5] swak4Foam: Allocating new repository for sampledGlobalVariables
[0] swak4Foam: Allocating new repository for sampledGlobalVariables
[1] swak4Foam: Allocating new repository for sampledGlobalVariables
[4] swak4Foam: Allocating new repository for sampledGlobalVariables
[6] swak4Foam: Allocating new repository for sampledGlobalVariables
[7] swak4Foam: Allocating new repository for sampledGlobalVariables
[5]
[5]
[5] --> FOAM FATAL ERROR:
[5] Parser Error for driver FieldValueExpressionDriver at "1.9" :"Foreign mesh other does not have a field named p"
"p-other(p)"
^
----------|
Context of the error:
- Driver constructed from scratch
Evaluating expression "p-other(p)"
[5]
[5]
[5] From function parsingValue
[5] in file lnInclude/CommonValueExpressionDriverI.H at line 1081.
[5]
FOAM parallel run exiting
[5]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 5 in communicator MPI_COMM_WORLD
with errorcode 1.
The analogous command in serial runs flawlessly.
The error does not make any sense for me. Why "1.9"? Even when using "-time 0.1" instead the error is the same one. Is this a bug or simply this feature does not work in parallel?
Best,
Pablo
|