tdwaveforms.h

00001 // copyright by benedikt oswald, all rights reserved, 2002-2006.
00002 // project - aqhdes2003
00003 // file name - tsource.h
00004 // file type - C include file
00005 // objective - declare functions for time domain waveforms
00006 // creation - 2003 mar 19, benedikt oswald
00007 // modified - 2004 jul 26, benedikt oswald, added carrier modulated gaussian pulse
00008 // required software - UG 3.1 or higher
00009 // rights for UG - cf. paper by Bastian et al., 1997
00010 // file id -
00011 // inheritance - 
00012 // feature - defines functions for time domain waveforms used
00013 // feature - in the benchmark and validation problems
00014 
00015 /****************************************************************************/
00016 /*                                                                          */
00017 /* include files                                                            */
00018 /*            system include files                                          */
00019 /*            application include files                                     */
00020 /*                                                                          */
00021 /****************************************************************************/
00022 
00023 #ifndef __SIGNALS__
00024 #define __SIGNALS__
00025 
00026 #include <math.h>
00027 #include <stdlib.h>
00028 #include <stdio.h>
00029 #include <string.h>
00030 
00031 #include "gm.h"              /* for data structure               */
00032 #include "ugstruct.h"        /* for GetStringValue               */
00033 #include "misc.h"            /* for MIN, MAX, PI, ...            */
00034 #include "ugdevices.h"       /* for UserWrite, PrintErrorMessage */ 
00035 #include "commands.h"        /* for GetCurrentMultigrid          */
00036 #include "cmdint.h"          /* for CreateCommand                */
00037 #include "cmdint.h"          /* for CreateCommand                */
00038 #include "cmdline.h"         /* for command line processing      */
00039 #include "general.h"         /* for general desclarations        */
00040 #include "np.h"              /* for NUMPROC implementation       */
00041 #include "assemble.h"        /* for CreateCLASS implementation   */
00042 
00043 #include "compiler.h"
00044 #include "namespace.h"
00045 
00046 USING_UG_NAMESPACE
00047 USING_UGDIM_NAMESPACE
00048 
00049 // following three defines are kept for legacy reasons, used only in explicit solver
00050 #define E0 1.0
00051 #define TSHIFTGAUSSIAN 10.0e-9
00052 #define SGAUSSIAN 2.0e-9
00053 
00054 
00055 DOUBLE gaussian(DOUBLE amplitude,
00056                 DOUBLE t,
00057                 DOUBLE t0,
00058                 DOUBLE s);
00059 
00060 DOUBLE ddt1gaussian(DOUBLE amplitude,
00061                     DOUBLE t,
00062                     DOUBLE t0,
00063                     DOUBLE s);
00064 
00065 DOUBLE neumann(DOUBLE amplitude,
00066                DOUBLE t,
00067                DOUBLE t0,
00068                DOUBLE s);
00069 
00070 DOUBLE ddt1neumann(DOUBLE amplitude,
00071                    DOUBLE t,
00072                    DOUBLE t0,
00073                    DOUBLE s);
00074 
00075 DOUBLE modgauss(DOUBLE amplitude,
00076                 DOUBLE t,
00077                 DOUBLE t0,
00078                 DOUBLE s,
00079                 DOUBLE f0);
00080 
00081 DOUBLE ddt1modgauss(DOUBLE amplitude,
00082                     DOUBLE t,
00083                     DOUBLE t0,
00084                     DOUBLE s,
00085                     DOUBLE f0);
00086 
00087 #endif /* __SIGNALS__ */
00088 

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