/* Data area of rd__ss 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]=1; /*$t Starter*/ typedef struct _rd__ss_Data { /*$t Initial point*/ double *T; /*$ %Time | + n @Time { $Time} | "0" %LCode(Time) */ double *X; /*$ -2 | - n __S | "0" %LCode(Space) */ int lenX; /*$ 1 | - n __lenX | "0" */ /* len in bytes of *X */ double *U; /*$ -2 | - n __U | "0" %LCode(Phase) */ int lenU; /*$ 1 | - n __lenU | "0" */ /* len in bytes of *U */ double *P; /*$ %Par | + N @Par { $Par} | "0" %LCode(Par) */ char *Active; /*$=bp %Par | - n _ActivePar | "0" 201 */ /*$ %Par | - n _ActivePar | "0" */ /*$t Discretization data*/ int nmesh; /*$ 1 | + n MeshPoints | "50" */ int nmeshold; /*$ 1 | - n __m | "50" %Code(SPECCL_DIM) */ /*$t=d Corrector data*/ int maxit; /* max number of iterations */ /*$=d 1 | + n MaxIter | "10" */ /*$ 1 | - n MaxIter | "10" */ int maxnewt; /* max number of Newton iterations */ /*$=d 1 | + n MaxNewtonIter | "10" */ /*$ 1 | - n MaxNewtonIter | "10" */ double epsx; /* variable tolerance */ /*$=d 1 | + n VarTolerance | "0.00001" */ /*$ 1 | - n VarTolerance | "0.00001" */ double epsf; /* function tolerance */ /*$=d 1 | + n FuncTolerance | "0.0001" */ /*$ 1 | - n FuncTolerance | "0.0001" */ /*$t Jacobian data*/ double dx; /* differentiation increment */ /*$ 1 | + n Increment | "0.00001" */ /*$t=bp Branch switch data*/ int branch; /* branch to switch */ /*$=bp 1 | + s primary secondary | Branch | "1" */ /*$ 1 | - s primary secondary | Branch | "1" */ /*$t Monitor singularities*/ char *ActiveSing; /* $ 3 | + s no yes | Branching Limit_point Hopf | "0" */ /*$ 2 | + s no yes | Branching Limit_point | "0" */ int *TypeTestFunc; /* 0 - ignore value (locate change of sign only); 1 - full test */ /*$ 3 | - n | "0,1,0" */ int *ZeroTestFunc; /*$=bp 3 | - n | "1,0,0" */ /*$ 3 | - n | "0" */ /*$t User defined functions*/ char *ActiveUserTest; /*$ %UserFunc | + S ignore detect monitor append | @UserFunc { $UserFunc} | "0" %Code(SPECCL_AUS) */ /*$t Standard functions*/ int L2NormComp; /* compute L2 norm */ /*$ 1 | + s no yes | L2_norm | "0" */ int MinMaxComp; /* compute Min&Max */ /*$ 1 | + s no yes | Min&Max | "0" */ int eigcomp; /* compute eigenvalues */ /*$ 1 | - s no yes | Eigenvalues | "0" */ /*$t Interpolation method */ int Jinterpol; /* 0 - linear, 1 - cubic spline */ /*$ 1 | + S linear cubic_spline | Interpolation | "0" */ /*$t!bp Set initial point*/ FuncPar(int,SetInitPoint,(int ip, struct _rd__ss_Data * _ptr)); /*$=bp 1 | - f SetInitPoint | "" */ /*$ 1 | + f SetInitPoint | "" */ double* space0; /* hidden fields to call SetInitPoint */ /*$ -10-%Space | - n @Space { $Space} | "0" */ double* coord0; /*$ -10-%Phase | - n @Phase { $Phase} | "0" */ } rd__ss_Data, * rd__ss_DataPtr;