00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __PML_AUX__
00015 #define __PML_AUX__
00016
00017 #include "all_pml.h"
00018
00019
00020
00021
00022 #define PROBLEM 1
00023 #define ALL_RIGHT 0
00024
00025
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
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