|
[Sponsors] |
[mesh manipulation] Issue with meshing an infinite swept wing using CyclicAMI |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 26, 2022, 07:02 |
Issue with meshing an infinite swept wing using CyclicAMI
|
#1 |
New Member
pisharoti05
Join Date: Feb 2020
Posts: 10
Rep Power: 6 |
Hello Foamers!
I am trying ot mesh an infinite swept wing geometry such that the sides have a periodic boundary condition. I tried using the "cyclic" condition initially, however, due to the unstructured meshes being different on either side, it didn't work out. I found out that "cyclicAMI" would be a better fit for my case. My current workflow for the final mesh is: 1) blockMesh 2) surfaceFeatureExtract 3) snappyHexMesh 4) topoSet 5) createPatch When I do a general mesh quality check with the "-allGeometry" flag, I get the following error in the end: Code:
Calculating AMI weights between owner patch: Side1 and neighbour patch: Side2 AMI: Creating addressing and weights between 111996 source faces and 111341 target faces --> FOAM FATAL ERROR: Unable to set target face for source face 111995 From virtual bool Foam::faceAreaWeightAMI::setNextFaces(Foam::label&, Foam::label&, Foam::label&, const Foam::bitSet&, Foam::labelList&, const Foam::DynamicList<int>&, bool) const in file AMIInterpolation/AMIInterpolation/faceAreaWeightAMI/faceAreaWeightAMI.C at line 347. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::exitOrAbort(int, bool) at ??:? #2 Foam::faceAreaWeightAMI::setNextFaces(int&, int&, int&, Foam::bitSet const&, Foam::List<int>&, Foam::DynamicList<int, 16> const&, bool) const at ??:? #3 Foam::faceAreaWeightAMI::calcAddressing(Foam::List<Foam::DynamicList<int, 16> >&, Foam::List<Foam::DynamicList<double, 16> >&, Foam::List<Foam::DynamicList<Foam::Vector<double>, 16> >&, Foam::List<Foam::DynamicList<int, 16> >&, Foam::List<Foam::DynamicList<double, 16> >&, int, int) at ??:? #4 Foam::faceAreaWeightAMI::calculate(Foam::PrimitivePatch<Foam::SubList<Foam::face>, Foam::Field<Foam::Vector<double> > const&> const&, Foam::PrimitivePatch<Foam::SubList<Foam::face>, Foam::Field<Foam::Vector<double> > const&> const&, Foam::autoPtr<Foam::searchableSurface> const&) at ??:? #5 Foam::cyclicAMIPolyPatch::resetAMI(Foam::UList<Foam::Vector<double> > const&) const at ??:? #6 Foam::cyclicAMIPolyPatch::AMI() const at ??:? #7 ? at ??:? #8 ? at ??:? #9 __libc_start_main in /lib64/libc.so.6 #10 ? at ??:? Code:
7 ( Inlet { type patch; nFaces 2016; startFace 35454828; } Outlet { type patch; nFaces 2016; startFace 35456844; } Bottom { type slip; inGroups 1(slip); nFaces 3780; startFace 35458860; faces ( ( 0 1 5 4 ) ); } Top { type slip; inGroups 1(slip); nFaces 3780; startFace 35462640; faces ( ( 3 7 6 2 ) ); } Wing { type wall; inGroups 1(wall); nFaces 145149; startFace 35466420; } Side1 { type cyclicAMI; inGroups 1(cyclicAMI); nFaces 111996; startFace 35611569; matchTolerance 0.0001; transform unknown; neighbourPatch Side2; AMIMethod faceAreaWeightAMI; restartUncoveredSourceFace 1; } Side2 { type cyclicAMI; inGroups 1(cyclicAMI); nFaces 111341; startFace 35723565; matchTolerance 0.0001; transform unknown; neighbourPatch Side1; AMIMethod faceAreaWeightAMI; restartUncoveredSourceFace 1; } ) Code:
convertToMeters 1; vertices ( ( -9.00 -7.20 -0.70 ) //0 ( 18.00 -7.20 -0.70 ) //1 ( 18.00 7.20 -0.70 ) //2 ( -9.00 7.20 -0.70 ) //3 ( -9.00 -7.20 0.70 ) //4 ( 18.00 -7.20 0.70 ) //5 ( 18.00 7.20 0.70 ) //6 ( -9.00 7.20 0.70 ) //7 ); blocks ( hex (0 1 2 3 4 5 6 7) (270 144 14) simpleGrading (1 1 1) ); edges ( ); boundary ( Inlet { type patch; faces ((0 4 7 3)); } Outlet { type patch; faces ((1 2 6 5)); } Bottom { type slip; faces ((0 1 5 4)); } Top { type slip; faces ((3 7 6 2)); } Sides { type patch; //neighbourPatch Side2; faces ((0 3 2 1) (4 5 6 7)); } ) Code:
actions ( { name Side2; type faceSet; action new; source boxToFace; sourceInfo { box (-9 -7.2 0.69991)(18 7.2 0.70001); } } { name Side1; type faceSet; action new; source boxToFace; sourceInfo { box (-9 -7.2 -0.70001)(18 7.2 -0.69991); } } ); Code:
pointSync false; patches ( { // Name of new patch name Side1; // Dictionary to construct new patch from patchInfo { type cyclicAMI; neighbourPatch Side2; //matchTolerance 1e-04; } // How to construct: either from 'patches' or 'set' constructFrom set; // If constructFrom = set : name of faceSet set Side1 ; } { // Name of new patch name Side2; // Dictionary to construct new patch from patchInfo { type cyclicAMI; neighbourPatch Side1; //matchTolerance 1e-04; } // How to construct: either from 'patches' or 'set' constructFrom set; // If constructFrom = set : name of faceSet set Side2; } ); |
|
June 29, 2022, 07:09 |
|
#2 |
New Member
pisharoti05
Join Date: Feb 2020
Posts: 10
Rep Power: 6 |
I am still stuck on this issue and it would be great if someone can help me out.
Thanks, Naina. |
|
Tags |
cyclicami, periodic, snappyhexmesh |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Gmsh] gmshToFoam generates patches with 0 faces and 0 points | Simurgh | OpenFOAM Meshing & Mesh Conversion | 4 | August 25, 2023 08:58 |
Dynamic Meshing for in plane morphing wing | Aidan100 | FLUENT | 3 | September 5, 2015 02:00 |
[GAMBIT] Meshing of flipper wing | dv.darshan | ANSYS Meshing & Geometry | 9 | May 21, 2012 02:38 |
Meshing related issue in Flow EFD | appu | FloEFD, FloWorks & FloTHERM | 1 | May 22, 2011 09:27 |
Swept Wing Meshing in Gambit | nick | FLUENT | 0 | August 12, 2007 01:39 |