|
[Sponsors] |
Setup of cyclicAMI in chtMultiRegionSimpleFoam |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
December 9, 2018, 08:05 |
Setup of cyclicAMI in chtMultiRegionSimpleFoam
|
#1 |
New Member
charles
Join Date: Dec 2018
Posts: 2
Rep Power: 0 |
Dear Sir /Madam,
I have a simple geometry consisting of a small cyllinder inside a large rectangular box. Pretty much it is a flow over a cylinder. The 2D case is of interest so the faces in the z direction was set to empty. I am trying to setup a cyclicAMI boundary conditions for the top and bottom surface. The solver is chtMultiRegionSimpleFoam I have been stuck on the following error for a long time now. Any assistance would be appreciated. Thanks. Error code using the command PHP Code:
Code:
Create time --> FOAM Warning : From function static Foam::IOstreamOption::compressionType Foam::IOstreamOption::compressionEnum(const Foam::word&) in file db/IOstreams/IOstreams/IOstreamOption.C at line 86 Unknown compression specifier 'uncompressed', assuming no compression Create fluid mesh for region Air for time = 0 Create solid mesh for region cylinder for time = 0 *** Reading fluid mesh thermophysical properties for region Air Adding to thermoFluid Selecting thermodynamics package { type heRhoThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleEnthalpy; } AMI: Creating addressing and weights between 125 source faces and 125 target faces --> FOAM Warning : From function void Foam::AMIMethod<SourcePatch, TargetPatch>::checkPatches() const [with SourcePatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; TargetPatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>] in file lnInclude/AMIMethod.C at line 57 Source and target patch bounding boxes are not similar source box span : (0.25 0 0.01) target box span : (0.25 0 0.01) source box : (-0.075 -0.05 0) (0.175 -0.05 0.01) target box : (-0.075 0.05 0) (0.175 0.05 0.01) inflated target box : (-0.08751 0.03749 -0.01251) (0.18751 0.06251 0.02251) --> FOAM FATAL ERROR: Unable to find initial target face From function bool Foam::AMIMethod<SourcePatch, TargetPatch>::initialise(Foam::labelListList&, Foam::scalarListList&, Foam::labelListList&, Foam::scalarListList&, Foam::label&, Foam::label&) [with SourcePatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; TargetPatch = Foam::PrimitivePatch<Foam::face, Foam::SubList, const Foam::Field<Foam::Vector<double> >&>; Foam::labelListList = Foam::List<Foam::List<int> >; Foam::scalarListList = Foam::List<Foam::List<double> >; Foam::label = int] in file lnInclude/AMIMethod.C at line 127. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::AMIMethod<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> > >::initialise(Foam::List<Foam::List<int> >&, Foam::List<Foam::List<double> >&, Foam::List<Foam::List<int> >&, Foam::List<Foam::List<double> >&, int&, int&) at ??:? #3 Foam::faceAreaWeightAMI<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> > >::calculate(Foam::List<Foam::List<int> >&, Foam::List<Foam::List<double> >&, Foam::List<Foam::List<int> >&, Foam::List<Foam::List<double> >&, int, int) at ??:? #4 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> > >::update(Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&) at ??:? #5 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> > >::constructFromSurface(Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, Foam::autoPtr<Foam::searchableSurface> const&) at ??:? #6 Foam::cyclicAMIPolyPatch::resetAMI(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> > >::interpolationMethod const&) const at ??:? #7 Foam::cyclicAMIPolyPatch::AMI() const at ??:? #8 Foam::cyclicAMIPolyPatch::applyLowWeightCorrection() const at ??:? #9 Foam::cyclicAMIFvPatch::makeWeights(Foam::Field<double>&) const at ??:? #10 Foam::surfaceInterpolation::makeWeights() const at ??:? #11 Foam::surfaceInterpolation::weights() const at ??:? #12 Foam::surfaceInterpolation::makeDeltaCoeffs() const at ??:? #13 Foam::surfaceInterpolation::deltaCoeffs() const at ??:? #14 Foam::fvPatch::deltaCoeffs() const at ??:? #15 Foam::fvPatchField<double>::snGrad() const in ~/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam #16 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::heBoundaryCorrection(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) at ??:? #17 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::init(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) at ??:? #18 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleEnthalpy> > > >::heThermo(Foam::fvMesh const&, Foam::word const&) at ??:? #19 Foam::rhoThermo::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&) at ??:? #20 Foam::autoPtr<Foam::rhoThermo> Foam::basicThermo::New<Foam::rhoThermo>(Foam::fvMesh const&, Foam::word const&) at ??:? #21 Foam::rhoThermo::New(Foam::fvMesh const&, Foam::word const&) at ??:? #22 ? in ~/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam #23 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #24 ? in ~/OpenFOAM/OpenFOAM-v1806/platforms/linux64GccDPInt32Opt/bin/chtMultiRegionSimpleFoam Aborted (core dumped) Current methodology used: -Geometry exported to Openfoam using ideasUnvToFoam -changed the "emptywalls" patch in constant/plymesh/boundary to "empty" Run the command: PHP Code:
Code:
FoamFile { version 2.0; format ascii; class polyBoundaryMesh; location "constant/Air/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 6 ( inlet { type patch; nFaces 50; startFace 33892; } outlet { type patch; nFaces 50; startFace 33942; } emptyWalls { type empty; inGroups 1(empty); nFaces 40156; startFace 33992; } bottom { type cyclicAMI; nFaces 125; startFace 74148; matchTolerance 0.0001; neighbourPatch top; transform noOrdering; } top { type cyclicAMI; nFaces 125; startFace 74273; matchTolerance 0.0001; neighbourPatch bottom; transform noOrdering; } Air_to_cylinder { type mappedWall; inGroups 1(wall); nFaces 100; startFace 74398; sampleMode nearestPatchFace; sampleRegion cylinder; samplePatch cylinder_to_Air; } ) PHP Code:
PHP Code:
Code:
Create time --> FOAM Warning : From function static Foam::IOstreamOption::compressionType Foam::IOstreamOption::compressionEnum(const Foam::word&) in file db/IOstreams/IOstreams/IOstreamOption.C at line 86 Unknown compression specifier 'uncompressed', assuming no compression --> FOAM Warning : From function static Foam::instantList Foam::timeSelector::select0(Foam::Time&, const Foam::argList&) in file db/Time/timeSelector.C at line 267 No time specified or available, selecting 'constant' Create mesh for time = constant Time = constant Mesh stats points: 29360 internal points: 0 faces: 77703 internal faces: 35337 cells: 21008 faces per cell: 5.380807 boundary patches: 5 point zones: 0 face zones: 1 cell zones: 2 Overall number of cells of each type: hexahedra: 8000 prisms: 13008 wedges: 0 pyramids: 0 tet wedges: 0 tetrahedra: 0 polyhedra: 0 Checking topology... Boundary definition OK. Cell to face addressing OK. Point usage OK. Upper triangular ordering OK. Face vertices OK. Number of regions: 1 (OK). Checking patch topology for multiply connected surfaces... Patch Faces Points Surface topology inlet 50 102 ok (non-closed singly connected) outlet 50 102 ok (non-closed singly connected) emptyWalls 42016 29360 ok (non-closed singly connected) bottom 125 252 ok (non-closed singly connected) top 125 252 ok (non-closed singly connected) Checking faceZone topology for multiply connected surfaces... FaceZone Faces Points Surface topology cylinderSurface 100 200 ok (non-closed singly connected) Checking basic cellZone addressing... CellZone Cells Points BoundingBox Air 20078 28528 (-0.075 -0.05 0) (0.175 0.05 0.01) cylinder 930 1032 (-0.01 -0.01 0) (0.01 0.01 0.01) Checking geometry... Overall domain bounding box (-0.075 -0.05 0) (0.175 0.05 0.01) Mesh has 3 geometric (non-empty/wedge) directions (1 1 1) Mesh has 3 solution (non-empty) directions (1 1 1) Boundary openness (3.447573e-18 2.555959e-17 3.598241e-15) OK. Max cell openness = 7.67138e-16 OK. Max aspect ratio = 486.1139 OK. Minimum face area = 1.294343e-08. Maximum face area = 3.63502e-05. Face area magnitudes OK. Min volume = 1.294343e-10. Max volume = 4.148001e-08. Total volume = 0.00025. Cell volumes OK. Mesh non-orthogonality Max: 21.23835 average: 2.974656 Non-orthogonality check OK. Face pyramids OK. Max skewness = 0.3563187 OK. Coupled point location match (average 0) OK. Mesh OK. And them run chtMultiRegionSimpleFoam command. |
|
December 9, 2018, 14:44 |
|
#2 |
Senior Member
Peter Baskovich
Join Date: Jul 2014
Posts: 127
Rep Power: 12 |
You need to specify the position of the opposite patch since they are not in the same place.
Add: transform translational; separationVector (x y z); to both AMI patches in boundary. The vector should be the offset to the other patch. |
|
December 10, 2018, 22:21 |
|
#3 |
New Member
charles
Join Date: Dec 2018
Posts: 2
Rep Power: 0 |
Thanks you. Your solution solved this particular issue. So if there is a particular orientation, "no ordering" doesn't work?
|
|
December 10, 2018, 22:48 |
|
#4 | |
Senior Member
Peter Baskovich
Join Date: Jul 2014
Posts: 127
Rep Power: 12 |
Quote:
no ordering is for interfaces where the two patches are physically in the same place, such as a translational sliding interface or a rotating region (typically used for a fans local mesh to interface to global static mesh). This does not mean the mesh points are in the same place (hence we use AMI) but the overall patch surfaces should be very close. This is why you get the error about the bounding boxes not being similar, AMI is doing a quick check to see if the patches are in the same place. |
||
October 27, 2020, 11:05 |
|
#5 | |
Member
ESI
Join Date: Sep 2017
Posts: 49
Rep Power: 9 |
Quote:
|
||
May 3, 2021, 06:47 |
|
#6 |
Senior Member
Peter Baskovich
Join Date: Jul 2014
Posts: 127
Rep Power: 12 |
The quoted message is resolved, is your problem different to the OP?
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Using createPatch and cyclicAMI in FOAM Extend to create periodicbox | manuc | OpenFOAM Running, Solving & CFD | 1 | April 12, 2022 12:36 |
cyclicAMI - kOmegaSST - divergence issue | cyln | OpenFOAM Running, Solving & CFD | 1 | October 5, 2018 11:06 |
time step continuity problem in VAWT simulation | lpz_michele | OpenFOAM Running, Solving & CFD | 5 | February 22, 2018 20:50 |
cyclic / cyclicAMI boundary conditon - ICEM Mesh | cyln | OpenFOAM Running, Solving & CFD | 0 | November 7, 2017 16:26 |
Boundary Layer strange result | fernexda | OpenFOAM Running, Solving & CFD | 14 | January 15, 2015 08:21 |