sconfmp.c 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, there may be bugs.
Todo:
it would be useful to import precomcputed cavity fields.

#include "sconfmp.h"

Functions

static INT SCONFMPInit (NP_BASE *base, INT argc, char **argv)
static INT SCONFMPExecute (NP_BASE *base, INT argc, char **argv)


Function Documentation

static INT SCONFMPExecute ( NP_BASE *  base,
INT  argc,
char **  argv 
) [static]

SCONFMPExecuteTimeStep - execute one single time step using an implicit time domain integration scheme for the curl-curl equation based on a discretization derived from Galerkin's principle and Whitney's elements of the first kind having DoF's associated with the edges of the tetrahedron:

the execute functions can be used with different parameters; for implementational templates cf. the implementation of the function 'BDFExecute' in file bdf.c:

npexecute <its> $assemble -> assemble global system matrices npexecute <its> $init -> init implicuit time solver's internal data npexecute <its> $pre -> preprocessing npexecute <its> $iu -> carry out one single implicit update step npexecute <its> $post -> postprocessing

Complete the implementation of the PEC boundary condition by setting the respective entries of the r.h.s. vector to zero.

go back peacefully

static INT SCONFMPInit ( NP_BASE *  base,
INT  argc,
char **  argv 
) [static]

SCONFMPInit - initialization funtion for the NUMPROC 'NP_IMPLICIT_TIME_SOLVER'; the function is called when npinit <sconfmp> is executed in the UG script

assignment of the function (1) read all vector and matric descriptors and link the variable names of the UG script with the pointers to said structures stored within UG. (2) assemble global matrices TMAT, SMAT and RMAT, if losses shall be considered in the computation

calling syntax for npinit ets is:

npinit <its> $EP efldp $EN efldpn $EM efldm $RHS rhs $TMAT tmat $RMAT rmat $SMAT smat $DT 10.0e-12;

where $EP efldp -> VECDATA_DESC structure for electric field along the edges of the element at time t_(n+1) $EN efldn -> VECDATA_DESC structure for electric field along the edges of the element at time t_(n) $EM efldm -> VECDATA_DESC structure for electric field along the edges of the element at time t_(n-1)

$RHS rhs -> VECDATA_DESC structure for the right-hand side of the linear system to be solved for

$TMAT tmat -> MATDATA_DESC structure for matrix containing the T matrix $RMAT rmat -> MATDATA_DESC structure for matrix containing the R matrix (losses) $SMAT smat -> MATDATA_DESC structure for matrix containing the S matrix

$DT 1.0e-12 -> DOUBLE value for the time step in the explicit scheme

End of electromagnetic related intialization

Start IPPL initialization here

Initialization finished


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