From fae4d2ec359b596a775973956daf4636856f0141 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Wed, 6 Sep 2006 20:32:21 +0000 Subject: cleanups svn path=/trunk/externals/tb/; revision=5880 --- chaos/src/driven_van_der_pol.hpp | 108 +++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 54 deletions(-) (limited to 'chaos/src/driven_van_der_pol.hpp') diff --git a/chaos/src/driven_van_der_pol.hpp b/chaos/src/driven_van_der_pol.hpp index 3c034d2..31c2e2d 100644 --- a/chaos/src/driven_van_der_pol.hpp +++ b/chaos/src/driven_van_der_pol.hpp @@ -1,18 +1,18 @@ -// -// +// +// // chaos~ // Copyright (C) 2004 Tim Blechmann -// +// // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. -// +// // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program; see the file COPYING. If not, write to // the Free Software Foundation, Inc., 59 Temple Place - Suite 330, @@ -30,66 +30,66 @@ // taken from Willi-Hans Steeb: Chaos and Fractals class driven_van_der_pol - : public ode_base<3> + : public ode_base<3> { public: - driven_van_der_pol() - { - CHAOS_PAR_INIT(method,2); - CHAOS_PAR_INIT(dt,0.01); + driven_van_der_pol() + { + CHAOS_PAR_INIT(method,2); + CHAOS_PAR_INIT(dt,0.01); - CHAOS_SYS_INIT(u1,0.8, 0); - CHAOS_SYS_INIT(u2,0.6, 1); - CHAOS_SYS_INIT(u3,0.4, 2); + CHAOS_SYS_INIT(u1,0.8, 0); + CHAOS_SYS_INIT(u2,0.6, 1); + CHAOS_SYS_INIT(u3,0.4, 2); - CHAOS_PAR_INIT(a,5); - CHAOS_PAR_INIT(Omega,2.466); - CHAOS_PAR_INIT(k,5); - } - + CHAOS_PAR_INIT(a,5); + CHAOS_PAR_INIT(Omega,2.466); + CHAOS_PAR_INIT(k,5); + } - virtual void m_system(data_t* deriv, data_t* data) - { - data_t u1 = data[0], u2 = data[1], u3 = data[2]; - - deriv[0] = u2; - deriv[1] = - CHAOS_PARAMETER(a) * (u1*u1 -1) * u2 - u1 + - CHAOS_PARAMETER(k)*cos(u3); - deriv[2] = CHAOS_PARAMETER(Omega); - } - - virtual void m_verify() - { - /* make sure to stay in the range of 2 pi */ - if (m_data[2] > 2*M_PI) - m_data[2] = chaos_mod(m_data[2], 2*M_PI); - } - CHAOS_SYSVAR_FUNCS(u1, 0); - CHAOS_SYSVAR_FUNCS(u2, 1); - CHAOS_SYSVAR_FUNCS(u3, 2); + void m_system(data_t* deriv, data_t* data) + { + data_t u1 = data[0], u2 = data[1], u3 = data[2]; - CHAOS_SYSPAR_FUNCS(a); - CHAOS_SYSPAR_FUNCS(k); - CHAOS_SYSPAR_FUNCS(Omega); + deriv[0] = u2; + deriv[1] = - CHAOS_PARAMETER(a) * (u1*u1 -1) * u2 - u1 + + CHAOS_PARAMETER(k)*cos(u3); + deriv[2] = CHAOS_PARAMETER(Omega); + } + + void m_verify() + { + /* make sure to stay in the range of 2 pi */ + if (m_data[2] > 2*M_PI) + m_data[2] = std::fmod(m_data[2], data_t(2*M_PI)); + } + + CHAOS_SYSVAR_FUNCS(u1, 0); + CHAOS_SYSVAR_FUNCS(u2, 1); + CHAOS_SYSVAR_FUNCS(u3, 2); + + CHAOS_SYSPAR_FUNCS(a); + CHAOS_SYSPAR_FUNCS(k); + CHAOS_SYSPAR_FUNCS(Omega); }; -#define DRIVEN_VAN_DER_POL_CALLBACKS \ -ODE_CALLBACKS; \ -CHAOS_SYS_CALLBACKS(u1); \ -CHAOS_SYS_CALLBACKS(u2); \ -CHAOS_SYS_CALLBACKS(u3); \ -CHAOS_SYS_CALLBACKS(a); \ -CHAOS_SYS_CALLBACKS(k); \ +#define DRIVEN_VAN_DER_POL_CALLBACKS \ +ODE_CALLBACKS; \ +CHAOS_SYS_CALLBACKS(u1); \ +CHAOS_SYS_CALLBACKS(u2); \ +CHAOS_SYS_CALLBACKS(u3); \ +CHAOS_SYS_CALLBACKS(a); \ +CHAOS_SYS_CALLBACKS(k); \ CHAOS_SYS_CALLBACKS(Omega); -#define DRIVEN_VAN_DER_POL_ATTRIBUTES \ -ODE_ATTRIBUTES; \ -CHAOS_SYS_ATTRIBUTE(u1); \ -CHAOS_SYS_ATTRIBUTE(u2); \ -CHAOS_SYS_ATTRIBUTE(u3); \ -CHAOS_SYS_ATTRIBUTE(a); \ -CHAOS_SYS_ATTRIBUTE(k); \ +#define DRIVEN_VAN_DER_POL_ATTRIBUTES \ +ODE_ATTRIBUTES; \ +CHAOS_SYS_ATTRIBUTE(u1); \ +CHAOS_SYS_ATTRIBUTE(u2); \ +CHAOS_SYS_ATTRIBUTE(u3); \ +CHAOS_SYS_ATTRIBUTE(a); \ +CHAOS_SYS_ATTRIBUTE(k); \ CHAOS_SYS_ATTRIBUTE(Omega); -- cgit v1.2.1