Go to the documentation of this file.
9 #define GAMMA (gamideal)
24 #define CHANGEDTOOLDER 0
37 #define GAMMASQCHECKRESID (1e2)
43 #define CYCLESTOP 200 // don't limit for now to avoid issues with bad solutions in highly magnetized cases.
44 #define NUMCYCLES 200 // ""
48 #define ITERDAMPSTART 10 // iteration to start using damp if haven't already
49 #define MAX_NEWT_ITER 100
50 #define NEWT_TOL (1E3*NUMEPSILON)
51 #define NEWT_TOL_ULTRAREL (5.0*NUMEPSILON)
54 #if(REALTYPE==FLOATTYPE)
55 #define MIN_NEWT_TOL (1E-2)
56 #elif(REALTYPE==DOUBLETYPE)
57 #define MIN_NEWT_TOL (1E-6)
58 #elif(REALTYPE==LONGDOUBLETYPE)
59 #define MIN_NEWT_TOL (1E-8)
64 #define ITERDAMPSTART 10 // iteration to start using damp if haven't already
65 #define MAX_NEWT_ITER 30
66 #define NEWT_TOL (1E5*NUMEPSILON)
67 #define NEWT_TOL_ULTRAREL (1E1*NUMEPSILON)
70 #if(REALTYPE==FLOATTYPE)
71 #define MIN_NEWT_TOL (1E-2)
72 #elif(REALTYPE==DOUBLETYPE)
73 #define MIN_NEWT_TOL (1E-2)
74 #elif(REALTYPE==LONGDOUBLETYPE)
75 #define MIN_NEWT_TOL (1E-2)
83 #define MINERROREXPECTED (NUMEPSILON*10.0)
95 #define EXTRA_NEWT_ITER 2
96 #define EXTRA_NEWT_ITER_ULTRAREL 2
99 #define EXTRA_NEWT_ITER 1
100 #define EXTRA_NEWT_ITER_ULTRAREL 2
103 #define CYCLE_BREAK_PERIOD 1000
104 #define CHECK_FOR_STALL 0
107 #define NEWT_TOL2 (NUMEPSILON)
108 #define MIN_NEWT_TOL2 (1E4*NUMEPSILON)
111 #define SCALEMAX 1.0e2
112 #define TOL_LINE_STEP NEWT_TOL
113 #define GRADMIN (1E4*NUMEPSILON)
114 #define NEWT_FUNC_TOL 1.0e-5
125 #define GAMMASQ_TOO_BIG (GAMMAFAIL*GAMMAFAIL)
127 #define UTSQ_TOO_BIG ((GAMMAFAIL-1.0)*(GAMMAFAIL-1.0))
128 #define UT_TOO_BIG (GAMMAFAIL-1.0)
134 #define VSQ_TOO_BIG ((GAMMASQ_TOO_BIG-1.0)/(GAMMASQ_TOO_BIG)) // avoids catastrophic cancellation unlike above
145 #define VSQNEGCHECK 2
148 #define UTSQNEGLIMIT (-0.9*UTSQ_TOO_BIG)
152 #define MAXNEGUTSQ (fabs(UTSQNEGLIMIT)) // greater than negative of this but <0 makes utsq=0
154 #define MAXNEGVSQ (0.9*VSQ_TOO_BIG)
182 #define MYMAX(a,b) ( ((a) > (b)) ? (a) : (b) )