sconfmpdisc.h File Reference


Detailed Description

This is sconfmp, the self-consistent finite element time domain maxwell solver for tracking charged particles through accelerator cavities.

Copyright by Benedikt Oswald, 2002-2006, all rights reserved.

Objective: defines class and its methods of a class, i.e. numproc in UG speak, for the implicit time domain integration of the curl-curl equation; discretized using Galerkin's principle and Whitney edge elements and using current densities computed from charged particles moving through the computational domain to excite the electromagnetic problem.

Author:
Benedikt Oswald
Date:
2006 novbenedikt oswald
Warning:
none
Attention:
none required
Bug:
this is a research code.
Todo:
it would be useful to import precomcputed cavity fields.

#include "compiler.h"
#include "gm.h"
#include "ugstruct.h"
#include "misc.h"
#include "ugdevices.h"
#include "commands.h"
#include "cmdint.h"
#include "cmdline.h"
#include "general.h"
#include "np.h"
#include "assemble.h"
#include "namespace.h"
#include "aqhdMaterials.h"
#include "disconst.h"
#include "whitney.h"
#include "sconfmp.h"

Go to the source code of this file.

Functions

INT AssembleTetrahedronPEC (NP_BASE *base, ELEMENT *t, INT argc, char **argv)


Function Documentation

INT AssembleTetrahedronPEC ( NP_BASE *  base,
ELEMENT *  t,
INT  argc,
char **  argv 
)

AssembleTetrahedronPEC - compute local matrices and accumulate them

SYNOPSIS: static int AssembleTetrahedronPEC(...)

PARAMETERS:

DESCRIPTION:

This function constructs the elemental matrices, namely:

[T_ij] e_tt + [R_ij] e_t + [S_ij] e + F_i = 0

/ where [T_ij] = epsilon | w1_i * w1_j dV /

/ where [R_ij] = sigma | w1_i * w1_j dV /

/ where [S_ij] = (1/mu) | ( Nabla x w1_i ) * ( Nabla x w1_j ) dV /

/ where [F_i] = | w1_i ) * d/dt J_0 dV /

with J_0 defined as the impressed or forced current with [T_ij] and [R_ij] being scaled versions of the same integral expression

SEE ALSO: diff2d, assemble

RETURN VALUE: INT

FE_OK if ok FE_NOT_TETRAHEDRON if not tetrahedron FE_BAD_TRAFO if bad trafo FE_NO_CONNECTION if no connection

construct elemental matrices [T_ij] and [R_ij], therefore double loop over the edges (ei,ej) of the current tetrahedron; carry out Gaussian quadrature within the doubly nested loop forevery combination of the edges of a tetrahedron; there is some optimization potential because the matrix is symmetrix and it has not yet been exploited.


Generated on Fri Oct 26 14:04:29 2007 for acheron3d by  doxygen 1.4.7