LorenzPoincareMap ( int order, interval _sigma, interval _rho, interval _beta ) : section("var:x,y,z;fun:z;"), // the section is z=0 vectorField("par:b,r,s;var:x,y,z;fun:s*(y-x),(r-z)*x-y,x*y-b*z;"), // here is the vector field solver(vectorField,order,0.1), // 0.1 is the time step, ignored since step control is turned on by default // MinusPlus means that the section is crossed with 'z' changing // sign from minus to plus Other acceptable values are PlusMinus // and None. The last means both directions are acceptable. This will probably have to be changed to None. pm(solver,section,poincare::MinusPlus) { // set parameter values a and b vectorField.setParameter("b",_beta); vectorField.setParameter("r",_rho); vectorField.setParameter("s",_sigma); }
RosslerPoincareMap (int order, interval _a, interval _b) : section("var:x,y,z;fun:x;"), // the section is x=0 vectorField("par:a,b;var:x,y,z;fun:-(y+z),x+b*y,b+z*(x-a);"), // here is the vector field solver(vectorField,order,0.1), // 0.1 is the time step, ignored since step control is turned on by default pm(solver,section,poincare::MinusPlus) // MinusPlus means that the section is crossed with 'x' changing sign from minus to plus // Other acceptable values are PlusMinus and None. The last means both directions are acceptable. { // set parameter values a and b vectorField.setParameter("a",_a); vectorField.setParameter("b",_b); }