pml_aux.h

00001 // copyright by benedikt oswald, all rights reserved, 2002-2006.
00002 // project - aqhdes2003
00003 // file name - pml_aux.h
00004 // file type - C include file
00005 // objective - defines markros and helpful functions
00006 // creation - 2004 mar 11 by holger gerhards
00007 // modified - 
00008 // required software - UG 3.1 or higher
00009 // rights for UG - cf. paper by Bastian et al., 1997
00010 // file id -
00011 // feature - 
00012 
00013 
00014 #ifndef __PML_AUX__
00015 #define __PML_AUX__
00016 
00017 #include "all_pml.h"
00018 
00019 /********* definition of constants ************/
00020 
00021 /* return constants */
00022 #define PROBLEM   1
00023 #define ALL_RIGHT 0
00024 
00025 /* special modi */
00026 #define CENTER 0
00027 #define NODES  1
00028 
00029 #define ALLOCATE 2
00030 #define SIMPLE   3
00031 
00032 #define SURFACE 0
00033 #define INNER   1
00034 #define BREAK   2
00035 
00036 #define LINEAR 4
00037 #define CONSTANT 5
00038 
00039 #define DIAG_ONE 1
00040 #define DIAG_ZERO 0
00041 
00042 /* for special debug-function */
00043 #define POSITION 0
00044 #define ALL      1
00045 
00046 
00047 INT Get_pml_Parameter(NP_BASE *base, INT mode1, INT mode2, 
00048                       DOUBLE *global, DOUBLE *sig );
00049 
00050 INT Get_Num_of_Elem_in_pml( NP_BASE *base ,
00051                             INT mode1, INT mode2 );
00052 
00053 INT Build_Vec_of_pml_Elem_Id( NP_BASE *base ,
00054                               INT mode1, INT mode2 );
00055 
00056 INT Get_Num_of_Points_in_pml( NP_BASE *base, 
00057                               INT mode );
00058 
00059 INT Build_Vec_of_pml_Point_Id( NP_BASE *base );
00060 
00061 
00062 INT Tet_Info_Function(NP_BASE *base, INT mode, INT timestep, DOUBLE *pos, char *name, char *zusatz);
00063 
00064 INT Return_Maximum_Tet(NP_BASE *base, INT mode, INT timestep, char *name, char *zusatz);
00065 
00066 
00067 INT Pec_Boundary_Condition_Matrix( MATDATA_DESC *M , INT mode);
00068 
00069 INT Pec_Boundary_Condition_Vector( VECDATA_DESC *V );
00070 
00071 INT Check_Condition_for_linear_pml( NP_BASE *base );
00072 
00073 INT Check_Condition_for_constant_pml( NP_BASE *base );
00074 
00075 INT Pml_Parameter_Output_2d( NP_BASE *base, INT timestep,
00076                          DOUBLE hx, DOUBLE hy, DOUBLE hz,
00077                          char *name , char *zusatz);
00078 
00079 INT Pml_Parameter_Output_3d( NP_BASE *base, INT timestep,
00080                          DOUBLE hx, DOUBLE hy, DOUBLE hz,
00081                          char *name , char *zusatz );
00082 
00083 INT Mathematica(NP_BASE *base, INT timestep, 
00084                 DOUBLE *pos, char *name, char *zusatz);
00085 
00086 #endif
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100  

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