R. J. Dev. Kwan eb05416991 Initial commit of "Rocket Workbench".
Taken from sources in CVS at:
    https://sourceforge.net/projects/rocketworkbench/

Sources extracted in two steps:
1. Pull entire project tree into a subdir "rwb" via "rsync":
    rsync -a a.cvs.sourceforge.net::cvsroot/rocketworkbench/ rwb/.
2. Export sources:
    export CVSROOT=$(pwd)/rwb
    SUBDIRS="analyser cpropep cpropep-web CVSROOT data libcompat libcpropep libnum libsimulation libthermo prop rocketworkbench rockflight"
    mkdir rwbx; cd rwbx
    cvs export -D now ${SUBDIRS}

After this (and some backups for safety), the directory content was
added to a Git repo:
    git init .
    git add *
2021-01-20 15:50:36 -08:00

66 lines
1.8 KiB
C++

/* rk4.h - Simulation of rocket flight */
/* Copyright (C) 2000 */
/* Antoine Lefebvre <antoine.lefebvre@polymtl.ca> */
/* 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; if not, write to the Free Software */
/* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#if !defined (rk4_h)
#define rk4_h 1
#include "c++rocket.h"
extern int model_1(int neq, double time,
double* z, double* dy,
int ierr);
extern int model_2(int neq, double time,
double* z, double* dy,
int ierr);
typedef int (*ModelFunc_t) (int, double,
double*, double*, int);
extern "C" int rk4( int (*f)(int neq, double time,
double *y, double *dy,
int ierr),
int neq, double step, double duration,
double *ic, double **y );
class rk4_solver
{
private:
void *md; // pointer to the model function
int memory;
double time;
int neq;
int length;
double **ans;
public:
rk4_solver(Model_t model);
~rk4_solver();
void print();
void export_octave(char *filename);
int solve(double *st, double duration, double step);
};
#endif