View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000809 | OpenFOAM | Bug | public | 2013-04-08 09:07 | 2015-01-01 17:23 |
Reporter | Assigned To | henry | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Linux | OS | OpenSUSE | OS Version | 12.2 |
Summary | 0000809: checkMesh reports non-orthogonality angle of 180 for cyclical boundary. | ||||
Description | Using OpenFOAM 2.2.0, checkMesh will report Mesh non-orthogonality Max: 180 if using translational cyclics. CheckMesh subsequently fails one mesh check. 180 degrees suggests the normal vector of the face is pointing the wrong way. However, the same mesh does not give an issue with OpenFOAM 2.1.1. Under both v 2.1.1 and 2.2.0, the solver seems to work fine and gives virtually the same results, suggesting the reported issue in checkMesh is a false positive. | ||||
Steps To Reproduce | fluent3dMeshToFoam ./fluent.msh createPatch checkMesh | ||||
Additional Information | Can provide a mesh if required, though the ones I have to hand are too large to attach. In my experience this seems to be for any mesh (or at least any fluent mesh - I've not tried other formats). | ||||
Tags | checkMesh | ||||
2013-04-08 09:07
|
createPatchDict (3,810 bytes)
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object createPatchDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // This application/dictionary controls: // - optional: create new patches from boundary faces (either given as // a set of patches or as a faceSet) // - always: order faces on coupled patches such that they are opposite. This // is done for all coupled faces, not just for any patches created. // - optional: synchronise points on coupled patches. // 1. Create cyclic: // - specify where the faces should come from // - specify the type of cyclic. If a rotational specify the rotationAxis // and centre to make matching easier // - always create both halves in one invocation with correct 'neighbourPatch' // setting. // - optionally pointSync true to guarantee points to line up. // 2. Correct incorrect cyclic: // This will usually fail upon loading: // "face 0 area does not match neighbour 2 by 0.0100005%" // " -- possible face ordering problem." // - in polyMesh/boundary file: // - loosen matchTolerance of all cyclics to get case to load // - or change patch type from 'cyclic' to 'patch' // and regenerate cyclic as above // Do a synchronisation of coupled points after creation of any patches. // Note: this does not work with points that are on multiple coupled patches // with transformations (i.e. cyclics). pointSync false; // Patches to create. patches ( { // Name of new patch name cyc_half0; // Dictionary to construct new patch from patchInfo { type cyclic; neighbourPatch cyc_half1; // Optional: explicitly set transformation tensor. // Used when matching and synchronising points. //transform rotational; //rotationAxis (1 0 0); //rotationCentre (0 0 0); // transform translational; // separationVector (1 0 0); // Optional non-default tolerance to be able to define cyclics // on bad meshes //matchTolerance 1E-2; } // How to construct: either from 'patches' or 'set' constructFrom patches; // If constructFrom = patches : names of patches. Wildcards allowed. patches (S1); // If constructFrom = set : name of faceSet //set f0; } { // Name of new patch name cyc_half1; // Dictionary to construct new patch from patchInfo { type cyclic; neighbourPatch cyc_half0; // Optional: explicitly set transformation tensor. // Used when matching and synchronising points. //transform rotational; //rotationAxis ( 0 0 1 ); //rotationCentre ( 0.3 0 0 ); } // How to construct: either from 'patches' or 'set' constructFrom patches; // If constructFrom = patches : names of patches. Wildcards allowed. patches (S2); // If constructFrom = set : name of faceSet //set f0; } ); // ************************************************************************* // |
|
Should have been fixed in a1264baad44158d49c262db1350b16f19ab0331c. See bug report http://www.openfoam.org/mantisbt/view.php?id=778 |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-04-08 09:07 |
|
New Issue | |
2013-04-08 09:07 |
|
File Added: createPatchDict | |
2013-04-11 06:48 | nogenmyr | Note Added: 0002114 | |
2014-12-29 18:33 | wyldckat | Tag Attached: checkMesh | |
2015-01-01 17:22 | henry | Status | new => resolved |
2015-01-01 17:22 | henry | Resolution | open => fixed |
2015-01-01 17:22 | henry | Assigned To | => henry |