Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Panel
titleTable of Contents
Table of Contents
minLevel2
outlinetrue
indent30px
typeflat
separatornewline

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.

Mathematical Modeling

Lossless cavities

Maxwell's equations in the frequency domain for a perfectly conducting cavity can be written as the following PDE,

Wiki Markup
{center:class=myclass}
Wiki Markup
{toc:outline=true|indent=0px|minLevel=2}

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}

{center}

We

...

use

...

Nedelec-type

...

vector

...

basis

...

functions

...

to

...

discretize

...

the

...

electric

...

field:

Wiki Markup
{center:class=myclass}
{latex}\[\vec{\mathbf E}=\sum_i x_i \vec{\mathbf N}_i\]{latex}
{center}

We

...

obtain

...

the

...

following

...

generalized

...

eigenvalue

...

problem:

Wiki Markup
{center:class=myclass}
{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}

{center}

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.

...

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.
Image Added

The discretized system is a complex nonlinear eigenvalue problem,

Wiki Markup
{center:class=myclass} 
!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}
{center}

where

...

the

...

damping

...

matrix

...

W is

Wiki Markup
{center:class=myclass}* 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\Gamma
\]
{latex}{center}

The

...

following

...

picture

...

illustrates

...

a

...

cavity

...

with

...

waveguides,

...

which

...

are

...

modeled

...

with

...

WBC.
Image Added
The corresponding discretized system becomes a complex nonlienar eigenvalue problem,

Wiki Markup
{center:class=myclass}

!Waveguide.png|align=center,width=500!
The corresponding discretized system becomes a complex nonlienar eigenvalue problem, 

{latex}
\[ 
{\mathbf Kx} + i \sum_{m,n} \sqrt{k^2-(k^{TE}_{mn})^2} {\mathbf W}^{TE}_{mn} {\mathbf x} + i \sum_{m,n} \frac{k^2}{\sqrt{k^2-(k^{TM}_{mn})^2}}  {\mathbf W}^{TM}_{mn} {\mathbf x}  = k^2 {\mathbf Mx}
\]
{latex}
{center}

where

...

the

...

waveguide

...

matrices are

Wiki Markup
{center:class=myclass} are 
{latex}
\[
({\mathbf W}^{TE}_{mn})_{ij} = \int_{\Gamma} \vec{\mathbf e}^{TE}_{mn} \cdot \vec{\mathbf N}_i d\Gamma \int_{\Gamma} \vec{\mathbf e}^{TE}_{mn} \cdot  \vec{\mathbf N}_j d\Gamma
\] 
\\
\]
{latex}
where the waveguide matrices are 
{latex}
\[
({\mathbf W}^{TM}_{mn})_{ij} = \int_{\Gamma} \vec{\mathbf e}^{TM}_{tmn} \cdot \vec{\mathbf N}_i d\Gamma \int_{\Gamma} \vec{\mathbf e}^{TM}_{tmn} \cdot  \vec{\mathbf N}_j d\Gamma
\] 
{latex}

h2. Numerical Methods
The following is a graphical description of the four different types of physics problems that Omega3P can solve and the solver options that can be used.}{center}

Numerical Methods

The following is a graphical description of the four different types of physics problems that Omega3P can solve and the solver options that can be used.
Image Added

Parallel Performance

Omega3P parallel performance is heavily dependent on the solver used. In general, using sparse direct solvers for shifted linear systems often yields higher FLOPS than using Krylov subspace iterative methods. On the other hand, the latter has much better scalability.

The following is a strong scalability plot for Omega3P running on ORNL Jaguar (Cray XT). It used 1.5 million higher-order tetrahedral elements for the RF gun of the LCLS. . The number of the degrees of freedom is about 9.6 millions, and the number of nonzeros in the resulting matrix about 506 millions. It is shown that Omega3P scales to 4096 number of CPUs with more than 95% of parallel efficiency.
Image Added

Past Accomplishments