From a114a23ea74b72775d3925471f12a94077a15353 Mon Sep 17 00:00:00 2001 From: rigreco Date: Tue, 10 Feb 2015 22:55:02 +0100 Subject: [PATCH] RK Simulator --- RKSIM.po | Bin 0 -> 819200 bytes scr/DCMotor.c | 244 +++++++++++++++++++++++++++++++++++++++++ scr/GINIT.c | 34 ++++++ scr/INDC.c | 108 ++++++++++++++++++ MainM.c => scr/MainM.c | 3 +- scr/OUTDC.c | 103 +++++++++++++++++ scr/OV1.C | 186 +++++++++++++++++++++++++++++++ scr/OV2.C | 207 ++++++++++++++++++++++++++++++++++ scr/OV2F.c | 243 ++++++++++++++++++++++++++++++++++++++++ scr/OV3.c | 123 +++++++++++++++++++++ scr/P8FILE.c | 103 +++++++++++++++++ scr/RCRK.C | 92 ++++++++++++++++ scr/SAVEg.c | 32 ++++++ scr/outf.c | 166 ++++++++++++++++++++++++++++ 14 files changed, 1643 insertions(+), 1 deletion(-) create mode 100644 RKSIM.po create mode 100644 scr/DCMotor.c create mode 100644 scr/GINIT.c create mode 100644 scr/INDC.c rename MainM.c => scr/MainM.c (94%) create mode 100644 scr/OUTDC.c create mode 100644 scr/OV1.C create mode 100644 scr/OV2.C create mode 100644 scr/OV2F.c create mode 100644 scr/OV3.c create mode 100644 scr/P8FILE.c create mode 100644 scr/RCRK.C create mode 100644 scr/SAVEg.c create mode 100644 scr/outf.c diff --git a/RKSIM.po b/RKSIM.po new file mode 100644 index 0000000000000000000000000000000000000000..b4b7ac6597b92a7ad641a8ea780583208216706c GIT binary patch literal 819200 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 z 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

