One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
vikul
/
Edit File:
Fl_prod.cpp
#include <stdlib.h> #include <iostream.h> #include <fstream.h> #include <string.h> #include <math.h> #include <stdio.h> main () { double x, y, z, x1, y1, z1, xl,yl,zl, t,tr, tl, Abs, Absr, Absl, lamda, l, l2, Prod; double a=0.2, b=0.2, c=5.7, K=0.1, Tau=11.758626; double Time, TimePrev; double x0=0., y0=-6.78, z0=0.02, x0l, y0l, z0l; double StepInt=0.00001; long NumPerSkip=100, NumPerInt=200; long LongNumSkip=100, LongNumInt=200 ; double *ArrXIni, *ArrYIni, *ArrZIni; double *ArrX, *ArrY, *ArrZ, *ArrX1, *ArrY1, *ArrZ1, *ArrTime,*TmpAdr; double *ArrR1,*ArrR2,*ArrR3; double *ArrL1,*ArrL2,*ArrL3; unsigned long NumStepPer; long i,j; char Str[1000], fname[255], StrNum[10]; FILE *FileOutR, *FileTrjPer, *FileOutL, *FileOutTimeL, *FileProd ; NumStepPer = (unsigned long)(Tau / StepInt)+1; cout<<"NumStepPer=" <<NumStepPer<<endl; ArrXIni =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrYIni =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrZIni =(double*)malloc((NumStepPer+2)*sizeof(double)); if(!ArrXIni || !ArrYIni || !ArrZIni) { cout << "Cannot allocate memory for StateIni arrays. Exit. \n"; exit(1); } for(i = 1; i <= NumPerSkip; i++) { for(j = 1; j <= NumStepPer; j++) { if( i == NumPerSkip) {ArrXIni[j-1] = x0; ArrYIni[j-1] = y0; ArrZIni[j-1] = z0;} x=x0+StepInt*(-y0-z0); y=y0+StepInt*(x0+a*y0); z=z0+StepInt*(b+z0*(x0-c)); x0=x; y0=y; z0=z; } } ArrXIni[NumStepPer] = x; ArrYIni[NumStepPer] = y; ArrZIni[NumStepPer] = z; ArrX =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrY =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrZ =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrX1 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrY1 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrZ1 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrTime=(double*)malloc((NumStepPer+2)*sizeof(double)); if(!ArrX || !ArrY || !ArrZ || !ArrX1 || !ArrY1 || !ArrZ1||!ArrTime) { cout << "Cannot allocate memory for State arrays. Exit. \n"; exit(1); } for (j=0; j<=NumStepPer; j++){ ArrX[j]=ArrXIni[j]; ArrY[j]=ArrYIni[j]; ArrZ[j]=ArrZIni[j]; } x0= ArrX[NumStepPer]; y0 = ArrY[NumStepPer]; z0 = ArrZ[NumStepPer]; for (i=1; i<=NumPerInt; i++) { ArrX1[0]=x0; ArrY1[0]=y0; ArrZ1[0]=z0; for(j=1; j<=NumStepPer; j++){ ArrX1[j]= x0+StepInt*((-y0-z0)+K*(ArrX[j-1]-x0)); ArrY1[j]=y0+StepInt*((x0+a*y0)+K*(ArrY[j-1] - y0)); ArrZ1[j]=z0+StepInt*((b+z0*(x0-c))+K*(ArrZ[j-1]-z0)); x0=ArrX1[j]; y0=ArrY1[j]; z0=ArrZ1[j]; } TmpAdr=ArrX; ArrX=ArrX1; ArrX1=TmpAdr; TmpAdr=ArrY; ArrY=ArrY1; ArrY1=TmpAdr; TmpAdr=ArrZ; ArrZ=ArrZ1; ArrZ1=TmpAdr; } cout<<"at t=0" <<ArrX[0]<< "at t=Tau" <<ArrX[NumStepPer]<<endl; cout<<"at t=0" <<ArrY[0]<< "at t=Tau" <<ArrY[NumStepPer]<<endl; cout<<"at t=0" <<ArrZ[0]<< "at t=Tau" <<ArrZ[NumStepPer]<<endl; for(j=0;j<=NumStepPer;j++) ArrTime[j]=j*StepInt; cout<<"Trajectory calculated \n"; x0=0.08; y0=-0.1; z0=0.001; x0l=0.1; y0l=0.2; z0l=0.1; for(i=1;i<=LongNumSkip;i++){ for(j=1;j<=NumStepPer; j++){ x=x0 + StepInt*(-y0-z0); y=y0 + StepInt*(x0+a*y0); z=z0 + StepInt*(x0* ArrZ[j-1]+z0* (ArrX[j-1]-c)); x0=x; y0=y; z0=z; xl=x0l- StepInt*(-y0l-ArrZ[NumStepPer-(j-1)]*z0l); yl=y0l - StepInt*(x0l-a*y0l); zl=z0l - StepInt*(x0l-z0l* (ArrX[NumStepPer-(j-1)]-c)); x0l=xl; y0l=yl; z0l=zl; } } Absr=sqrt(x*x+y*y+z*z); x0=x/Absr; y0=y/Absr; z0=z/Absr; cout<< "Absr="<<Absr<< "x0=" <<x0<< "y0=" <<y0<< "z0=" <<z0<<endl; Absl=sqrt(xl*xl+yl*yl+zl*zl); x0l=xl/Absl; y0l=yl/Absl; z0l=zl/Absl; cout<<"Absl="<<Absl<<"x0l="<<x0l<<"y0l"<<y0l<<"z0l"<<z0l<<endl; FileTrjPer = fopen("traj_per.dat","wt"); if(!FileTrjPer) { cout<< "Cannot open file . Exit. " << endl << flush; exit(1);} ArrR1 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrR2 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrR3 =(double*)malloc((NumStepPer+2)*sizeof(double)); if(!ArrR1|| !ArrR2 || !ArrR3 ) { cout << "Cannot allocate memory for State arrays. Exit. \n"; exit(1); } FileOutR = fopen("outr.dat","wt"); if(!FileOutR) { cout<< "Cannot open file . Exit. " << endl << flush; exit(1);} /*FileTrjL = fopen("trajL.dat","wt"); if(!FileTrjL) { cout<< "Cannot open file . Exit. " << endl << flush; exit(1);} */ ArrL1 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrL2 =(double*)malloc((NumStepPer+2)*sizeof(double)); ArrL3 =(double*)malloc((NumStepPer+2)*sizeof(double)); if(!ArrL1 || !ArrL2 || !ArrL3 ) { cout << "Cannot allocate memory for State arrays. Exit. \n"; exit(1); } FileOutL = fopen("outl.dat","wt"); if(!FileOutL) { cout<< "Cannot open file . Exit. " << endl << flush; exit(1);} FileOutTimeL = fopen("outtimel.dat","wt"); if(!FileOutTimeL){ cout<<"Cannot open file. Exit."<<endl<<flush;exit(1);} FileProd = fopen("prod_r_l.dat","wt"); if(!FileProd) { cout<< "Cannot open file . Exit. " << endl << flush; exit(1);} l=0.10684; ArrR1[0]=x0; ArrR2[0]=y0; ArrR3[0]=z0; ArrL1[0]=x0l; ArrL2[0]=y0l; ArrL3[0]=z0l; for(i=1;i<=LongNumInt;i++){ for(j=1;j<=NumStepPer; j++){ x=x0 + StepInt*(-y0-z0); y=y0 + StepInt*(x0+a*y0); z=z0 + StepInt*(x0* ArrZ[j-1]+z0* (ArrX[j-1]-c)); x0=x; y0=y; z0=z; tr=(i-1)*Tau+j*StepInt; ArrR1[j]=(1./0.82)*exp(-l*tr)*x; ArrR2[j]=(1./0.82)*exp(-l*tr)*y; ArrR3[j]=(1./0.82)*exp(-l*tr)*z; xl=x0l - StepInt*(-y0l-ArrZ[NumStepPer-(j-1)]*z0l); yl=y0l - StepInt*(x0l-a*y0l); zl=z0l - StepInt*(x0l-z0l* (ArrX[NumStepPer-(j-1)]-c)); x0l=xl; y0l=yl; z0l=zl; tl=-(i-1)*Tau-j*StepInt; ArrL1[j]=exp(l*tl)*xl; ArrL2[j]=exp(l*tl)*yl; ArrL3[j]=exp(l*tl)*zl; } for (j=0;j<=NumStepPer;j++){ if ((i>=LongNumInt-4)&&(!(j % 1000)) ){ Absr=sqrt(x*x+y*y+z*z); fprintf(FileTrjPer,"%15.8lf %15.8lf %15.8lf %15.8lf\n ", (i-1)*Tau+j*StepInt, ArrX[j], ArrY[j], ArrZ[j]); fflush(FileTrjPer); fprintf(FileOutR,"%15.8lf %15.8lf %15.8lf %15.8lf\n ", (i-1)*Tau+j*StepInt, ArrR1[j], ArrR2[j], ArrR3[j]); fflush(FileOutR); Absl=sqrt(xl*xl+yl*yl+zl*zl); /* fprintf(FileTrjL,"%15.8lf %15.8lf %15.8lf %15.8lf %15.8lf\n ", -(i-1)*Tau-j*StepInt, log(fabs(xl)), log(fabs(yl)), log(fabs(zl)), log(fabs(Absl))); fflush(FileTrjL); */ fprintf(FileOutL,"%15.8lf %15.8lf %15.8lf %15.8lf\n ", -(i-1)*Tau-j*StepInt, ArrL1[j], ArrL2[j], ArrL3[j]); fflush(FileOutL); fprintf(FileOutTimeL,"%15.8lf %15.8lf %15.8lf %15.8lf\n ", (i-1)*Tau+j*StepInt, ArrL1[NumStepPer-j], ArrL2[NumStepPer-j], ArrL3[NumStepPer-j]); fflush(FileOutTimeL); } } for (j=0;j<=NumStepPer;j++){ if((i>=LongNumInt-4)&&(!(j%1000)) ){ Prod=ArrR1[j]*ArrL1[NumStepPer-j]+ArrR2[j]*ArrL2[NumStepPer-j]+ArrR3[j]*ArrL3[NumStepPer-j]; fprintf(FileProd, "%15.8lf %15.8lf\n",(i-1)*Tau+j*StepInt, Prod); fflush(FileProd); } } ArrR1[0]=ArrR1[NumStepPer]; ArrR2[0]=ArrR2[NumStepPer]; ArrR3[0]=ArrR3[NumStepPer]; ArrL1[0]=ArrL1[NumStepPer]; ArrL2[0]=ArrL2[NumStepPer]; ArrL3[0]=ArrL3[NumStepPer]; } Time=LongNumInt*Tau; Absr=sqrt(x*x+y*y+z*z); lamda=(1./Time)*log(Absr); cout<< "AbsR="<<Abs<< "LamdaR" <<lamda<< endl; cout <<"Right eigenmoden is calculated\n"; Time=-LongNumInt*Tau; Absl=sqrt(xl*xl+yl*yl+zl*zl); lamda=-(1./Time)*log(Absl); cout<< "AbsL="<<Absl<< "LamdaL" <<lamda<< endl; cout <<"Left eigenmoden is calculated\n"; fclose( FileTrjPer); fclose(FileOutR); /* fclose( FileTrjL); */ fclose(FileOutL); fclose(FileOutTimeL); fclose(FileProd); free(ArrXIni); free(ArrYIni); free(ArrZIni); free(ArrX); free(ArrY); free(ArrZ); free(ArrX1); free(ArrY1); free(ArrZ1); free(ArrTime); free(ArrR1); free(ArrR2); free(ArrR3); free(ArrL1); free(ArrL2); free(ArrL3); }
Simpan