Improved the documentation of hypre_AMSSetInteriorNodes().

This commit is contained in:
Tzanio 2015-06-25 13:47:05 -07:00
parent b44ffe5c09
commit 3ec167d122
3 changed files with 8 additions and 4 deletions

View File

@ -708,7 +708,8 @@ nodes which are interior to a zero-conductivity region provided by the function
\begin{display}\begin{verbatim}
HYPRE_AMSSetInteriorNodes(solver, HYPRE_ParVector interior_nodes);
\end{verbatim}\end{display}
Based on the \code{interior_nodes} variable, a restricted discrete gradient
A node is interior, if its entry in the \code{interior_nodes} array is $1.0$.
Based on this array, a restricted discrete gradient
operator $G_0$ is constructed, and AMS is then defined based on the matrix
${\mathbf A}+\delta G_0^TG_0$ which is non-singular, and a small $\delta>0$ perturbation of
${\mathbf A}$. When iterating with this preconditioner, it is advantageous to project on

View File

@ -1597,8 +1597,8 @@ HYPRE_Int HYPRE_AMSSetBetaPoissonMatrix(HYPRE_Solver solver,
/**
* (Optional) Set the list of nodes which are interior to a zero-conductivity
* region. This way, a more robust solver is constructed, that can be iterated
* to lower tolerance levels. This function should be called before
* HYPRE\_AMSSetup()!
* to lower tolerance levels. A node is interior if its entry in the array is
* 1.0. This function should be called before HYPRE\_AMSSetup()!
**/
HYPRE_Int HYPRE_AMSSetInteriorNodes(HYPRE_Solver solver,
HYPRE_ParVector interior_nodes);

View File

@ -1118,6 +1118,7 @@ HYPRE_Int hypre_AMSSetBetaPoissonMatrix(void *solver,
* hypre_AMSSetInteriorNodes
*
* Set the list of nodes which are interior to the zero-conductivity region.
* A node is interior if interior_nodes[i] == 1.0.
*
* Should be called before hypre_AMSSetup()!
*--------------------------------------------------------------------------*/
@ -1963,7 +1964,9 @@ HYPRE_Int hypre_AMSSetup(void *solver,
ams_data -> solve_counter = 0;
/* Construct the discrete gradient matrix for the zero-conductivity region
by eliminating the zero-conductivity nodes from G^t */
by eliminating the zero-conductivity nodes from G^t. The range of G0
represents the kernel of A, i.e. the gradients of nodal basis functions
supported in zero-conductivity regions. */
hypre_ParCSRMatrixTranspose(ams_data -> G, &G0t, 1);
{
HYPRE_Int i, j;