Skip to content

dynamicMesh failure restarting using CrankNicholson

Summary

When restarting a case using dynamic meshing the first step fails with an error:

--> FOAM FATAL IO ERROR: (openfoam-2212 patch=230110)
size 77961 is not equal to the expected length 78325

file: 0.002/ddt0(rho,U).internalField at line 21.

   From void Foam::Field<Type>::assign(const Foam::entry&, Foam::label) [with Type = Foam::Vector<double>; Foam::label = int]
    in file ./src/OpenFOAM/lnInclude/Field.C at line 241.

FOAM exiting

This occurs regardless of whether dynamicMeshDict is altered or not (it may work sometimes if it is set to not refine every step, and happens to not align with the restart step, as previous tests have found that it works this way). Almost certainly this associated with the 2nd order time scheme (which I would certainly strongly prefer to use), as Euler has no issues with the restart vs CN.

Steps to reproduce

Run attached case until a new time, in this instance 0.002, and then try to restart.

Example case

dynMfail.zip

What is the current bug behaviour?

Restarting when using dynamic meshing fails with size error when using Crank Nicholson timeScheme.

What is the expected correct behavior?

The simulation restarts as a normal timestep would.

Relevant logs and/or images

Environment information

Build  : _c9081d5d-20230220 OPENFOAM=2212 patch=230110 version=2212
Arch   : "LSB;label=32;scalar=64"
Exec   : interFoam1
  • Operating system : WSL Ubuntu 22.04
  • Hardware info : Tested on Ryzen 5 2600 and Intel X chip
  • Compiler : gcc?