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.
 
 
 
 
 

119 lines
3.7 KiB

#ifndef ConstantDefinitions
#define ConstantDefinitions
#define DOMAIN_DIR "domains"
#define DOMAIN_NAME "domain"
#define COUPLING_DIR "coupling"
#define VTK_DIR "vtk"
// 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 YES 1
#define NO 0
#define STRLEN 256
#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
#define prismNumBasis 36
#define tetraNumBasis 24
#define triNumBasis 8
// for numerical integration of element matrices
#define triNumGaussPnt 6
#define SecondOrderNodes 10
#define SecondOrderTri 6
#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
// CONSTANTS DEFINED IN globals.h of WG2D (anwg)
// TO BE REPLACED BY THOSE GIVEN AT END OF FILE
#define Pi 3.141592653589793238462643
#define Vo 2.997956377e+08
#define Eo 8.85418533673203e-12
#define Uo (4.0 * Pi * 1.0e-07)
// The constants below are calculated via the following (C++) code
// and printed to numeric_limits<long double>::digits10 digits
// const long double Pi = acosl(-1.);
// const long double PiSquared = Pi * Pi;
// const long double SqrtPi = sqrtl(Pi);
// const long double LnPi = logl(Pi);
// const long double TwoPi = 2. * Pi;
// const long double PiOverTwo = Pi / 2.;
// const long double TwoOverPi = 2. / Pi;
// const long double PiOverFour = Pi / 4.;
//
// const long double Uo = 4. * Pi * 1.e-07;
// const long double Vo = 2.99792458e+08;
// const long double Eo = 1. / (Vo * Vo * Uo);
// const long double No = sqrt(Uo / Eo);
//
// const long double Ln10 = logl(10.);
// const long double Ln2 = logl(2.);
// const long double Sqrt2 = sqrtl(2.);
// const long double DegreesPerRadian = 180. / Pi;
// const long double RadiansPerDegree = Pi / 180.;
// #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
#endif /* ConstantDefinitions */