% This file was converted from HTML to LaTeX with
% gnuhtml2latex program
% (c) Tomasz Wegrzanowski <maniek@beer.com> 1999
% (c) Gunnar Wolf <gwolf@gwolf.org> 2005-2010
% Version : 0.4.

\par  Function File: [\textit{A}], [\textit{x}(Optional)] \textbf{=}\textit{ assemble }(\textit{form\_a, DirichletBC})\textit{}\\
\begin{quotation}\par Construct the discretization of a Form and apply essential BC. 
The input arguments are
          \begin{itemize}
\item \textit{form\_a} which is the form to assemble. 
It can be a form of rank 2 (BilinearForm or JacobianForm), a form of rank 1 (LinearForm or ResidualForm) or a form of rank 0 (Functional). 
\item \textit{DirichletBC} represents the optional BC applied to the system. 
\end{itemize}
        The output \textit{A} is a discretized representation of the \textit{form\_a}:
          \begin{itemize}
\item \textit{A} is a sparse Matrix if \textit{form\_a} is a bilinear form
\item \textit{A} is a Vector if \textit{form\_a} is a linear form
\item \textit{A} is a Double if \textit{form\_a} is a functional
\end{itemize}
        If a boundary condition has to be applied to a vector for a nonlinear problem then it should be provided as 2nd argument and it will be given back as the second output argument. For an example of this situation, please refer to the HyperElasticity example.

     \par \textbf{See also:} BilinearForm, LinearForm, ResidualForm, JacobianForm, Functional.

        \end{quotation}

