/* Data area of _h_h starter. Comments with '$' as the first letter describe appearence of parameters on the screen. */ /* Note the user is allowed to access invisible Active field. To support this ActivePar macro is provided. Its parameter is external (i.e. visible to the user) name of parameter of dynamical system. The only problem is that all external names (expanded and explisit) must differ from 'ActivePar' */ #define ActivePar(parname) _ptr->Active[&(parname)-_ptr->P]=TRUE; /*$t Starter*/ typedef struct ___h_Data { /*$t Initial point*/ double *T; /*$ %Time | - n @Time { $Time} | "0" %LCode(Time) */ double *X; /* Init point: phase components */ /*$ %Phase | + n @Phase { $Phase} | "0" %LCode(Phase) */ double *P; /* Init point: parameters components */ /*$ %Par | + N @Par { $Par} | "0" %LCode(Par) */ char *Active; /*$ %Par | - n _ActivePar | "0" */ /*$t Singular Solver data*/ double eps; /* null-vector tolerance */ /*$ 1 | + n SingTolerance | "0.001" */ /*$t Jacobian data*/ double dx; /* differentiation increment */ /*$ 1 | + n Increment | "0.00001" */ /*$t=dh Branch switch data*/ int branch; /* branch to switch */ /*$=dh 1 | + s primary secondary | Branch | "1" */ /*$ 1 | - s primary secondary | Branch | "1" */ /*$t Monitor singularities*/ char *ActiveSing; /* Max number of secant iterations */ /*$ 4 | + s no yes | Generalized_Hopf(%Phase-2) Bogdanov-Takens(%Phase-2) Zero-Hopf(%Phase-3) Double_Hopf(%Phase-4) | "1" */ int *TypeTestFunc; /*$ 4 | - n | "1,1,1,0" */ int *ZeroTestFunc; /* 0 - NOT zeroed; 1 - zeroed */ /*$=bt 4 | - n | "0,1,1,0" */ /*$=zh 4 | - n | "0,0,1,0" */ /*$ 4 | - n | "0" */ /*$t User defined functions*/ char *ActiveUserTest; /* LOCCL_AUS */ /*$ %UserFunc | + S ignore detect monitor append | @UserFunc { $UserFunc} | "0" %Code(SPECCL_AUS) */ /*$t Eigenvalues*/ int eigcomp; /* compute eigenvalues */ /*$ 1 | + s no yes | Compute | "1" */ /*$t Set initial point*/ FuncPar(void,SetInitPoint,(struct ___h_Data * _ptr)); /*$ 1 | + f SetInitPoint | "" */ } __h_Data, * __h_DataPtr;