~ubuntu-branches/ubuntu/raring/rheolef/raring-proposed

« back to all changes in this revision

Viewing changes to doc/pusrman/neumann-laplace.tex

  • Committer: Package Import Robot
  • Author(s): Pierre Saramito, Pierre Saramito, Sylvestre Ledru
  • Date: 2012-05-14 14:02:09 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20120514140209-dzbdlidkotyflf9e
Tags: 6.1-1
[ Pierre Saramito ]
* New upstream release 6.1 (minor changes):
  - support arbitrarily polynomial order Pk
  - source code supports g++-4.7 (closes: #671996)

[ Sylvestre Ledru ]
* update of the watch file

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
      -\Delta u &=& f \ {\rm in}\ \Omega \\
26
26
      \Frac{\partial u}{ \partial n} &=& g \ {\rm on}\ \partial \Omega
27
27
  \end{eqnarray*}
28
 
\cindex{algorithm!conjugate gradient}
29
 
\cindex{algorithm!minres}
 
28
\cindex{method!conjugate gradient algorithm}%
 
29
\cindex{method!minres algorithm}%
30
30
  Since this problem only involves the derivatives of $u$,
31
31
  it is clear that its solution is never unique~\cite[p.~11]{girault-raviart-86}.
32
32
  A discrete version of this problem could be solved iteratively
109
109
  $$
110
110
        l_h(v) = m(\Pi_h f,v_h) + m_b(\pi_h g, v_h)
111
111
  $$
112
 
  
 
112
 
113
113
\subsection*{File \file{neumann-laplace.cc}}
114
114
  \exindex{neumann-laplace.cc}
115
115
  \myexample{neumann-laplace.cc}
172
172
  and
173
173
    {\color{rheoleftypcolor} \code{vec}}
174
174
  are respectively the matrix and vector classes.
 
175
\cindex{matrix!sparse}%
175
176
  The {\color{rheoleftypcolor} \code{csr}} is the abbreviation
176
177
  of {\em compressed sparse row}, a sparse matrix compression standard format.
177
178
%
 
179
\cindex{matrix!singular}%
 
180
\cindex{matrix!indefinite}%
 
181
\findex{ldlt}%
178
182
  Notice that the matrix $\mathcal{A}$ is symmetric and non-singular, but indefinite~: 
179
183
  it admits eigenvalues that are either strictly positive or strictly negative.
 
184
  While the Choleski factorization is not possible, its variant the $LDL^T$ one
 
185
  is performed, thanks to the \code{ldlt} function:
 
186
  \begin{lstlisting}[numbers=none,frame=none]
 
187
    solver sa = ldlt(A);
 
188
  \end{lstlisting}
180
189
  Then, the \code{uh.u} vector is extracted from the \code{U} one:
181
190
  \begin{lstlisting}[numbers=none,frame=none]
182
191
    uh.u = U [range(0,uh.u.size())];
225
234
    din  >> catchmark("u") >> uh
226
235
         >> catchmark("lambda") >> lambda;
227
236
  \end{lstlisting}
228
 
  This is usefull for post-treatment, visualization and error analysis.
 
237
  This is useful for post-treatment, visualization and error analysis.
229
238
 
230
239
\subsection{How to run the program}
231
240