void ALE::move(...) checks the dimension incorrectly

Bug #1125499 reported by Charles
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Fix Released
Medium
Anders Logg

Bug Description

In ALE.cpp

//-----------------------------------------------------------------------------
void ALE::move(Mesh& mesh, const Function& displacement)
{
  // Check dimensions
  dolfin_assert(displacement.function_space()->element());
  const FiniteElement& element = *displacement.function_space()->element();
  const std::size_t gdim = mesh.geometry().dim();
  if (!((element.value_rank() == 0 && gdim == 0) ||
        (element.value_rank() == 1 && gdim == element.value_dimension(0))))
  {
    dolfin_error("ALE.cpp",
                 "move mesh using mesh smoothing",
                 "Illegal value dimension of displacement function");
  }

"This is a bug. The first line should check gdim == 1..."
https://answers.launchpad.net/dolfin/+question/221688

Thank you,

Charles

Anders Logg (logg)
Changed in dolfin:
assignee: nobody → Anders Logg (logg)
importance: Undecided → Medium
status: New → Fix Committed
milestone: none → 1.1.1
milestone: 1.1.1 → trunk
Johannes Ring (johannr)
Changed in dolfin:
milestone: trunk → 1.1.1
Johannes Ring (johannr)
Changed in dolfin:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.