26.08.2015 Views

nonsymmetric dynamics

ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...

ML 5.0 Smoothed Aggregation User's Guide - Trilinos - Sandia ...

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!