CyclicAMI, groovyBC issues
I'm running a simple blade cascade (internal as in turbomachinery) with cyclic AMI on the 'top' and 'bottom' patches, an inlet that is defined as a groovyBC which in turn is a sinosidual shaped inlet velocity that moves with time, trying to simulate basically a passing wake. Now I keep getting this error after doing a reconstructPar not sure what is the cause, or if this is a bug, any help would be greatly appreciated.
Reconstructing FV fields Reconstructing volScalarFields gamma AMI: Creating addressing and weights between 0 source faces and 119 target faces --> FOAM Warning : From function AMIInterpolation<SourcePatch, TargetPatch>::checkPatches(const primitivePatch&, const primitivePatch&) in file lnInclude/AMIInterpolation.C at line 146 Source and target patch bounding boxes are not similar source box span : (0 0 0) target box span : (0.193091 0.0297606 0.00939589) source box : (0 0 0) (0 0 0) target box : (-1.70644 -0.677052 -0.00469794) (-1.51335 -0.647292 0.00469794) inflated target box : (-1.71622 -0.686832 -0.0144778) (-1.50357 -0.637512 0.0144778) --> FOAM FATAL ERROR: Supplied field size is not equal to target patch size source patch = 0 target patch = 0 supplied field = 119 From function AMIInterpolation::interpolateToSource(const Field<Type>) const in file /home/saa2903/OpenFOAM/OpenFOAM-2.1.1/src/meshTools/lnInclude/AMIInterpolation.C at line 1931. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #1 Foam::error::abort() in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so" #2 void Foam::AMIInterpolation<Foam::PrimitivePatch<Foam:: face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> >, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > >::interpolateToSource<double, Foam::combineBinaryOp<double, Foam::plusEqOp<double> > >(Foam::UList<double> const&, Foam::combineBinaryOp<double, Foam::plusEqOp<double> > const&, Foam::List<double>&) const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #3 Foam::tmp<Foam::Field<double> > Foam::AMIInterpolation<Foam::PrimitivePatch<Foam:: face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> >, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > >::interpolateToSource<double, Foam::plusEqOp<double> >(Foam::Field<double> const&, Foam::plusEqOp<double> const&) const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #4 Foam::cyclicAMIFvPatch::makeWeights(Foam::Field<do uble>&) const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #5 Foam::surfaceInterpolation::makeWeights() const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #6 Foam::surfaceInterpolation::weights() const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #7 Foam::surfaceInterpolation::makeDeltaCoeffs() const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #8 Foam::surfaceInterpolation::deltaCoeffs() const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #9 Foam::fvPatch::deltaCoeffs() const in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libfiniteVolume.so" #10 Foam::groovyBCFvPatchField<double>::groovyBCFvPatc hField(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/saa2903/OpenFOAM/saa2903-2.1.1/platforms/linux64GccDPOpt/lib/libgroovyBC.so" #11 Foam::fvPatchField<double>::adddictionaryConstruct orToTable<Foam::groovyBCFvPatchField<double> >::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/saa2903/OpenFOAM/saa2903-2.1.1/platforms/linux64GccDPOpt/lib/libgroovyBC.so" #12 Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reconstructPar" #13 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::GeometricB oundaryField(Foam::fvBoundaryMesh const&, Foam::DimensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reconstructPar" #14 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readField(Foam::dictionary const&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reconstructPar" #15 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readField(Foam::Istream&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reconstructPar" #16 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricField(Foam::IOobject const&, Foam::fvMesh const&) in "/home/saa2903/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/reconstructPar" |
Quote:
Could you try replacing the groovyBC-BC with a "mixed" (groovys next relative) and see whether the problem happens also? If yes: I deny all responsibility |
Quote:
I used this case with AMI, and just a regular fixedValue inlet velocity and all was good without any issues with periodicity. The case runs, albeit bombs but the issue is the reconstructPar. |
Quote:
http://i1250.photobucket.com/albums/...ps327a7f7a.png This case actually works in a serial run. The mesh is 2D. |
Quote:
|
Quote:
Thanks for your help. |
Quote:
So reconstructPar will put together p, nut, k and so on, but crash on U. When I switched back to a regular fixedValue with U inlet, reconstructPar worked well. Can send you the case if you are interested further. I noticed the following message: --> FOAM Warning : From function groovyBCFvPatchField<Type>::groovyBCFvPatchField(c onst fvPatch& p,const DimensionedField<Type, volMesh>& iF,const dictionary& dict) in file groovyBCFvPatchField.C at line 124 No value defined for U on INLET therefore using 180{(0 0 0)} Guess I might not be using it correctly, say you wanted to specify a vector (Vx,Vy,0) would you do this? INLET { type groovyBC; variables "Vx=5;Vy=-5;"; valueExpression "vector(Vx,Vy,0)"; value uniform (5 -5 0) } ? |
Quote:
Quote:
Quote:
Quote:
|
Quote:
|
Quote:
https://docs.google.com/file/d/0B6-u...xMb1JkUU0/edit |
Quote:
For the reconstruction: try if you can reproduce the behaviour with the simplest blockMesh: top&bottom AMI, left mixed. If that shows the same during reconstruction attach it to a bug-report at http://www.openfoam.org/bugs/ |
Hello Guys
I'm just facing the same problem. All the fields I use groovyBC are not possible to reconstruct, since it seams to try to recalculate the AMI-Information but fails in the constructor while searching for source and target faces. My guess is that it tries to construct the AMI-object locally in the processor directories and fails since it's not able to find the complete patch. Anyway I do not understand why at all it wants to create the whole AMI-object since all I want is that it collects the boundary data and write cyclicAMI on the reconstructed patch. Any ideas on how to fix this? Kind regards Peter |
Quote:
|
3 Attachment(s)
Hi all,
I seem to have a related error, which I used to analyse this in slightly more depth: My mesh consists out of a polyhedral outer part and a structured hexahedral inner part. Within the inner part there is another hexahedral part. Between the two inner hexahedral parts there is an AMI interface because of some sloped geometry which would otherwise mess up the structure. The second AMI interface is between the polyhedral part and the outer hexahedral part. A few attached pictures illustrate the mesh. Unfortunately I cannot show more details of the inner part, but I hope you get the general idea. The checkMesh result is ok and also the AMI weights are very close to 1: checkMesh: Code:
Build : 5.x-c409ae7d9096 Code:
Build : 5.x-da23476f9d01 However upon reconstruction of the case I get an error: Code:
Build : 5.x-da23476f9d01 The weird thing is that with a more complicated inner inner part there is no problem even though there are more groovyBC boundary conditions and a more complicated AMI interface. I thought it may have been related to the different AMI parts being in different processors, but decomposing the mesh with preservePatches did not solve this issue. I also made a test on my computer using 5 domains with the simple method, which gives a different output: Code:
Build : 5.x-c409ae7d9096 Running the case with mixed does give the same issue as above. So I think we can conclude it is an issue with OpenFOAM, not with swak4Foam/groovyBC. Unfortunately I do not know if I can make an easy example for the bug report as one case works without a problem and the other case does not. The case that breaks down should not be completely confidential, but will have to check this with our client. |
Quote:
Quote:
groovyBC is a decendant of the mixed-BC. The weights are needed for the gradient-calculations. If you only implement a Dirichlet-condition with groovy try the groovyBCFixedValue-condition. Maybe it doesn't need these calculations and you're fine. Let me know if this works |
Quote:
Quote:
Quote:
|
Quote:
|
Hi,
Thanks for the suggested work-around but actually I can postprocess the decomposed case in paraView. For data saving we would like to keep the reconstructed case, but I will find a way. Regards, Tom |
Dear Tom Fahner,
Quote:
Did you find a way to the above mentioned Problem? Although I am able to post-process the results in parallel, reconstruction is not possible. You can find my case in the following link. https://www.cfd-online.com/Forums/op...ity-inlet.html Thank you, Krao |
Hi Krao,
I just checked and no I did not find a work-around just stuck with the decomposed case. Regards, Tom |
All times are GMT -4. The time now is 06:02. |