h2. Introduction 
Omega3P is a parallel finite-element electrogmagnetic code for high-fidelity modeling of cavities. It calculates the resonant frequencies and other rf parameters of a cavity, as well as damping effects due to external couplings. It uses Nedelec-type hierarchical vector basis up to 6th order with quadratic (10-points) tetrahedral elements for improved solution accuracy. 

h2. Mathematical Modeling
h3. Lossless cavities
Maxwell's equations in the frequency domain for a perfectly conducting cavity can be written as the following PDE,
{latex}
\begin{eqnarray*}
\nabla \times \left(\frac{1}{\mu} \nabla \times \vec{\mathbf E}\right) - k^2 \epsilon \vec{\mathbf E} & = 0 & on \quad \Omega \\
\vec{\mathbf n} \times \vec{\mathbf E} & = 0 & on \quad \Gamma_{E} \\
\vec{\mathbf n} \times \left( \frac{1}{\mu} \nabla \times \vec{\mathbf E} \right) & = 0 & on \quad \Gamma_{M} \\
\end{eqnarray*}
{latex}

We use Neelec-type vector basis functions to discretize the electric field:
{latex}\[\vec{\mathbf E}=\sum_i x_i \vec{\mathbf N}_i\]{latex}
We obtain the following generalized eigenvalue problem:
{latex}
\begin{eqnarray*}
{\mathbf Kx}  = k^2 {\mathbf Mx} \quad where & \\
{\mathbf K}_{ij} =  \int_{\Omega} \left( \nabla \times \vec{\mathbf N}_i \right) \cdot \frac{1}{\mu} \left( \nabla \times \vec{\mathbf N}_j \right) d\Omega & \\
{\mathbf M}_{ij} =  \int_{\Omega} \vec{\mathbf N}_i  \cdot \epsilon \vec{\mathbf N}_j  d\Omega & \\
\end{eqnarray*}
{latex}

The matrix *K* is real symmetric while *M* is real symmetric positive definite. If there are lossy materials in the cavity, the matrix *M* and/or *K* will be complex.

h3. Waveguide loaded cavities
For modeling waveguide-loaded cavities, we use either the absorbing boundary condition (ABC) or the waveguide boundary condition (WBC). The following picture illustrates a cavity with 3 waveguides, and each of them is modeled with ABC. 
!Absorbing.png|width=500,align=center!

The discretized system is a complex nonlinear eigenvalue problem, 
{latex}
\[ 
{\mathbf Kx} + i \sum_j \sqrt{k^2-k^2_{cj}} {\mathbf W}_j {\mathbf x} = k^2 {\mathbf Mx}
\]
{latex}
where the damping matrix *W* is
{latex}
({\mathbf W}_j)_{mn} = \int_{\Gamma} \left( \vec{\mathbf n} \times \vec{\mathbf N}_m \right) \cdot \left( \vec{\mathbf n} \times \vec{\mathbf N}_n \right) d\Omega
{latex}

The following picture illustrates a cavity with waveguides, which are modeled with WBC.
!Waveguide.png|align=center,width=500!