View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003198 | OpenFOAM | Bug | public | 2019-03-18 08:38 | 2019-03-18 17:22 |
Reporter | jkau | Assigned To | will | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | Ubuntu | OS Version | 14.04 |
Product Version | dev | ||||
Fixed in Version | dev | ||||
Summary | 0003198: Restart for dynamic mesh cases crashes | ||||
Description | When restarting a case with dynamic mesh, the solver exits with Fatal Error. The error is raised in Foam::polyMesh::oldPoints(), i.e. oldPointsPtr_ is empty | ||||
Steps To Reproduce | Run floatingObject tutorial and restart from latestTime | ||||
Tags | No tags attached. | ||||
|
Thanks for the report. The recent changes (commit b5e27b7a) to old-time point and cell-centre storage made access of old-time data when it hasn't been stored a fatal error. This is a consequence of that. Correct-phi used to update the U boundary conditions whenever it was called. That is appropriate when run inside the time-loop, as it makes sure that phi has boundary values appropriate for the new-time before the U-equation is solved. Before the time-loop, however, this isn't correct. Evaluating a moving wall velocity accesses the old-time points, which don't exist before the first mesh update. Before b5e27b7a the polyMesh would return the current points, so the wall velocity would be evaluated as zero for the initial phi correction. After it would just error. Now, the U boundary evaluation is switched off for the initial correction, so the values used are just those read from disk. These are correct for the last time of the previous execution, or (equivalently) the start-time of the restart. https://github.com/OpenFOAM/OpenFOAM-dev/commit/52225b96ab88500c8729cdb6ba35698e57e0aa7e |