message: template for new LFIntegrator
diff: @@ -123,6 +123,36 @@ public:
  using LinearFormIntegrator::AssembleRHSElementVect;
  };
  +/// Class for spatial Gaussian white noise integration L(v) := (\dot{W}, v)
  +class DomainLFIntegrator : public DeltaLFIntegrator
  +{
  + Vector shape;
  + Coefficient &Q;
  + int oa, ob;
  +public:
  + /// Constructs a domain integrator with a given Coefficient
  + DomainLFIntegrator(Coefficient &QF, int a = 2, int b = 0)
  + // the old default was a = 1, b = 1
  + // for simple elliptic problems a = 2, b = -2 is OK
  + : DeltaLFIntegrator(QF), Q(QF), oa(a), ob(b) { }
  +
  + /// Constructs a domain integrator with a given Coefficient
  + DomainLFIntegrator(Coefficient &QF, const IntegrationRule *ir)
  + : DeltaLFIntegrator(QF, ir), Q(QF), oa(1), ob(1) { }
  +
  + /** Given a particular Finite Element and a transformation (Tr)
  + computes the element right hand side element vector, elvect. */
  + virtual void AssembleRHSElementVect(const FiniteElement &el,
  + ElementTransformation &Tr,
  + Vector &elvect);
  +
  + virtual void AssembleDeltaElementVect(const FiniteElement &fe,
  + ElementTransformation &Trans,
  + Vector &elvect);
  +
  + using LinearFormIntegrator::AssembleRHSElementVect;
  +};
  +
  /// Class for domain integrator L(v) := (f, grad v)
  class DomainLFGradIntegrator : public DeltaLFIntegrator
  {
  