/* @HEADER@ */
# ************************************************************************
# 
#                              Sundance
#                 Copyright (2005) Sandia Corporation
# 
# Copyright (year first published) Sandia Corporation.  Under the terms 
# of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government 
# retains certain rights in this software.
# 
# This library is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#  
# This library is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#                                                                                 
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA                                                                                
# Questions? Contact Kevin Long (krlong@sandia.gov), 
# Sandia National Laboratories, Livermore, California, USA
# 
# ************************************************************************
/* @HEADER@ */

namespace SundanceStdFwk
{
/*! \page equations Weak Forms of Equations

Each term in a weak equation is written using the Integral operator, which
takes three arguments: a CellFilter to specify the domain, an
Expr specifying the integrand, and a QuadratureFamily object to
indicate how the integration is to be done.

Each term must be a valid term in a weak equation, i.e., it must contains
exactly one test function.

For example, the weak form of Laplace's equation 
\f[
\nabla^2\phi=0
\f]
on the interior of a domain with Robin boundary condition 
\f[
\frac{\partial \phi}{\partial n} = \frac{1}{L}(x-\phi)
\f]
on an inflow surface, is written as
\code
// create first and second order Gaussian quadrature objects
QuadratureFamily quad1 = new GaussianQuadrature(1);
QuadratureFamily quad2 = new GaussianQuadrature(2);

// write the weak form. The interior term can use order 1 quadrature,
// but the surface term involves quadratic functions and must use
// order 2 quadrature
Expr eqn = Integral(interior, (grad*phiHat)*(grad*phi), quad1)
        + Integral(in, phiHat*(x-phi)/L, quad2) ;
\endcode

Dirichlet boundary conditions are not usually written in terms
of Integral operators; see 
the page on <A HREF="bcs.html"> boundary conditions </A> for more information
on that subject. 

See the pages on <A HREF="linear_problems.html"> linear problems </A>
and <A HREF="nonlinear_problems.html"> nonlinear problems </A> for
information on how to use symbolic weak forms in setting up 
problems to solve.


*/
}