// $Id$
// Version: $Name$
//
-// Copyright (C) 2003, 2004 by the deal.II authors
+// Copyright (C) 2003, 2004, 2005 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
// number of conversions
if (flags & update_values)
{
+ Assert (fe_data.shape_values.size() == dofs_per_cell,
+ ExcInternalError());
Assert (fe_data.shape_values[0].size() ==
GeometryInfo<dim>::faces_per_cell * n_q_points *
(dim == 3 ? 2 : 1),
if (flags & update_gradients)
{
- Assert (fe_data.shape_gradients.size() ==
- GeometryInfo<dim>::faces_per_cell * n_q_points,
+ Assert (fe_data.shape_values.size() == dofs_per_cell,
+ ExcInternalError());
+ Assert (fe_data.shape_gradients[0].size() ==
+ GeometryInfo<dim>::faces_per_cell * n_q_points *
+ (dim == 3 ? 2 : 1),
ExcInternalError());
std::vector<Tensor<2,dim> > shape_grads1 (n_q_points);
<ol>
<li> <p>
- Fixed: A wrong assertion in the Raviart-Thomas finite element class has
- been fixed, that was triggered when integrating face terms.
+ Fixed: Several wrong assertions in the Raviart-Thomas finite element
+ class have been fixed, that were triggered when integrating face terms.
<br>
- (Oliver Kayser-Herold, 2005/01/24)
+ (Oliver Kayser-Herold, 2005/01/24;
+ WB, 2005/01/31)
</p>
</ol>
point_difference_* \
umfpack_* \
fe_q_3d* \
- rt_*
+ rt_* \
+ nedelec_*
# tests for the hp branch:
# fe_collection_*
--- /dev/null
+//---------------------------- nedelec_1.cc ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 2005 by the deal.II authors and
+//
+// This file is subject to QPL and may not be distributed
+// without copyright and license information. Please refer
+// to the file deal.II/doc/license.html for the text and
+// further information on this license.
+//
+//---------------------------- nedelec_1.cc ---------------------------
+
+
+// this test is modeled after after the nedelec_1 test, since that one failed. I
+// just wanted to check that the nedelec element that has much of the same
+// code also works. turns out, all was fine
+
+#include "../tests.h"
+#include <base/logstream.h>
+#include <base/quadrature_lib.h>
+#include <grid/tria.h>
+#include <dofs/dof_handler.h>
+#include <grid/grid_generator.h>
+#include <grid/tria_accessor.h>
+#include <grid/tria_iterator.h>
+#include <dofs/dof_accessor.h>
+#include <dofs/dof_tools.h>
+#include <fe/fe_nedelec.h>
+#include <fe/fe_values.h>
+#include <iostream>
+#include <fstream>
+
+
+template <int dim>
+void test ()
+{
+ Triangulation<dim> triangulation;
+ GridGenerator::hyper_cube (triangulation, -1, 1);
+
+ FE_Nedelec<dim> fe (1);
+ DoFHandler<dim> dof_handler (triangulation);
+ dof_handler.distribute_dofs (fe);
+
+ QGauss<dim-1> q(2);
+ FEFaceValues<dim> fe_values (fe, q, update_values|update_gradients);
+ fe_values.reinit (dof_handler.begin_active(), 0);
+
+ deallog << "OK" << std::endl;
+}
+
+
+int main ()
+{
+ std::ofstream logfile("nedelec_1.output");
+ deallog.attach(logfile);
+ deallog.depth_console(0);
+
+ test<2> ();
+ test<3> ();
+
+ return 0;
+}
template <int dim>
-void test ()
+void test (const unsigned int degree,
+ const unsigned int q_order)
{
Triangulation<dim> triangulation;
GridGenerator::hyper_cube (triangulation, -1, 1);
+ FE_RaviartThomas<dim> fe (degree);
DoFHandler<dim> dof_handler (triangulation);
- FE_RaviartThomas<dim> fe (1);
dof_handler.distribute_dofs (fe);
- QGauss<dim-1> q(2);
- FEFaceValues<dim> fe_values (fe, q, update_values|update_gradients);
+ QGauss<dim-1> q(q_order);
+ FEFaceValues<dim> fe_values (fe, q,
+ update_values |
+ update_gradients |
+ update_second_derivatives |
+ update_q_points |
+ update_jacobians);
fe_values.reinit (dof_handler.begin_active(), 0);
deallog << "OK" << std::endl;
deallog.attach(logfile);
deallog.depth_console(0);
- test<2> ();
- test<3> ();
+ for (unsigned int degree=0; degree<3; ++degree)
+ for (unsigned int q_order=1; q_order<=3; ++q_order)
+ test<2> (degree, q_order);
+
return 0;
}
--- /dev/null
+
+DEAL::OK
+DEAL::OK
--- /dev/null
+
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK
+DEAL::OK