decomposePar pointfield
Dear All foamers:
I have met a problem when I use decomposePar to decompose the field which has a dynamic boundary. The boundary motion is described with a pointfield. The problem appears when the decompose plane crosses the dynamic boundary. Otherwise, it seems Ok. In additiion, I have found that the problem has been encountered by other users, but it seems that there are nobody to solve it. My error information as follows: [6] --> FOAM FATAL IO ERROR: [6] size 6977 is not equal to the given value of 933 [2] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor2/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [2] [2] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [2] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [2] FOAM parallel run exiting [2] [6] [6] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor6/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [6] [6] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [6] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [6] FOAM parallel run exiting [6] [0] [0] --> FOAM FATAL IO ERROR: [0] size 6977 is not equal to the given value of 944 [0] [0] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor0/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [0] [0] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [0] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [0] FOAM parallel run exiting [0] [4] [4] --> FOAM FATAL IO ERROR: [4] size 6977 is not equal to the given value of 866 [4] [4] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor4/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [4] [4] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [4] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [4] FOAM parallel run exiting [4] [7] [7] [3] [3] [3] --> FOAM FATAL IO ERROR: [3] size 6977 is not equal to the given value of 876 [3] [3] [7] --> FOAM FATAL IO ERROR: [7] size 6977 is not equal to the given value of 1025 [7] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor3/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [3] [3] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [3] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236[7] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor7/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [7] [7] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [7] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C. [3] FOAM parallel run exiting [3] at line 236. [7] FOAM parallel run exiting [7] [1] [1] [1] --> FOAM FATAL IO ERROR: [1] size 6977 is not equal to the given value of 840 [1] [1] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor1/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [1] [1] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [1] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [1] FOAM parallel run exiting [1] [5] [5] [5] --> FOAM FATAL IO ERROR: [5] size 6977 is not equal to the given value of 808 [5] [5] file: /gpfs/home/xgcui/OpenFOAM/xgcui-2.0.0/run/test1/flow3d-movingmesh-f-3/processor5/0/pointMotionU::boundaryField::WALL1 from line 26 to line 7013. [5] [5] From function Field<Type>::Field(const word& keyword, const dictionary&, const label) [5] in file /usr/local/OpenFOAM/OpenFOAM-2.0.0/src/OpenFOAM/lnInclude/Field.C at line 236. [5] FOAM parallel run exiting Does anybody have any ideas on it? Would you please give me some hints on it? Best wishes! |
Hi,
as you wrote in the PM you have an error while decomposing. Like I interprete the error you have the files in 0 always initialised with a other mesh. Maybe thats the reason! |
Hey Tobi:
Many thanks for your reply. In this case, how may I solve the problem? Please give me some hints on it. Quote:
|
1. use decomposePar -force
2. check in your folder 0 the files pointMotionU if there are any lists in it. If yes you have to create that folder new. I am not familiar with moving meshes |
Dear Tobi:
Thanks so much for your reply. It stil doesn't work. However, I found that the problem comes from the number of p0 is not equal to the mesh point number. If I change the data in the pointMotionU and make the value uniform and delete the number of value. It will work. Quote:
|
2 Attachment(s)
Hey Bruno and all fomers:
I upload a simple case, it is orginally downloaded from the link as follows: http://www.tfd.chalmers.se/~hani/kur...atchDeform.tgz It is orginally solved with icoFoam, but I have changed it to the pimpleDyMFoam. The lib file is for the moving boundary. As my case is very large and it is changed based this case, then I uploaded this case. My problem is the same as it. It will be great for any further suggestions. Quote:
|
Hi Xinguang Cui,
I've finally taken a look into this and I cannot find any problems. I've tested on OpenFOAM 2.2.x, 2.0.x and 2.0.1 and I had no problems in performing the following steps: Code:
wmake libso libMyPolynomVelocity Best regards, Bruno |
DEAR BRUNO:
Thanks for the information. Would you please put up the decomposePar file? I would like to see the way to decompose the mesh. bEST WISHES Quote:
|
Hi Xinguang Cui,
I didn't change anything on the "decomposeParDict". I used the one provided in your test case. All I did was clean up a bit the folder "0", by removing some strange files named ".goutputstream*" and one named "pointMotionU~". Best regards, Bruno |
Hey Bruno:
Thanks sor your reply. Have ever tried to run it? I also can decompose it, however it shows problem when it runs the case using pimpleDyMFoam. I also tried it in 2.2 0 and 2.1.1. Thanks and best wishes! Quote:
|
1 Attachment(s)
Hi Xinguang Cui,
:( The error was completely different from the one originally reported... and the case you prepared seems to be completely different from the initial report... and on top of that, the case was not fully prepared to run... Anyway, the attached case "movingCyl1_22x.tar.gz" runs fine on OpenFOAM 2.2.x. To run it: Code:
./Allrun Code:
./Allclean
Best regards, Bruno |
Hi Bruno
It seems that the problem still exists. when I run the attached case in parallel I still see the reported problem in this page. I have same problem with my case, when I run it with pimpleDyMFoam in parallel. has anybody found a solution for this problem? Best Regards, Marhamat |
Dear BRUNO:
Thanks so much for your reply, what your mention is right. I attached a different case, which is different with my orginal case because its size is small enough to attach. I will try the case you attached, and give you feedback ASAP. 3X Quote:
|
Greetings to all!
@Marhamat: Quote:
@Xinguang: Quote:
Best regards, Bruno |
Hey Bruno:
Many thanks for your reply and help. I have test in 2.2.0 and it works in this way. However, I found another bug in this case. When I reconstuctPar -lastestTime, and then I decomposePar it Code:
Decomposing mesh region0 Quote:
|
Dear Bruno
Now when I run the attached case "movingCyl1_22x.tar.gz" on OpenFOAM 2.1.1. by using the Code: ./Allrun I get the below error: Code:
*---------------------------------------------------------------------------*\ Marhamt |
By updating my OF version to OF-2.2.0, now I can run the attached case in parallel. but in my own case I get the below error:
Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // so what is the reason of this error? Thanks alot, Marhamat. |
By changing the dynamicMeshDic the problem solved.
Thanks, Marhamat |
1 Attachment(s)
Hi Marhamat and Xinguang,
Marhamat sent me a private message with pretty much the same problem that Xinguang has got right now. The problem is not an easy one to solve and attached is only the first part of the solution, namely a case that should work... but doesn't work because of the broken "libMyPolynomVelocity" library. I'm not sure when I'll be able to look into this library code... I'll try to look at it tomorrow. In the meantime, please study attached case file. And please also study the post from the second link in my signature... namely this one: How to post code using [CODE] Best regards, Bruno |
2 Attachment(s)
Hi Marhamat and Xinguang,
I've finally managed to look at this and make things work. A description of the necessary changes:
---- edit: I had a look at how it would be possible to avoid the need for "preservePatches". From what I can understand, the problem is that the "libMyPolynomVelocity" library does not implement all of the necessary methods and constructors. Compare with the class "sixDoFRigidBodyDisplacementPointPatchVectorFi eld" of the same kind of mesh manipulation: Code:
src/postProcessing/functionObjects/forces/pointPatchFields/derived/sixDoFRigidBodyDisplacement/sixDoFRigidBodyDisplacementPointPatchVectorField.H Best regards, Bruno |
All times are GMT -4. The time now is 12:50. |