/**
* Singularity on the L-shaped domain in 2D.
+ *
+ * Caveat: derivatives of this function are not implemented!
+ *
* @author Guido Kanschat, 1999
*/
class LSingularityFunction : public Function<2>
/**
* Singularity on the slit domain in 2D.
+ *
+ * Caveat: derivatives of this function are not implemented!
+ *
* @author Guido Kanschat, 1999
*/
class SlitSingularityFunction : public Function<2>
JobIdentifier();
/**
- * ???
+ * This function returns an
+ * identifier for the running
+ * program. Currently, the
+ * library provides a function
+ * returning "JobID".
+ *
+ * The user may define a
+ * replacement of this function
+ * in his source code and avoid
+ * linking the library
+ * version. Unfortunately, this
+ * mechanism does not work with
+ * shared libraries.
*/
-//TODO:[GK] document this variable
static const char* program_id();
/**
}
-//TODO:[GK] Implement derivatives
+//TODO:[?] Implement derivatives
Tensor<1,2>
LSingularityFunction::gradient (const Point<2> &p,
}
-//TODO:[GK] Implement derivatives
+//TODO:[?] Implement derivatives
Tensor<1,2>
SlitSingularityFunction::gradient (const Point<2> &/*p*/,
const unsigned int n = GeometryInfo<dim>::faces_per_cell
* (sub ? GeometryInfo<dim>::subfaces_per_face : 1);
-//TODO:[GK] Can we keep it that simple for non-symmetric formulae?
+// WB: Can we keep it that simple for non-symmetric formulae?
// Otherwise we'll have to include the weights in the project* functions.
// This may pose a problem anyway, since we do not want to switch endpoints
// in Gauss-Radau formulae.
+// GK: I don't see the problem. The project* functions copy the points
+// consecutively, so do we do with the weights here.
unsigned int k=0;
for (unsigned int i=0;i<n;++i)
}
+//TODO: [?] Replace code reduplication for opposite faces.
+// We need a variable then, telling whether the constant value is 0 or 1
+
template <>
void QProjector<2>::project_to_face (const Quadrature<1> &quadrature,
const unsigned int face_no,