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.
#include "sconfmp.h"
Functions | |
static INT | SCONFMPInit (NP_BASE *base, INT argc, char **argv) |
static INT | SCONFMPExecute (NP_BASE *base, INT argc, char **argv) |
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