Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 426
    • Issues 426
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 8
    • Merge requests 8
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #1833
Closed
Open
Issue created Sep 08, 2020 by Lucas Silva Cytrangulo@lucas_cy

layerAdditionRemoval polyTopoChanger not working properly while used with displacementLayeredMotion solver

Summary

I found an issue while trying to use the displacementLayeredMotion solver with the layerAdditionRemoval functionality. Basically, I'm trying to use it for a toy case, which i have two moving walls, with a predetermined displacement in a certain direction, where I want to add and remove the cells to simulate the movement of these walls. Initially everything works fine, until a certain topology change is needed, at this moment the layerAdditionRemoval polyTopoChanger seems to fail to construct the new group of cells at the left side of the domain (the side that is expanding).

Steps to reproduce

The case is attached with an Allrun.

Example case

retangularLayerAdditionRemoval.tar.xz

What is the current bug behaviour?

While constructing a new group of cells due to the layerAdditionRemoval, it fails, constructing wrong oriented cells with negative volume.

What is the expected correct behavior?

The expected result should be something like this: layerADDrm

Relevant logs and/or images

The final part of the log:

Time = 0.62
PIMPLE: iteration 1
solving for zone: top
solving for zone: LAR1
solving for zone: LAR2
solving for zone: botton
Executing mesh motion
    Point usage OK.
    Upper triangular ordering OK.
    Topological cell zip-up check OK.
    Face vertices OK.
    Face-face connectivity OK.
    Mesh topology OK.
    Boundary openness (0 -8.5572e-18 -7.54804e-16) OK.
    Max cell openness = 0 OK.
    Max aspect ratio = 1.62737 OK.
    Minimum face area = 1. Maximum face area = 1.62737.  Face area magnitudes OK.
    Min volume = 1. Max volume = 1.62737.  Total volume = 11500.  Cell volumes OK.
    Mesh non-orthogonality Max: 0 average: 0
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 1.42143e-14 OK.
    Mesh geometry OK.
Mesh OK.
ExecutionTime = 15.6 s  ClockTime = 16 s

Time = 0.63
PIMPLE: iteration 1
Executing mesh topology update
solving for zone: top
solving for zone: LAR1
solving for zone: LAR2
solving for zone: botton
solving for zone: top
solving for zone: LAR1
solving for zone: LAR2
solving for zone: botton
    Point usage OK.
    Upper triangular ordering OK.
    Topological cell zip-up check OK.
    Face vertices OK.
    Face-face connectivity OK.
    Mesh topology OK.
    Boundary openness (0 -9.8212e-18 -7.50515e-17) OK.
 ***High aspect ratio cells found, Max aspect ratio: 5.50745e+99, number of cells 125
    Minimum face area = 0.326117. Maximum face area = 1.95509.  Face area magnitudes OK.
 ***Zero or negative cell volume detected.  Minimum negative volume: -0.326117, Number of negative volume cells: 125
    Mesh non-orthogonality Max: 180 average: 9.58925
 ***Number of non-orthogonality errors: 220.
 ***Error in face pyramids: 750 faces are incorrectly oriented.
    Max skewness = 2.63864e-14 OK.
    Failed 4 mesh geometry checks.
    Failed 1 mesh checks.
ExecutionTime = 16.14 s  ClockTime = 17 s

Time = 0.64
PIMPLE: iteration 1


--> FOAM FATAL ERROR: 
negative cell volume. Error in mesh motion before topological change.
 V: 
11500
(
list with cells volume
)

From function virtual bool Foam::layerAdditionRemoval::changeTopology() const
    in file layerAdditionRemoval/layerAdditionRemoval.C at line 220.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::layerAdditionRemoval::changeTopology() const at ??:?
#3  Foam::polyTopoChanger::changeTopology() const at ??:?
#4  Foam::polyTopoChanger::changeMesh(bool, bool, bool, bool) at ??:?
#5  Foam::dynamicMotionSolverTopoFvMesh::update() at ??:?
#6  ? in ~/OpenFOAM/OpenFOAM-v1812/platforms/linux64GccDPInt32Opt/bin/moveDynamicMesh
#7  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#8  ? in ~/OpenFOAM/OpenFOAM-v1812/platforms/linux64GccDPInt32Opt/bin/moveDynamicMesh
Aborted (core dumped)

Environment information

  • OpenFOAM version : v1812 | v2006
  • Operating system : Ubuntu 18.04.5 LTS

Possible fixes

Edited Sep 08, 2020 by Lucas Silva Cytrangulo
Assignee
Assign to
Time tracking