<h3>Specific improvements</h3>
<ol>
+ <li> Improved: When attempting operations such as FEValues::get_function_values()
+ or FEValues::shape_value(), the FEValues object needs to know that what these
+ functions return has been computed previously. What is computed is specified
+ by the update flags that are passed to the constructor of all FEValues, FEFaceValues
+ and FESubfaceValues objects. If a user attempts an operation for which the
+ corresponding flag was not specified, an exception is generated. This exception
+ did say previously what the cause was, but it was not overly explicit.
+ The exception now generates a message that says exactly what is going wrong.
+ <br>
+ (Wolfgang Bangerth, 2013/12/01)
+ </li>
+
<li> Fixed: GridGenerator::truncated_cone() failed if half_length < 0.5*radius in 3d.
<br>
(Timo Heister, 2013/11/25)
*
* @ingroup Exceptions
*/
- DeclException0 (ExcAccessToUninitializedField);
+ DeclException1 (ExcAccessToUninitializedField,
+ char *,
+ << ("You are requesting information from an FEValues/FEFaceValues/FESubfaceValues "
+ "object for which this kind of information has not been computed. What "
+ "information these objects compute is determined by the update_* flags you "
+ "pass to the constructor. Here, the operation you are attempting requires "
+ "the <")
+ << arg1
+ << "> flag to be set, but it was apparently not specified upon construction.");
/**
* @todo Document this
*
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
// an adaptation of the FEValuesBase::shape_value_component function
// except that here we know the component as fixed and we have
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
// an adaptation of the
// FEValuesBase::shape_grad_component
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
// an adaptation of the
// FEValuesBase::shape_grad_component
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
// same as for the scalar case except
// that we have one more index
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
// same as for the scalar case except
// that we have one more index
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
// same as for the scalar case except
// that we have one more index
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
// same as for the scalar case except that we have one more index
const int snc = shape_function_data[shape_function].single_nonzero_component;
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
// same as for the scalar case except
// that we have one more index
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
// same as for the scalar case except
// that we have one more index
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
// similar to the vector case where we
// have more then one index and we need
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
const int snc = shape_function_data[shape_function].single_nonzero_component;
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
// similar to the vector case where we
// have more then one index and we need
Assert (shape_function < fe_values.fe->dofs_per_cell,
ExcIndexRange (shape_function, 0, fe_values.fe->dofs_per_cell));
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
const int snc = shape_function_data[shape_function].single_nonzero_component;
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_values,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_values"));
Assert (fe->is_primitive (i),
ExcShapeFunctionNotPrimitive(i));
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_values,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_values"));
Assert (component < fe->n_components(),
ExcIndexRange(component, 0, fe->n_components()));
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_gradients,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_gradients"));
Assert (fe->is_primitive (i),
ExcShapeFunctionNotPrimitive(i));
Assert (i<this->shape_gradients.size(),
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_gradients,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_gradients"));
Assert (component < fe->n_components(),
ExcIndexRange(component, 0, fe->n_components()));
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_hessians,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_hessians"));
Assert (fe->is_primitive (i),
ExcShapeFunctionNotPrimitive(i));
Assert (i<this->shape_hessians.size(),
Assert (i < fe->dofs_per_cell,
ExcIndexRange (i, 0, fe->dofs_per_cell));
Assert (this->update_flags & update_hessians,
- ExcAccessToUninitializedField());
+ ExcAccessToUninitializedField("update_hessians"));
Assert (component < fe->n_components(),
ExcIndexRange(component, 0, fe->n_components()));
const std::vector<Point<spacedim> > &
FEValuesBase<dim,spacedim>::get_quadrature_points () const
{
- Assert (this->update_flags & update_quadrature_points, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_quadrature_points,
+ ExcAccessToUninitializedField("update_quadrature_points"));
return this->quadrature_points;
}
const std::vector<double> &
FEValuesBase<dim,spacedim>::get_JxW_values () const
{
- Assert (this->update_flags & update_JxW_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_JxW_values,
+ ExcAccessToUninitializedField("update_JxW_values"));
return this->JxW_values;
}
const std::vector<DerivativeForm<1,dim,spacedim> > &
FEValuesBase<dim,spacedim>::get_jacobians () const
{
- Assert (this->update_flags & update_jacobians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_jacobians,
+ ExcAccessToUninitializedField("update_jacobians"));
return this->jacobians;
}
const std::vector<DerivativeForm<2,dim,spacedim> > &
FEValuesBase<dim,spacedim>::get_jacobian_grads () const
{
- Assert (this->update_flags & update_jacobian_grads, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_jacobian_grads,
+ ExcAccessToUninitializedField("update_jacobians_grads"));
return this->jacobian_grads;
}
const std::vector<DerivativeForm<1,spacedim,dim> > &
FEValuesBase<dim,spacedim>::get_inverse_jacobians () const
{
- Assert (this->update_flags & update_inverse_jacobians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_inverse_jacobians,
+ ExcAccessToUninitializedField("update_inverse_jacobians"));
return this->inverse_jacobians;
}
const Point<spacedim> &
FEValuesBase<dim,spacedim>::quadrature_point (const unsigned int i) const
{
- Assert (this->update_flags & update_quadrature_points, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_quadrature_points,
+ ExcAccessToUninitializedField("update_quadrature_points"));
Assert (i<this->quadrature_points.size(), ExcIndexRange(i, 0, this->quadrature_points.size()));
return this->quadrature_points[i];
double
FEValuesBase<dim,spacedim>::JxW (const unsigned int i) const
{
- Assert (this->update_flags & update_JxW_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_JxW_values,
+ ExcAccessToUninitializedField("update_JxW_values"));
Assert (i<this->JxW_values.size(), ExcIndexRange(i, 0, this->JxW_values.size()));
return this->JxW_values[i];
const DerivativeForm<1,dim,spacedim> &
FEValuesBase<dim,spacedim>::jacobian (const unsigned int i) const
{
- Assert (this->update_flags & update_jacobians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_jacobians,
+ ExcAccessToUninitializedField("update_jacobians"));
Assert (i<this->jacobians.size(), ExcIndexRange(i, 0, this->jacobians.size()));
return this->jacobians[i];
const DerivativeForm<2,dim,spacedim> &
FEValuesBase<dim,spacedim>::jacobian_grad (const unsigned int i) const
{
- Assert (this->update_flags & update_jacobian_grads, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_jacobian_grads,
+ ExcAccessToUninitializedField("update_jacobians_grads"));
Assert (i<this->jacobian_grads.size(), ExcIndexRange(i, 0, this->jacobian_grads.size()));
return this->jacobian_grads[i];
const DerivativeForm<1,spacedim,dim> &
FEValuesBase<dim,spacedim>::inverse_jacobian (const unsigned int i) const
{
- Assert (this->update_flags & update_inverse_jacobians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_inverse_jacobians,
+ ExcAccessToUninitializedField("update_inverse_jacobians"));
Assert (i<this->inverse_jacobians.size(), ExcIndexRange(i, 0, this->inverse_jacobians.size()));
return this->inverse_jacobians[i];
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (this->update_flags & update_normal_vectors,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_normal_vectors"));
Assert (i<this->normal_vectors.size(),
ExcIndexRange(i, 0, this->normal_vectors.size()));
Assert (i<this->boundary_forms.size(),
ExcIndexRange(i, 0, this->boundary_forms.size()));
Assert (this->update_flags & update_boundary_forms,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_boundary_forms"));
return this->boundary_forms[i];
}
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert (fe_values.present_cell.get () != 0,
ExcMessage ("FEValues object is not reinited to any cell"));
AssertDimension (fe_function.size (),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
Assert (fe_values.present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(),
{
typedef FEValuesBase<dim,spacedim> FVB;
Assert (fe_values.update_flags & update_hessians,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_hessians"));
Assert (laplacians.size() == fe_values.n_quadrature_points,
ExcDimensionMismatch(laplacians.size(), fe_values.n_quadrature_points));
Assert (fe_values.present_cell.get() != 0,
{
typedef FEValuesBase<dim, spacedim> FVB;
Assert(fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
Assert(fe_values.present_cell.get() != 0,
ExcMessage("FEValues object is not reinit'ed to any cell"));
AssertDimension(fe_function.size(),
{
typedef FEValuesBase<dim, spacedim> FVB;
Assert(fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert(fe_values.present_cell.get() != 0,
ExcMessage("FEValues object is not reinit'ed to any cell"));
AssertDimension(fe_function.size(),
{
typedef FEValuesBase<dim, spacedim> FVB;
Assert(fe_values.update_flags & update_values,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_values"));
Assert(fe_values.present_cell.get() != 0,
ExcMessage("FEValues object is not reinit'ed to any cell"));
AssertDimension(fe_function.size(),
{
typedef FEValuesBase<dim, spacedim> FVB;
Assert(fe_values.update_flags & update_gradients,
- typename FVB::ExcAccessToUninitializedField());
+ typename FVB::ExcAccessToUninitializedField("update_gradients"));
Assert(fe_values.present_cell.get() != 0,
ExcMessage("FEValues object is not reinit'ed to any cell"));
AssertDimension(fe_function.size(),
const InputVector &fe_function,
std::vector<number> &values) const
{
- Assert (this->update_flags & update_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_values,
+ ExcAccessToUninitializedField("update_values"));
AssertDimension (fe->n_components(), 1);
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
const VectorSlice<const std::vector<types::global_dof_index> > &indices,
std::vector<number> &values) const
{
- Assert (this->update_flags & update_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_values,
+ ExcAccessToUninitializedField("update_values"));
AssertDimension (fe->n_components(), 1);
AssertDimension (indices.size(), dofs_per_cell);
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
- Assert (this->update_flags & update_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_values,
+ ExcAccessToUninitializedField("update_values"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
// get function values of dofs on this cell
// number of function values is generated in each point.
Assert (indices.size() % dofs_per_cell == 0,
ExcNotMultiple(indices.size(), dofs_per_cell));
- Assert (this->update_flags & update_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_values,
+ ExcAccessToUninitializedField("update_values"));
VectorSlice<std::vector<Vector<number> > > val(values);
if (indices.size() <= 100)
VectorSlice<std::vector<std::vector<double> > > values,
bool quadrature_points_fastest) const
{
- Assert (this->update_flags & update_values, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_values,
+ ExcAccessToUninitializedField("update_values"));
// Size of indices must be a multiple of dofs_per_cell such that an integer
// number of function values is generated in each point.
const InputVector &fe_function,
std::vector<Tensor<1,spacedim> > &gradients) const
{
- Assert (this->update_flags & update_gradients, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_gradients,
+ ExcAccessToUninitializedField("update_gradients"));
AssertDimension (fe->n_components(), 1);
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
const VectorSlice<const std::vector<types::global_dof_index> > &indices,
std::vector<Tensor<1,spacedim> > &gradients) const
{
- Assert (this->update_flags & update_gradients, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_gradients,
+ ExcAccessToUninitializedField("update_gradients"));
AssertDimension (fe->n_components(), 1);
AssertDimension (indices.size(), dofs_per_cell);
if (dofs_per_cell <= 100)
const InputVector &fe_function,
std::vector<std::vector<Tensor<1,spacedim> > > &gradients) const
{
- Assert (this->update_flags & update_gradients, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_gradients,
+ ExcAccessToUninitializedField("update_gradients"));
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
// number of function values is generated in each point.
Assert (indices.size() % dofs_per_cell == 0,
ExcNotMultiple(indices.size(), dofs_per_cell));
- Assert (this->update_flags & update_gradients, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_gradients,
+ ExcAccessToUninitializedField("update_gradients"));
+
if (indices.size() <= 100)
{
double dof_values[100];
std::vector<Tensor<2,spacedim> > &hessians) const
{
AssertDimension (fe->n_components(), 1);
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
const VectorSlice<const std::vector<types::global_dof_index> > &indices,
std::vector<Tensor<2,spacedim> > &hessians) const
{
- Assert (this->update_flags & update_second_derivatives,
- ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
AssertDimension (indices.size(), dofs_per_cell);
if (dofs_per_cell <= 100)
std::vector<std::vector<Tensor<2,spacedim> > > &hessians,
bool quadrature_points_fastest) const
{
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
VectorSlice<std::vector<std::vector<Tensor<2,spacedim> > > > hessians,
bool quadrature_points_fastest) const
{
- Assert (this->update_flags & update_second_derivatives,
- ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
Assert (indices.size() % dofs_per_cell == 0,
ExcNotMultiple(indices.size(), dofs_per_cell));
if (indices.size() <= 100)
const InputVector &fe_function,
std::vector<number> &laplacians) const
{
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
AssertDimension (fe->n_components(), 1);
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
const VectorSlice<const std::vector<types::global_dof_index> > &indices,
std::vector<number> &laplacians) const
{
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
AssertDimension (fe->n_components(), 1);
AssertDimension (indices.size(), dofs_per_cell);
if (dofs_per_cell <= 100)
{
Assert (present_cell.get() != 0,
ExcMessage ("FEValues object is not reinit'ed to any cell"));
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
AssertDimension (fe_function.size(), present_cell->n_dofs_for_dof_handler());
// get function values of dofs on this cell
// number of function values is generated in each point.
Assert (indices.size() % dofs_per_cell == 0,
ExcNotMultiple(indices.size(), dofs_per_cell));
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
if (indices.size() <= 100)
{
double dof_values[100];
{
Assert (indices.size() % dofs_per_cell == 0,
ExcNotMultiple(indices.size(), dofs_per_cell));
- Assert (this->update_flags & update_hessians, ExcAccessToUninitializedField());
+ Assert (this->update_flags & update_hessians,
+ ExcAccessToUninitializedField("update_hessians"));
if (indices.size() <= 100)
{
double dof_values[100];
{
typedef FEValuesBase<dim,spacedim> FEVB;
Assert (this->update_flags & update_normal_vectors,
- typename FEVB::ExcAccessToUninitializedField());
+ typename FEVB::ExcAccessToUninitializedField("update_normal_vectors"));
return this->normal_vectors;
}
{
typedef FEValuesBase<dim,spacedim> FEVB;
Assert (this->update_flags & update_boundary_forms,
- typename FEVB::ExcAccessToUninitializedField());
+ typename FEVB::ExcAccessToUninitializedField("update_boundary_forms"));
return this->boundary_forms;
}
case mapping_covariant:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d=0; d<dim; ++d)
case mapping_contravariant:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d=0; d<dim; ++d)
case mapping_piola:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (data.update_flags & update_volume_elements,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_volume_elements"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d=0; d<dim; ++d)
case mapping_covariant:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_contravariant:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_covariant_gradient:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_contravariant_gradient:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_piola:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (data.update_flags & update_volume_elements,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_volume_elements"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_piola_gradient:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (data.update_flags & update_volume_elements,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_volume_elements"));
for (unsigned int i=0; i<output.size(); ++i)
for (unsigned int d1=0; d1<dim; ++d1)
case mapping_contravariant:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
output[i] = apply_transformation(data.contravariant[i], input[i]);
case mapping_piola:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (data.update_flags & update_volume_elements,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_volume_elements"));
Assert (rank==1, ExcMessage("Only for rank 1"));
if (rank!=1)
return;
case mapping_covariant:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
output[i] = apply_transformation(data.covariant[i], input[i]);
case mapping_contravariant_gradient:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (rank==2, ExcMessage("Only for rank 2"));
for (unsigned int i=0; i<output.size(); ++i)
case mapping_covariant_gradient:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (rank==2, ExcMessage("Only for rank 2"));
for (unsigned int i=0; i<output.size(); ++i)
case mapping_piola_gradient:
{
Assert (data.update_flags & update_covariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_covariant_transformation"));
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
Assert (data.update_flags & update_volume_elements,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_volume_elements"));
Assert (rank==2, ExcMessage("Only for rank 2"));
for (unsigned int i=0; i<output.size(); ++i)
case mapping_covariant:
{
Assert (data.update_flags & update_contravariant_transformation,
- typename FEValuesBase<dim>::ExcAccessToUninitializedField());
+ typename FEValuesBase<dim>::ExcAccessToUninitializedField("update_contravariant_transformation"));
for (unsigned int i=0; i<output.size(); ++i)
output[i] = apply_transformation(data.covariant[i], input[i]);