-oN;fw??6(rN0J}w(l4oR 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 zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ zia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!B2Wa1KoKYcMW6^2fg(@@ tia-%40!5$*6oDd81d2crC;~;G2o!-LPy~uV5hwyhpa>L!|KB0-{{hY?eB1y4 literal 0 HcmV?d00001 diff --git a/scr/DCMotor.c b/scr/DCMotor.c new file mode 100644 index 0000000..1e7196e --- /dev/null +++ b/scr/DCMotor.c @@ -0,0 +1,244 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +/* PROCESS MODULE */ +#include +#include +#include +#include + +#define rkfr 1.0e-3 /* RKF max resolution hrkfr); + */ + /* y3 y4 weighted average of operators 5^ order */ + y[0]=(double)(y_init[0]+(ips5[0]*r11+ips5[2]*r31+ips5[3]*r41+ips5[4]*r51)*h); + y[1]=(double)(y_init[1]+(ips5[0]*r12+ips5[2]*r32+ips5[3]*r42+ips5[4]*r52)*h); + + /* ------------------------------------------------------------------------------*/ + +} + +ovmain() +{ +char buf[20]; +/*double atof(); /* DON'T FORGET THIS */ +double x,y[2],y_init[2]; +struct data rk; + + + /* inizialization */ + cnt= (int)0.0; /* Reset counter */ + y[0] = (double)0.0; + y[1] = (double)0.0; + y_init[0]= (double)0.0; /* init value of current ia(t) (for Harmonic oscillator y_3=10.0) */ + y_init[1]= (double)0.0; /* init value of angular speed w(t) (for Harmonic oscillator y_4=10.0) */ + x=(double)0.0; /* time in simulation */ + + /* Start simulation */ + scr_clear(); + scr_curs(0,0); + puts("Pocessing..."); + + /* open and write header data to file */ + open(FILE_NAME,O_WRONLY|O_APPEND,0xC3); + write(fd,fbuf,80); + + buf[0]='\0'; /* buffers reset */ + fbuf[0]='\0'; + + /* RK main Cycle */ + while (x +#include "d2monplt.h" +/* +extern int clearhgr(); +*/ +ovmain(screenmode) +unsigned screenmode; +{ + switch(screenmode) + { + case 1: + scr_clear(); + d2hireson(); + clearhgr(911); + maintoaux(0x4000,0x4000+8191,0x4000); + break; + case 2: + d2hiresoff(); + scr_clear(); + } + return 0; +} diff --git a/scr/INDC.c b/scr/INDC.c new file mode 100644 index 0000000..b1b3666 --- /dev/null +++ b/scr/INDC.c @@ -0,0 +1,108 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +/* INPUT MODULE */ +#include +#include + + +/* GENERAL GLOBAL */ +extern double h,time; +extern char fbuf[80]; +extern int cnt; + +/* LOCAL GLOBAL */ +char *title = "Runge Kutta Fehlberg integration methods"; +char *title1= "DC Motor transient state simulation:"; +char *title2= "Current: [ia'(t)=(va/la)-(ra/la)*ia(t)-kf*w(t)/la]"; +char *title3= "Anglar speed: [w'(t)=(1/j)*(MM-MC)=(1/j)*(kf*ia(t)-MC)]"; +char *title4= "in Aztec C for Apple II 128k series - by Greco Riccardo - Apple ][ Forever!"; +char *title5= "Thanks to Bill Buckels for all support - http://www.aztecmuseum.ca/ "; + +char *out[3]={" DCMotor h="," ts="," cycles="}; /* always at global */ + +ovmain() +{ +char buf[20],conv[4],rev; +double atof(); /* DON'T FORGET THIS */ + +IN: /* set screen */ + #asm + jsr $c300 + #endasm + + buf[0]='\0'; /* buffers reset */ + fbuf[0]='\0'; + + /* Presentation */ + puts(title); + puts(title1); + puts(title2); + puts(title3); + puts(title4); + puts(title5); + puts(" "); + + /* Input data */ + do{ + puts("Time step integration (Def. 0.01s) h [s] -> "); + h=(double)atof(gets(buf)); + } while (h<0 || h<=0.005 || h>0.01); + + strcat(fbuf,out[0]); + strcat(fbuf,buf); + + do{ + puts("Time simulation (Def. 5) ts [s] -> "); + time=(double)atof(gets(buf)); + } while (time<0); + + strcat(fbuf,out[1]); + strcat(fbuf,buf); + + strcat(fbuf,out[2]); + ftoa((time/h),buf,0,1); /* 0 decimal like int */ + strncpy(conv,buf,4); /* save cnt to conv first 4 digit*/ + strcat(fbuf,buf); + + puts(fbuf); /* Input data Review */ + + puts("Do you want to review input data (Y/N)?"); + rev=getch(); +if (rev == 'Y' || rev == 'y') goto IN; + + /* set screen */ + scr_clear(); + scr_curs(0,0); + + /* Simulation data review */ + puts("DC Motor Default parameters set:"); + scr_curs(2,0); + puts("Number of input cycles:"); + scr_curs(2,31); + puts(conv); + puts("Input voltage E= 160.0 V"); + puts("Armor (stator) resistence ra= 9.47 Ohm"); + puts("Armor (stator) inductance la= 0.0375 Henry"); + puts("Flux gain (kf=k*flux) kf= 0.98 Wb"); + puts("Rotor inertia j= 0.011 kg*m2"); + puts("Load torque MC= 0.0 kg*m"); + + puts(""); + + puts("Press any key to start simulation..."); + getch(); + + + return 0; +} + diff --git a/MainM.c b/scr/MainM.c similarity index 94% rename from MainM.c rename to scr/MainM.c index f51592c..d06ba9d 100644 --- a/MainM.c +++ b/scr/MainM.c @@ -1,12 +1,13 @@ /* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. * -* This work is based on 1999-2000 Thesis work of Greco Riccardo. +* This project is based on 1999-2000 Thesis work of Greco Riccardo. * It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set * by use of double precision floating point operation in Aztec C65 language. * It allow to simulate different mathematical models such as: * Resistance Capacitor electrical circuit, Direct Current electric motor, * Alternative Current three phase induction motor. * +* Thanks to Bill Buckels for his invaluable support: * Aztec C compilers http://www.aztecmuseum.ca/compilers.htm */ #include diff --git a/scr/OUTDC.c b/scr/OUTDC.c new file mode 100644 index 0000000..58b3ac3 --- /dev/null +++ b/scr/OUTDC.c @@ -0,0 +1,103 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +#include +#include +#include +#include "d2monplt.h" + +/* GENERAL GLOBAL */ +extern double h,keep; +extern char fbuf[80]; +extern int cnt,fd; /* x FILE LOW lEVEL DON'T FORGET THIS */ +extern struct data { + char v[20]; + char i[20]; + }; + +/* LOCAL GLOBAL */ +char *FILE_NAME="dcrk"; + +ovmain() +{ + +double nc,ia,w,xscale,iscale,wscale; +int plotx,ploty,plotey,ic,px,py,; +struct data rk; +double atof(); /* DON'T FORGET THIS */ +char tx[4]; + /* inizialization */ + + px=(int)0.0; + py=(int)0.0; + ic=(int)0.0; + xscale=(double)100.0; /* set x scale plot */ + iscale=(double)1.0; /* set y (ia(t)) scale plot */ + wscale=(double)0.5; /* set y (w(t)) scale plot */ + nc=(double)0.0; + + + /* GRAPHICS SECTION */ + + /* Axes */ + for (px=0,py=96;px<=560;++px) + { + d2monoplot(px,py,py,1); + } /*Axis X */ + + + /* for (px=0,py=0;py<=192;++py) + { + d2monoplot(px,py,py,1); + } /* Axis Y */ + + + /* labels */ + monoplots("t=",505,36,1,'M'); + monoplots("ia(t)=",25,0,1,'M'); + monoplots("w(t)=",25,10,1,'M'); + + /* read first recort (header) for increment file pointr */ + open(FILE_NAME,O_RDONLY,0xC3); + read(fd,fbuf,80); + + /* Main Plot */ + for (ic=0;ic +#include +#define micro 1.0e-6 +#define kilo 1.0e+3 + +/* GENERAL GLOBAL */ +extern double h,time,time2,sur,r,c,tau,yinit; +extern char fbuf[80]; +extern int cnt,z; + +/* LOCAL GLOBAL */ +char *title = "Runge Kutta and Runge Kutta Fehlberg integration methods"; +char *title1= "R-C circuit transient state simulation:"; +char *title2= "charge: [vc'(t)=(1/RC)*(E-vc(t))]- [i(t)=(E-vc(t))/R]"; +char *title3= "discharge: [vc'(t)=(1/RC)*(-vc(t))] - [i(t)=(-vc(t))/R]"; +char *title4= "in Aztec C for Apple II 128k series - by Greco Riccardo - Apple ][ Forever!"; +char *title5= "Thanks to Bill Buckels for all support - http://www.aztecmuseum.ca/ "; + +char *out[8]={" RCCircuit h="," ts="," td="," E="," R="," C="," vc(0)="," cycles="}; /* always at global */ + +ovmain() +{ +char buf[20],conv[4],rev; +double atof(); /* DON'T FORGET THIS */ + +IN: /* set screen */ + #asm + jsr $c300 + #endasm + + buf[0]='\0'; /* buffers reset */ + fbuf[0]='\0'; + + /* Presentation */ + puts(title); + puts(title1); + puts(title2); + puts(title3); + puts(title4); + puts(title5); + puts(" "); + + /* Input data */ + do{ + puts("Time step integration (Def. 0.01s) h [s] -> "); + h=(double)atof(gets(buf)); + } while (h<0 || h<=0.005); + + strcat(fbuf,out[0]); + strcat(fbuf,buf); + + do{ + puts("Time simulation charge (Def. 5) ts [s] -> "); + time=(double)atof(gets(buf)); + } while (time<0); + + strcat(fbuf,out[1]); + strcat(fbuf,buf); + + do{ + puts("Istant time to start discharge (Def. 2.5) (td<=ts) td [s] ->"); /* td istant time to discarge */ + time2=(double)atof(gets(buf)); + } while (time2<0 || time2>time); + + strcat(fbuf,out[2]); + strcat(fbuf,buf); + + puts("Input Voltage value (Def. 50) E [Volt] -> "); /* Input step voltage E [V] */ + sur=(double)atof(gets(buf)); + + strcat(fbuf,out[3]); + strcat(fbuf,buf); + + do{ + puts("Resistence value (Def. 10) R [KiloOhm]-> "); /* Resistence R */ + r=(double)atof(gets(buf)); + } while (r<=0); + + r=(double)(r*(kilo)); /* converting in Farad from here to the end */ + ftoa(r,buf,6,1); + + strcat(fbuf,out[4]); + strcat(fbuf,buf); + + do{ + puts("Capacity value (Def. 20) C [micoFarad] -> "); /* Capacity C */ + c=(double)atof(gets(buf)); + } while (c<=0); + + c=(double)(c*(micro)); /* converting in Farad from here to the end */ + ftoa(c,buf,6,1); /* new value of c in buf (only for show)*/ + + strcat(fbuf,out[5]); + strcat(fbuf,buf); + + puts("Initial charge condition (Def. 0) (@t=0s) vc(0) [Volt] -> "); /* Iniztial charge condition vc(0) */ + yinit=(double)atof(gets(buf)); + + strcat(fbuf,out[6]); + strcat(fbuf,buf); + + /* calc and set parameters */ + tau=(double)(r*c); /* Tau=R*C R [Ohm] C [Farad]*/ + /*cnt=(int)(time/h);*/ + + strcat(fbuf,out[7]); + ftoa((time/h),buf,0,1); /* 0 decimal like int */ + strncpy(conv,buf,4); /* save cnt to conv first 4 digit*/ + strcat(fbuf,buf); + + puts(fbuf); /* Input data Review */ + + puts("Do you want to review input data (Y/N)?"); + rev=getch(); +if (rev == 'Y' || rev == 'y') goto IN; + + /* reset buffers */ + fbuf[0]='\0'; + buf[0]='\0'; + + /* set screen */ + scr_clear(); + scr_curs(0,0); + + /* Simulation data review */ + puts("Simulation parameters set:"); + scr_curs(2,0); + puts("Number of input cycles:"); + scr_curs(2,31); + puts(conv); + puts("Input voltage E="); + scr_curs(3,31); + puts(ftoa(sur,buf,4,1)); /* 14 digits in double precision */ + scr_curs(3,50); + puts("V"); + puts("Init value vc(0)="); + scr_curs(4,31); + puts(ftoa(yinit,buf,4,1)); + scr_curs(4,50); + puts("V"); + puts("Circuit time constant Tau=R*C="); + scr_curs(5,31); + puts(ftoa(tau,buf,14,1)); + scr_curs(5,50); + puts("s"); + puts("Time step integration h="); + scr_curs(6,31); + puts(ftoa(h,buf,6,1)); + scr_curs(6,50); + puts("s"); + puts("Time simulation ts = "); + scr_curs(7,31); + puts(ftoa(time,buf,4,1)); + scr_curs(7,50); + puts("s"); + puts(""); + + puts("Do you want to plot exact solution too (Y/N)?"); + rev=getch(); + if (rev == 'Y' || rev == 'y') z=1; + + rev='1'; + puts("Select the method [1]= RK4 - [2]= RKF(4)5"); + rev=getch(); + /*puts("Press any key to start simulation..."); + getch();*/ + if (rev=='2') return 2; + else return 1; + + + return 0; +} + diff --git a/scr/OV2.C b/scr/OV2.C new file mode 100644 index 0000000..05b61e3 --- /dev/null +++ b/scr/OV2.C @@ -0,0 +1,207 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +/* PROCESS MODULE */ +#include +#include +#include +#include +#define chk 1 /* set chk to 1 charge */ +#define rk4r 5.0e-3 /* RK4 max resolution hrk4r); /* RK4 max resolution */ + + /* y3 plus weighted average of operators 4^ order */ + y3[0] = (double)(y+(r1+y3err*r2+y3err*r3+r4)/y3div); + +} + +ovmain() +{ +char buf[20],rev;/*conv[4]*/ +double atof(); /* DON'T FORGET THIS */ +double x,x2,nc,y3,y,errtx,cur,exa; +struct data rk; + + + /* inizialization */ + cnt=(int)0.0; /* Reset counter */ + y3 = (double)0.0; + x=(double)0.0; /* time simulation */ + x2=(double)0.0; /* time discharge */ + keep=(double)0.0; + + swi=(double)1.0; /* switch set to 1 = charge */ + y=yinit; /* set initial condition parameter vc(o) */ + + /* Start simulation */ + scr_clear(); + scr_curs(0,0); + puts("Pocessing..."); + + /* open and write header data to file */ + open(FILE_NAME,O_WRONLY|O_APPEND,0xC3); + write(fd,fbuf,80); + + buf[0]='\0'; /* buffers reset */ + fbuf[0]='\0'; + + /* RK main Cycle */ + while (x time2) + { + if (chk) + { + swi=(double)0.0; /* switch set to 0 = discharge */ + keep=(double)y3; /* keep the value of vc(td) in the istant of discharge */ + !chk; /* NOT chk */ + } + exa=(double)exact2(x2); + errtx=(double)fabs(y3-exa); /* exact solution in discharge */ + x2=x2+h; + } + + /* store output in buffer */ + ftoa(x,buf,6,2); + strcat(fbuf,outr[0]); + strcat(fbuf,buf); /* store time (x) */ + + ftoa(y3,buf,6,2); + strcat(fbuf,outr[1]); + strcat(fbuf,buf); /* store voltage vc(t) (y3) */ + + ftoa(errtx,buf,6,2); + strcat(fbuf,outr[2]); + strcat(fbuf,buf); /* store voltage error vcerr(t) (errtx) */ + + ftoa(cur,buf,6,2); + strcat(fbuf,outr[3]); + strcat(fbuf,buf); /* store current i(t) (cur) */ + + + /* converting using max floating resolution */ + ftoa(y3,rk.v,14,1); /* vc(t) */ + ftoa(cur,rk.i,14,1); /* i(t) */ + ftoa(exa,rk.ideal,14,1); /* vc(t) exact solution */ + + puts(fbuf); /* output to screen */ + + /* write data result to file */ + write(fd,rk.v,20); /* write vc(t) */ + write(fd,rk.i,20); /* write i(t) */ + write(fd,rk.ideal,20); /* write vc(t) exact solution */ + + fbuf[0]='\0'; /* reset buffer */ + y=y3; + x=x+h; + cnt++; /* renew counter */ + + } + close(fd); /* close the data file */ + + /*printf("Cycles number= %d",(cnt-1)); /* NOT YET itoa ? */ + + + puts("Press any key to start plotting..."); + getch(); + + return 0; +} + diff --git a/scr/OV2F.c b/scr/OV2F.c new file mode 100644 index 0000000..ceaaae3 --- /dev/null +++ b/scr/OV2F.c @@ -0,0 +1,243 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +/* PROCESS MODULE */ +#include +#include +#include +#include +#define chk 1 /* set chk to 1 charge */ +#define rkfr 1.0e-6 /* RKF max resolution h=4) h=4*h; + else h=sigma*h; + /* Alternative method + if (err>=emax) h=h/2; + if (err<=emin) h=h*2; + + if (h>hmax) h=hmax; */ + /* + } + while (err>rkfr); + */ + + /* y3 weighted average of operators 5^ order */ + y3[0]=(double)(y+(ips5[0]*r1+ips5[2]*r3+ips5[3]*r4+ips5[4]*r5)*h); +} + +ovmain() +{ +char buf[20],rev; +double atof(); /* DON'T FORGET THIS */ +double x,x2,nc,y3,y,errtx,cur,exa; +struct data rk; + + + /* inizialization */ + cnt=(int)0.0; /* Reset counter */ + y3 = (double)0.0; + x=(double)0.0; /* time in simulation */ + x2=(double)0.0; /* time in discharge */ + keep=(double)0.0; + + swi=(double)1.0; /* switch set to 1 = charge */ + y=yinit; /* set initial condition parameter vc(o) */ + /*h=hmax; /* need for adaptative step */ + + /* Start simulation */ + scr_clear(); + scr_curs(0,0); + puts("Pocessing..."); + + /* open and write header data to file */ + open(FILE_NAME,O_WRONLY|O_APPEND,0xC3); + write(fd,fbuf,80); + + buf[0]='\0'; /* buffers reset */ + fbuf[0]='\0'; + + /* RK main Cycle */ + while (x time2) + { + if (chk) + { + swi=(double)0.0; /* switch set to 0 = discharge */ + keep=(double)y3; /* keep the value of vc(td) in the istant of discharge */ + !chk; /* NOT chk */ + } + exa=(double)exact2(x2); + errtx=(double)fabs(y3-exa); /* exact solution in discharge */ + x2=x2+h; /* increment time in discharge */ + } + + + /* store output in buffer */ + ftoa(x,buf,6,2); + strcat(fbuf,outr[0]); + strcat(fbuf,buf); /* store time (x) */ + + ftoa(y3,buf,6,2); + strcat(fbuf,outr[1]); + strcat(fbuf,buf); /* store voltage vc(t) (y3) */ + + ftoa(errtx,buf,6,2); + strcat(fbuf,outr[2]); + strcat(fbuf,buf); /* store voltage error vcerr(t) (errtx) */ + + ftoa(cur,buf,6,2); + strcat(fbuf,outr[3]); + strcat(fbuf,buf); /* store current i(t) (cur) */ + + /* converting using max floating resolution */ + ftoa(y3,rk.v,14,1); /* vc(t) */ + ftoa(cur,rk.i,14,1); /* i(t) */ + ftoa(exa,rk.ideal,14,1); /* vc(t) exact solution */ + + puts(fbuf); /* output to screen */ + + /* write data result to file */ + write(fd,rk.v,20); /* write vc(t) */ + write(fd,rk.i,20); /* write i(t) */ + write(fd,rk.ideal,20); /* write vc(t) exact solution */ + + fbuf[0]='\0'; /* reset buffer */ + + y=y3; + x=x+h; /* increment time in simulation */ + cnt++; /* renew counter */ + + } + close(fd); /* close the data file */ + + /*printf("Cycles number= %d",(cnt-1)); /* NOT YET itoa ?*/ + + puts("Press any key to start plotting..."); + getch(); + + return 0; +} + diff --git a/scr/OV3.c b/scr/OV3.c new file mode 100644 index 0000000..934364c --- /dev/null +++ b/scr/OV3.c @@ -0,0 +1,123 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +#include +#include +#include +#include "d2monplt.h" + +/* GENERAL GLOBAL */ +extern double h,keep; +extern char fbuf[80]; +extern int cnt,fd,z; /* x FILE LOW lEVEL DON'T FORGET THIS */ +extern struct data { + char v[20]; + char i[20]; + char ideal[20]; + }; + +/* LOCAL GLOBAL */ +char *FILE_NAME="rcrk"; + +ovmain() +{ + +double nc,vr,ir,exa,xscale,iscale,vscale; +int plotx,ploty,plotey,ic,px,py; +struct data rk; +double atof(); /* DON'T FORGET THIS */ +char tx[4]; + /* inizialization */ + + px=(int)0.0; + py=(int)0.0; + ic=(int)0.0; + xscale=(double)100.0; /* set x scale plot */ + iscale=(double)2500.0; /* set y (i(t)) scale plot */ + vscale=(double)1.0; /* set y (vc(t)) scale plot */ + nc=(double)0.0; + + + /* GRAPHICS SECTION */ + + /* Axes */ + for (px=0,py=96;px<=560;++px) + { + d2monoplot(px,py,py,1); + /*d2monoplot(px,py-sur,py-sur,2); /* final voltage value E */ + } /*Axis X */ + + /* + for (px=0,py=0;py<=192;++py) + { + d2monoplot(px,py,py,1); + } /* Axis Y */ + + /* labels */ + monoplots("t=",505,36,1,'M'); + monoplots("v(t)=",25,0,1,'M'); + monoplots("i(t)=",25,10,1,'M'); + + /* read first recort (header) for increment file pointr */ + open(FILE_NAME,O_RDONLY,0xC3); + read(fd,fbuf,80); + + /* Main Plot */ + for (ic=0;ic +#include +#include +#include + +/* GENERAL GLOBAL */ + +extern int fd; /* x FILE LOW lEVEL DON'T FORGET THIS */ + +/* LOCAL GLOBAL */ + +char *FILE_NAME1="rcrk"; +char *FILE_NAME2="dcrk"; + +/* pointing to unused memory at 4192 for a buffer + if this gives problems change to something else */ +struct fileinfo *fi = (struct fileinfo *)4192; + +int p8create(name, maintype, subtype ) +char *name; +unsigned maintype,subtype; +{ + int fh; + + /* overwrite file if it already exists - set all access */ + if((fh=open(name, O_WRONLY|O_TRUNC|O_CREAT,0xc3)) == -1) return fh; + /* close it and get prodos to change the filetype for you */ + close(fh); + + /* get the fileinfo from ProDOS */ + if (getfinfo (name, fi) == -1) { + return -2; + } + + /* set the file info to whatever you wish - + you can set other info as well using this call sequence */ + fi->file_type = (unsigned char)maintype; + fi->aux_type = subtype; + setfinfo(name,fi); + + /* open the file again */ + fh=open(name, O_WRONLY,0xc3); + /* return the open handle */ + return fh; +} + +ovmain(filename) +unsigned filename; +{ + +switch(filename) + { + case 1: + /* create or or owerwrite output file BIN format */ + fd=p8create(FILE_NAME1,6,0); + break; + case 2: + /* create or or owerwrite output file BIN format */ + fd=p8create(FILE_NAME2,6,0); + } + + if (fd == -1) + { if (errno == EACCES) + { + puts("unable to access file"); + getch(); + /*_exit();*/ + } + else if (errno == ENOENT) + { + puts("unable to open file"); + getch(); + /*_exit();*/ + } + else + { + puts("open error number"); + puts(errno); + getch(); + /*_exit();*/ + } + } + else if (fd==-2) + { puts("do not get fileinfo"); + } + close(fd); + + /*getch(); */ + return 0; +} + diff --git a/scr/RCRK.C b/scr/RCRK.C new file mode 100644 index 0000000..740b82f --- /dev/null +++ b/scr/RCRK.C @@ -0,0 +1,92 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +#include + + +/* GENERAL GLOBAL */ + +double h,time,time2,sur,r,c,tau,yinit,keep; +char fbuf[80]; +int cnt,fd,fd2,z; +struct data { + char v[20]; + char i[20]; + char ideal[20]; + }; + +int clearhgr(i) +int i; +{ + +/* Funzioni globali devono essere in modulo principale per essere condivisi +tra sovrapposizioni */ +if (i!=911) + {return 0;} +maintoaux (0,0,0); +black(); +hgr(); + +} + +main() +{ +int a,b,c; + z=0; + b=0; + c=0; +clearhgr(0); +IN: + a=ovloader("mainm"); + switch (a){ + case 0: + _exit(); + break; + case 1: + b=ovloader("ov1"); /* input module */ + if (b==2) { + ovloader("p8file",1); /* create or owerwrite work file */ + ovloader("ov2f"); /* process module by RKF45*/ + } + else { + ovloader("p8file",1); /* create or owerwrite work file rcrk*/ + ovloader("ov2"); /* process module by RK4*/ + } + ovloader("ginit",1); /* open graph mode */ + ovloader("ov3"); /*output module */ + ovloader("ginit",2); /* close graph mode */ + break; + case 2: + ovloader("indc"); + ovloader("p8file",2); /* create or owerwrite work file dcrk*/ + ovloader("dcmotor"); + ovloader("ginit",1); /* open graph mode */ + ovloader("outdc"); /*output module */ + ovloader("ginit",2); /* close graph mode */ + c=1; + break; + case 5: + if(b==1 || b==2){ + ovloader("outf",1);} /* create output file from rcrk */ + else if(c==1){ + ovloader("outf",2);} /* create output file from dcrk */ + break; + case 6: + ovloader("saveg"); + break; + default: + break; + } +goto IN; + +} + diff --git a/scr/SAVEg.c b/scr/SAVEg.c new file mode 100644 index 0000000..8df211c --- /dev/null +++ b/scr/SAVEg.c @@ -0,0 +1,32 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +#include + +/* LOCAL GLOBAL */ +char *FILE_Graph="Graph"; + +ovmain() +{ + scr_clear(); + scr_curs(0,0); + + /* bsave HGR2 */ + bsave(FILE_Graph); + + puts("Graph has been saved!"); + scr_curs(5,0); + puts("Press any key ..."); + + getch(); +return 0; +} diff --git a/scr/outf.c b/scr/outf.c new file mode 100644 index 0000000..cf47ee9 --- /dev/null +++ b/scr/outf.c @@ -0,0 +1,166 @@ +/* Copyright (C) 2013 Riccardo Greco rigreco.grc@gmail.com. +* +* This project is based on 1999-2000 Thesis work of Greco Riccardo. +* It implement an Runge Kutta 4(5)^ order integration numerical method of differential equations set +* by use of double precision floating point operation in Aztec C65 language. +* It allow to simulate different mathematical models such as: +* Resistance Capacitor electrical circuit, Direct Current electric motor, +* Alternative Current three phase induction motor. +* +* Thanks to Bill Buckels for his invaluable support: +* Aztec C compilers http://www.aztecmuseum.ca/compilers.htm +*/ +#include +#include +#include +#include + +/* GENERAL GLOBAL */ +extern double h,time; +extern char fbuf[80]; +extern int cnt,fd,fd2; /* x FILE LOW lEVEL DON'T FORGET THIS */ +extern struct data { + char v[20]; + char i[20]; + char ideal[20]; + }; + +/* LOCAL GLOBAL */ +char *outr1[4]={" t="," vc(t)="," i(t)="," ve(t)="}; +char *outr2[3]={" t="," ia(t)="," w(t)="}; + +char *FILE_OUT="rkout"; +char *FILE_NAME1="rcrk"; +char *FILE_NAME2="dcrk"; + +char *null=" "; + +ovmain(outfile) +unsigned outfile; +{ +char buf[20],fbuf2[30]; +int ic; +double nc; +struct data rk; + + /* inizialization */ + ic=(int)0.0; + nc=(double)0.0; + fbuf[0]='\0'; + fbuf2[0]='\0'; + buf[0]='\0'; + + scr_clear(); + scr_curs(0,0); + + puts("Pocessing output file..."); + + /* open or overwrite output text file */ + fd2=open(FILE_OUT, O_WRONLY|O_TRUNC|O_CREAT,0xc3); + + switch(outfile) + { + case 1: /***** RC *****/ + /* open and read header from process file rcrk*/ + fd=open(FILE_NAME1,O_RDONLY,0xC3); + read(fd,fbuf,80); + break; + case 2: /***** DC *****/ + /* open and read header from process file dcrk*/ + fd=open(FILE_NAME2,O_RDONLY,0xC3); + read(fd,fbuf,80); + } + + /* open and write header to output file */ + open(FILE_OUT,O_WRONLY|O_APPEND,0xC3); + write(fd2,fbuf,80); + + /* reset buffer */ + fbuf[0]='\0'; + fbuf2[0]='\0'; + buf[0]='\0'; + + + + switch(outfile) + { + case 1: + for (ic=0;ic