nonsymmetric dynamics
ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...
ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Epetra_CrsMatrix TMatrix(...);<br />
Epetra_CrsMatrix KnMatrix(...);<br />
// Fill Matrices Here<br />
// Build Maxwell Preconditioner<br />
ML_Epetra::MultiLevelPreconditioner(CurlCurlMatrix, TMatrix, KnMatrix);<br />
7.5 Solver #2: RefMaxwell<br />
The RefMaxwell solver is accessed through the ML Epetra::RefMaxwellPreconditioner<br />
class, which can be found in the directory ml/src/RefMaxwell. This preconditioner handles<br />
the range and null space of the curl operator with a dedicated MultiLevelPreconditioner<br />
object for each and has demonstrated excellent parallel scalability in practice. The solver<br />
algorithm is detailed in [3]<br />
7.5.1 Operators that the user must supply<br />
The user must provide four matrices:<br />
1. the first-order edge element matrix K (e) .<br />
2. the discrete gradient matrix T .<br />
3. the inverse of the (lumped) nodal mass matrix M 0 .<br />
4. the edge mass matrix M 1 .<br />
The matrices K (e) and T are identical to the matrices used in Maxwell (described in<br />
Section 7.4). The matrix M 0 is used for the algebraic gauging of the edge space and should<br />
include appropriate factors for the permeability (µ). The matrix M 1 is used only for the<br />
edge space, meaning that it does not include the conductivity (σ).<br />
7.5.2 Coarse nullspaces<br />
RefMaxwell will automatically calculate the nullspace for the coarse edge problem from the<br />
discrete gradient matrix T and nodal coordinates. For periodic problems, however, this<br />
calculation will not be correct (since the nodes on the periodic boundary are really in two<br />
places at the same time). In this case, the user can specify nullspace options (using the<br />
standard syntax) as part of refmaxwell: 11list.<br />
7.5.3 Smoother options<br />
Unlike the Maxwell solver, it is not particularly advantageous to use the so-called Hiptmair<br />
hybrid smoother with RefMaxwell. A more traditional smoother, such as Chebyshev (in<br />
parallel) or Gauss-Seidel (in serial) should be used.<br />
48