View Issue Details

IDProjectCategoryView StatusLast Update
0001405OpenFOAMBugpublic2015-03-21 21:34
Reporterkaramiag Assigned Touser4 
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionreopened 
PlatformLinuxOSOpenSuseOS Version12.3
Summary0001405: createPatch fails with cyclicAMI
DescriptioncreatePatch fails with cyclicAMI if there is not a directory previously created
by createPatch whith only cyclic in createPatchDict
TagsAMI

Activities

user4

2014-10-02 09:32

  ~0003242

cyclicAMI patches need to be created in pairs. See e.g. multiphase/interPhaseChangeDyMFoam/propeller/system/createPatchDict

karamiag

2014-10-02 10:10

reporter   ~0003243

Last edited: 2014-10-02 10:14

I have a 2D .msh mesh file generated with icemcfd. I use the command
fluentMeshToFoam -scale 1e-6 mesh.msh
after this I lounch the command createPatch with this createPatchDict content

FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object createPatchDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
matchTolerance 1E-7;
pointSync false;

patches
(
{
name DXperiod;

// Type of new patch
        patchInfo
        {
            type cyclicAMI;
            matchTolerance 0.01;
            neighbourPatch SXperiod;
// transform translational;
// separationVector (16896.25e-6 0 0);
        }
        constructFrom patches;
        patches (DXBO);
}
{
name SXperiod;
        patchInfo
        {
            type cyclicAMI;
            matchTolerance 0.01;
            neighbourPatch DXperiod;
// transform translational;
// separationVector (16896.25e-6 0 0);
        }

        constructFrom patches;
        patches (SXBO);
}
);



at this point createPatch fails with this output
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.3.0
Exec : createPatch
Date : Oct 02 2014
Time : 11:55:34
Host : "ime042"
PID : 8413
Case : /home/tesisti/OpenFOAM/tesisti-2.3.0/run/Balsamo/gap1/D25/0micron
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = 0

Reading createPatchDict

Adding new patch DXperiod as patch 7 from
{
    type cyclicAMI;
    matchTolerance 0.01;
    neighbourPatch SXperiod;
}

Adding new patch SXperiod as patch 8 from
{
    type cyclicAMI;
    matchTolerance 0.01;
    neighbourPatch DXperiod;
}


Moving faces from patch DXBO to patch 7
Moving faces from patch SXBO to patch 8

Doing topology modification to order faces.

AMI: Creating addressing and weights between 35 source faces and 35 target faces
--> FOAM Warning :
    From function AMIMethod<SourcePatch, TargetPatch>::checkPatches()
    in file lnInclude/AMIMethod.C at line 57
    Source and target patch bounding boxes are not similar
    source box span : (0 0.001501 0.000339256)
    target box span : (0 0.001501 0.000339256)
    source box : (0.00989625 0 -0.000169628) (0.00989625 0.001501 0.000169628)
    target box : (-0.007 0 -0.000169628) (-0.007 0.001501 0.000169628)
    inflated target box : (-0.00707694 -7.69431e-05 -0.000246571) (-0.00692306 0.00157794 0.000246571)


--> FOAM FATAL ERROR:
Unable to find initial target face

    From function void Foam::AMIMethod<SourcePatch, TargetPatch>::initialise(label&, label&)
    in file lnInclude/AMIMethod.C at line 139.

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> > >::AMIInterpolation(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&, Foam::faceAreaIntersect::triangulationMode const&, 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&, double, bool) 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::movePoints(Foam::PstreamBuffers&, Foam::Field<Foam::Vector<double> > const&) at ??:?
#8 Foam::polyBoundaryMesh::movePoints(Foam::Field<Foam::Vector<double> > const&) at ??:?
#9 Foam::polyMesh::movePoints(Foam::Field<Foam::Vector<double> > const&) at ??:?
#10
 at ??:?
#11 __libc_start_main in "/lib64/libc.so.6"
#12
 at /home/abuild/rpmbuild/BUILD/glibc-2.17/csu/../sysdeps/x86_64/start.S:126
Aborted

Substituting cyclicAMI with cyclic in createPatchDict, it works and it creates a new directory (named 1) containing a polymesh directory; after this I edit createPatchDict, substituting cyclic with cyclicAMI and it works creating a new directory (named 2) containing a polymesh directory.

wyldckat

2015-03-21 21:34

updater   ~0004179

@karamiag: A few questions:

1. Can you provide an example case?
2. Are you able to reproduce this problem with the latest OpenFOAM 2.3.x?

Issue History

Date Modified Username Field Change
2014-09-30 16:18 karamiag New Issue
2014-10-02 09:32 user4 Note Added: 0003242
2014-10-02 09:32 user4 Status new => resolved
2014-10-02 09:32 user4 Fixed in Version => 2.3.x
2014-10-02 09:32 user4 Resolution open => no change required
2014-10-02 09:32 user4 Assigned To => user4
2014-10-02 10:10 karamiag Note Added: 0003243
2014-10-02 10:10 karamiag Status resolved => feedback
2014-10-02 10:10 karamiag Resolution no change required => reopened
2014-10-02 10:14 karamiag Note Edited: 0003243
2015-03-21 21:33 wyldckat Tag Attached: AMI
2015-03-21 21:34 wyldckat Note Added: 0004179
2015-03-24 00:17 liuhuafei Issue cloned: 0001592