Code:
#include <stdio.h>
#include <math.h>
static int N_molC=356;
static int N_molPOL=356;
static int N_beadPOL=16;
static int N_beadC=4;
static int N_files=24;
static int tmax=240;
main(void)
{
char filename[FILENAME_MAX];
char systemname[FILENAME_MAX];
char direc[FILENAME_MAX];
int t,time;
double CRx[N_molC][N_beadC][N_files];
double CRy[N_molC][N_beadC][N_files];
double CRz[N_molC][N_beadC][N_files];
double CVx[N_molC][N_beadC][N_files];
double CVy[N_molC][N_beadC][N_files];
double CVz[N_molC][N_beadC][N_files];
double POLRx[N_molPOL][N_beadPOL][N_files];
double POLRy[N_molPOL][N_beadPOL][N_files];
double POLRz[N_molPOL][N_beadPOL][N_files];
double POLVx[N_molPOL][N_beadPOL][N_files];
double POLVy[N_molPOL][N_beadPOL][N_files];
double POLVz[N_molPOL][N_beadPOL][N_files];
char molname;
char molnamePOL1;
char molnamePOL2;
char molnamePOL3;
int i,j,k,l,m;
FILE *fp,*fp1;
float tmpfloat1, tmpfloat2, tmpfloat3, tmpfloat4, tmpfloat5, tmpfloat6;
float tmpfloatP1, tmpfloatP2, tmpfloatP3, tmpfloatP4, tmpfloatP5, tmpfloatP6;
time=0;
t=0;
while(t<N_files)
{
sprintf(systemname,"cldpd32_%d",time);
sprintf(direc,".");
fp=fopen(systemname,"r");
//reading Crosslinker molecule C
fscanf(fp,"%c", &molname);
for( j=0; j < N_molC; j++)
{
for( i=0; i < N_beadC; i++)
{
fscanf(fp,"%f",&tmpfloat1);
fscanf(fp,"%f",&tmpfloat2);
fscanf(fp,"%f",&tmpfloat3);
fscanf(fp,"%f",&tmpfloat4);
fscanf(fp,"%f",&tmpfloat5);
fscanf(fp,"%f",&tmpfloat6);
fscanf(fp,"\n");
CRx[j][i][t]=(double) tmpfloat1;
CRy[j][i][t]=(double) tmpfloat2;
CRz[j][i][t]=(double) tmpfloat3;
CVx[j][i][t]=(double) tmpfloat4;
CVy[j][i][t]=(double) tmpfloat5;
CVz[j][i][t]=(double) tmpfloat6;
}
}
//reading polymer molecule POL
fscanf(fp,"\n");
fscanf(fp,"%c",&molnamePOL1);
fscanf(fp,"%c",&molnamePOL2);
fscanf(fp,"%c",&molnamePOL3);
fscanf(fp,"\n");
for( j=0; j < N_molPOL; j++)
{
for( i=0; i < N_beadPOL; i++)
{
fscanf(fp,"%f",&tmpfloatP1);
fscanf(fp,"%f",&tmpfloatP2);
fscanf(fp,"%f",&tmpfloatP3);
fscanf(fp,"%f",&tmpfloatP4);
fscanf(fp,"%f",&tmpfloatP5);
fscanf(fp,"%f",&tmpfloatP6);
fscanf(fp,"\n");
POLRx[j][i][t]=(double) tmpfloatP1;
POLRy[j][i][t]=(double) tmpfloatP2;
POLRz[j][i][t]=(double) tmpfloatP3;
POLVx[j][i][t]=(double) tmpfloatP4;
POLVy[j][i][t]=(double) tmpfloatP5;
POLVz[j][i][t]=(double) tmpfloatP6;
}
}
fclose(fp);
time=time+10;
t=t+1;
}
}
The ASCII file see below. In this file coordinates and velocities of beads of type C and POL are written. There are first 1424 lines of C beads and then 5696 lines of POL beads.