// below.
typedef MeshWorker::DoFInfo<dim> DoFInfo;
typedef typename MeshWorker::IntegrationWorker<dim>::CellInfo CellInfo;
- typedef typename MeshWorker::IntegrationWorker<dim>::FaceInfo FaceInfo;
-
+
// The following three functions
// are then the ones that get called
// inside the generic loop over all
// in fact other arguments
// already bound.
static void integrate_cell_term (DoFInfo& dinfo, CellInfo& info);
- static void integrate_boundary_term (DoFInfo& dinfo, FaceInfo& info);
+ static void integrate_boundary_term (DoFInfo& dinfo, CellInfo& info);
static void integrate_face_term (DoFInfo& dinfo1, DoFInfo& dinfo2,
- FaceInfo& info1, FaceInfo& info2);
+ CellInfo& info1, CellInfo& info2);
};
// FESubfaceValues, in order to get access to
// normal vectors.
template <int dim>
-void Step12<dim>::integrate_boundary_term (DoFInfo& dinfo, FaceInfo& info)
+void Step12<dim>::integrate_boundary_term (DoFInfo& dinfo, CellInfo& info)
{
const FEValuesBase<dim>& fe_v = info.fe_values();
FullMatrix<double>& local_matrix = dinfo.matrix(0).matrix;
// back and forth.
template <int dim>
void Step12<dim>::integrate_face_term (DoFInfo& dinfo1, DoFInfo& dinfo2,
- FaceInfo& info1, FaceInfo& info2)
+ CellInfo& info1, CellInfo& info2)
{
// For quadrature points, weights,
// etc., we use the
/* $Id$ */
/* */
-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008 by the deal.II authors */
+/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2010 by the deal.II authors */
/* */
/* This file is subject to QPL and may not be distributed */
/* without copyright and license information. Please refer */
std::cout << "Number of active cells: "
<< triangulation.n_active_cells()
<< std::endl;
- // Here, by active we mean the cells on the
- // finest level, i.e. cells that aren't
+ // Here, by active we mean the cells that aren't
// refined any further. We stress the
// adjective `active', since there are more
// cells, namely the parent cells of the
// quadrature points of the
// value of the shape function
// at that point times the
- // right hand side function
- // (i.e. 1) times the Jacobian
+ // right hand side function,
+ // here the constant function
+ // equal to one,
+ // times the Jacobian
// determinant times the weight
// of that quadrature point:
for (unsigned int i=0; i<dofs_per_cell; ++i)
// interior faces, respectively. All
// the information needed for the
// local integration is provided by
- // MeshWorker::IntegrationWorker<dim>::CellInfo
- // and
- // MeshWorker::IntegrationWorker<dim>::FaceInfo. Note
+ // MeshWorker::IntegrationWorker<dim>::CellInfo. Note
// that this public interface cannot
// be changed, because it is expected
// by MeshWorker::integration_loop().
static void cell(MeshWorker::DoFInfo<dim>& dinfo,
typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
static void bdry(MeshWorker::DoFInfo<dim>& dinfo,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info);
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
static void face(MeshWorker::DoFInfo<dim>& dinfo1,
MeshWorker::DoFInfo<dim>& dinfo2,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info1,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info2);
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info1,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info2);
};
template <int dim>
void MatrixIntegrator<dim>::bdry(
MeshWorker::DoFInfo<dim>& dinfo,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info)
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info)
{
const FEValuesBase<dim>& fe = info.fe_values();
FullMatrix<double>& local_matrix = dinfo.matrix(0,false).matrix;
void MatrixIntegrator<dim>::face(
MeshWorker::DoFInfo<dim>& dinfo1,
MeshWorker::DoFInfo<dim>& dinfo2,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info1,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info2)
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info1,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info2)
{
const FEValuesBase<dim>& fe1 = info1.fe_values();
const FEValuesBase<dim>& fe2 = info2.fe_values();
{
public:
static void cell(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
- static void bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info);
+ static void bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
static void face(MeshWorker::DoFInfo<dim>& dinfo1,
MeshWorker::DoFInfo<dim>& dinfo2,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info1,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info2);
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info1,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info2);
};
template <int dim>
-void RHSIntegrator<dim>::bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info)
+void RHSIntegrator<dim>::bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info)
{
const FEValuesBase<dim>& fe = info.fe_values();
Vector<double>& local_vector = dinfo.vector(0).block(0);
template <int dim>
void RHSIntegrator<dim>::face(MeshWorker::DoFInfo<dim>&,
MeshWorker::DoFInfo<dim>&,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo&,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo&)
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo&,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo&)
{}
{
public:
static void cell(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
- static void bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info);
+ static void bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info);
static void face(MeshWorker::DoFInfo<dim>& dinfo1,
MeshWorker::DoFInfo<dim>& dinfo2,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info1,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info2);
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info1,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info2);
};
template <int dim>
-void Estimator<dim>::bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info)
+void Estimator<dim>::bdry(MeshWorker::DoFInfo<dim>& dinfo, typename MeshWorker::IntegrationWorker<dim>::CellInfo& info)
{
const FEValuesBase<dim>& fe = info.fe_values();
template <int dim>
void Estimator<dim>::face(MeshWorker::DoFInfo<dim>& dinfo1,
MeshWorker::DoFInfo<dim>& dinfo2,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info1,
- typename MeshWorker::IntegrationWorker<dim>::FaceInfo& info2)
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info1,
+ typename MeshWorker::IntegrationWorker<dim>::CellInfo& info2)
{
const FEValuesBase<dim>& fe = info1.fe_values();
const std::vector<double>& uh1 = info1.values[0][0];
{
public:
typedef typename MeshWorker::IntegrationWorker<dim>::CellInfo CellInfo;
- typedef typename MeshWorker::IntegrationWorker<dim>::FaceInfo FaceInfo;
Step39(const FiniteElement<dim>& fe);