RCS Computation Toolkit This repository provides C++ and Python tools for computing radar cross section (RCS) from surface currents or analytical models
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

130 lines
3.8 KiB

#ifndef ConstantDefinitions
#define ConstantDefinitions
// use "wall-clock" time in windows for now since times() from <sys/times.h>
// won't work there
#if defined(_WIN32) || defined(WIN32) || defined(_WIN64) || defined(WIN64)
#define WALLCLOCK 1
#define SYS_DELETE "del /Q"
#define SYS_COPY "copy /Y"
#define SYS_MKDIR "mkdir"
#else
#define WALLCLOCK 0
#define SYS_DELETE "/bin/rm -rf"
#define SYS_COPY "/bin/cp -f"
#define SYS_MKDIR "/bin/mkdir -p"
#endif
#define tetraNumBasis 24
#define YES 1
#define NO 0
#define NOT_NUMBERED -1
#define STRLEN 256
#define StrLenShort 128
#define StrOutput 128
#define ZERO_3 1.e-3
#define ZERO_4 1.e-4
#define ZERO_5 1.e-5
#define ZERO_6 1.e-6
#define ZERO_7 1.e-7
#define ZERO_8 1.e-8
#define ZERO_9 1.e-9
#define ZERO_10 1.e-10
#define ZERO_11 1.e-11
#define ZERO_12 1.e-12
#define ZERO_13 1.e-13
#define ZERO_14 1.e-14
#define ZERO_15 1.e-15
// for numerical integration of element matrices
#define triNumGaussPnt 6
#define SecondOrderNodes 10
#define SecondOrderTri 6
#define TriNumH1Basis 8
#define SEC_ORDER_FACE_NODES 6
#define FIR_ORDER_FACE_NODES 3
#define NumOfUnitaryVectors 3
#define NumOfNodes 4
#define NumOfEdges 6
#define NumOfFaces 4
#define NumOfNodesPerFace 3
#define NumOfEdgesPerFace 3
#define NumOfTetrasPerFace 2
#define NumOfFieldComponents 6 //Ex Ey Ez Hx Hy Hz
#define TypeOfFields 2 //E & H
#define TensorRow_Col 3
#define NumCouplingMatrices 3 // Beii, Feij, Beij (number of matrices that need info of their neighbours)
#define BIGD 1.0e6
#define MEGA 1.0e6
#define EulerGamma 0.57721566490153286061
#define LnEulerGamma -0.54953931298164482234
#define DecibelsPerNeper 8.685889638065036553
#define NepersPerDecibel 0.1151292546497022842
#define MetersPerMil 0.0000254
#define MilsPerMeter 39370.07874015748
#define Pi 3.141592653589793239e+00
#define PiSquared 9.869604401089358619e+00
#define SqrtPi 1.772453850905516027e+00
#define LnPi 1.144729885849400174e+00
#define TwoPi 6.283185307179586477e+00
#define PiOverTwo 1.570796326794896619e+00
#define TwoOverPi 6.366197723675813431e-01
#define PiOverFour 7.853981633974483096e-01
#define Uo 1.256637061435917239e-06
#define Eo 8.854187817620390251e-12
#define Vo 2.997924580000000000e+08
#define No 3.767303134617706384e+02
#define Ln10 2.302585092994045684e+00
#define Ln2 6.931471805599453094e-01
#define Sqrt2 1.414213562373095049e+00
#define DegreesPerRadian 5.729577951308232088e+01
#define RadiansPerDegree 1.745329251994329577e-02
#define ICC 0
#define ILDLT 1
#define ILDLH 2
#define ILU 3
#define VTK_DIR "vtk"
#define VTK_UG_FILE_EXT ".vtu"
#define VTK_P_UG_FILE_EXT ".pvtu"
#define VTK_POLY_FILE_EXT ".vtp"
#define VTK_P_POLY_FILE_EXT ".pvtp"
#define VISIT_FILE_EXT ".visit"
// #define Tolerance 1.0e-12
#define Tolerance 1.0e-07
#define scaleFact 1.0E+12
#define scaleFactinv 1.0E-12
#define Protection 0.5e9
#define MaxThreadsPerBlock 1024
#define MaxThreadsPerWrap 32
#define ConformalCase 1
#define NonConformalCase 0
#define ClassRelMinCNT 0.1 //minimum % of elements to count as class
#define ClassMinCNT 1500 //minimum number of elements to count as class
#define PadeTolerance 0.94
#define SourceTolerancePade 1.0e-2
#define NumOfSampleEnergyCheck 10
#define usageSecurityThresholdFactor 1.1
#endif /* ConstantDefinitions */