From 17f9667059fe2ac0fe097401c1bc38dc1b4b2f4d Mon Sep 17 00:00:00 2001 From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa> Date: Wed, 13 Apr 2011 21:40:28 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@5933 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- bench/in.chute | 2 +- bench/in.chute.scaled | 2 +- examples/colloid/in.colloid | 6 +- examples/dipole/in.dipole | 8 +- examples/ellipse/in.ellipse.gayberne | 8 +- examples/ellipse/in.ellipse.resquared | 8 +- examples/pour/in.pour | 2 +- examples/pour/in.pour.2d | 2 +- examples/srd/in.srd.mixture | 11 +- tools/restart2data.cpp | 148 ++++++++++++-------------- 10 files changed, 93 insertions(+), 104 deletions(-) diff --git a/bench/in.chute b/bench/in.chute index 985f4140e2..cf43fd7ff8 100644 --- a/bench/in.chute +++ b/bench/in.chute @@ -2,7 +2,7 @@ # chute flow of 32000 atoms with frozen base at 26 degrees units lj -atom_style granular +atom_style sphere boundary p p fs newton off communicate single vel yes diff --git a/bench/in.chute.scaled b/bench/in.chute.scaled index 583fd70d67..cda2445620 100644 --- a/bench/in.chute.scaled +++ b/bench/in.chute.scaled @@ -5,7 +5,7 @@ variable x index 1 variable y index 1 units lj -atom_style granular +atom_style sphere boundary p p fs newton off communicate single vel yes diff --git a/examples/colloid/in.colloid b/examples/colloid/in.colloid index 6d3229de3e..5265cf1007 100644 --- a/examples/colloid/in.colloid +++ b/examples/colloid/in.colloid @@ -1,7 +1,7 @@ # Big colloid particles and small LJ particles units lj -atom_style atomic +atom_style sphere dimension 2 lattice sq 0.01 @@ -11,8 +11,8 @@ create_atoms 1 box set group all type/fraction 2 0.96 23984 -mass 1 9 -mass 2 1 +set type 1 mass 9 +set type 2 mass 1 velocity all create 1.44 87287 loop geom diff --git a/examples/dipole/in.dipole b/examples/dipole/in.dipole index b98a9f521b..c8f6e887e8 100644 --- a/examples/dipole/in.dipole +++ b/examples/dipole/in.dipole @@ -1,7 +1,7 @@ # Point dipoles in a 2d box units lj -atom_style dipole +atom_style hybrid sphere dipole dimension 2 lattice sq2 0.7 @@ -9,10 +9,8 @@ region box block 0 10 0 10 -0.5 0.5 create_box 1 box create_atoms 1 box -mass 1 1.0 -shape 1 1 1 1 -dipole 1 0.75 -set group all dipole/random 98934 +set group all mass 1.0 +set group all dipole/random 98934 0.75 velocity all create 0.0 87287 mom no diff --git a/examples/ellipse/in.ellipse.gayberne b/examples/ellipse/in.ellipse.gayberne index b739082994..a78c9c55b1 100644 --- a/examples/ellipse/in.ellipse.gayberne +++ b/examples/ellipse/in.ellipse.gayberne @@ -12,10 +12,10 @@ create_atoms 1 box set group all type/fraction 2 0.1 95392 set group all quat/random 18238 -mass 1 1.0 -mass 2 1.5 -shape 1 1 1 1 -shape 2 3 1 1 +set type 1 mass 1.0 +set type 2 mass 1.5 +set type 1 shape 1 1 1 +set type 2 shape 3 1 1 compute rot all temp/asphere group spheroid type 1 diff --git a/examples/ellipse/in.ellipse.resquared b/examples/ellipse/in.ellipse.resquared index c7a2030f9e..2bbe76c2a0 100644 --- a/examples/ellipse/in.ellipse.resquared +++ b/examples/ellipse/in.ellipse.resquared @@ -12,10 +12,10 @@ create_atoms 1 box set group all type/fraction 2 0.1 95392 set group all quat/random 18238 -mass 1 1.0 -mass 2 1.5 -shape 1 1 1 1 -shape 2 3 1 1 +set type 1 mass 1.0 +set type 2 mass 1.5 +set type 1 shape 1 1 1 +set type 2 shape 3 1 1 compute rot all temp/asphere group spheroid type 1 diff --git a/examples/pour/in.pour b/examples/pour/in.pour index 3d29938cf1..a0e58db342 100644 --- a/examples/pour/in.pour +++ b/examples/pour/in.pour @@ -1,6 +1,6 @@ # Pour granular particles into chute container, then induce flow -atom_style granular +atom_style sphere boundary p p fm newton off communicate single vel yes diff --git a/examples/pour/in.pour.2d b/examples/pour/in.pour.2d index 3be3af2fe4..ae38792939 100644 --- a/examples/pour/in.pour.2d +++ b/examples/pour/in.pour.2d @@ -1,7 +1,7 @@ # Pour 2d granular particles into container dimension 2 -atom_style granular +atom_style sphere boundary f fm p newton off communicate single vel yes diff --git a/examples/srd/in.srd.mixture b/examples/srd/in.srd.mixture index 77d95eac0b..8bcc48d311 100644 --- a/examples/srd/in.srd.mixture +++ b/examples/srd/in.srd.mixture @@ -1,7 +1,7 @@ # 2d SRD test: big + small particles units lj -atom_style colloid +atom_style sphere atom_modify first big dimension 2 @@ -11,11 +11,8 @@ lattice sq 0.4 region box block 0 10 0 10 -0.5 0.5 create_box 2 box create_atoms 1 region box -mass 1 1.0 -mass 2 0.01 - -shape 1 1.0 1.0 1.0 -shape 2 0.0 0.0 0.0 +set type 1 mass 1.0 +set type 1 diameter 1.0 group big type 1 velocity big create 1.44 87287 loop geom @@ -44,6 +41,8 @@ lattice sq 0.4 region plane block 0 10 0 10 -0.001 0.001 lattice sq 85.0 create_atoms 2 region plane +set type 2 mass 0.01 +set type 2 diameter 0.0 group small type 2 diff --git a/tools/restart2data.cpp b/tools/restart2data.cpp index 79c9a16453..28602809ee 100644 --- a/tools/restart2data.cpp +++ b/tools/restart2data.cpp @@ -33,6 +33,7 @@ #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MAX_GROUP 32 +#define PI 4.0*atan(1.0) // these should match settings in src/lmptype.h @@ -47,19 +48,19 @@ typedef int64_t bigint; // same as write_restart.cpp enum{VERSION,SMALLINT,TAGINT,BIGINT, - UNITS,NTIMESTEP,DIMENSION,NPROCS,PROCGRID_0,PROCGRID_1,PROCGRID_2, - NEWTON_PAIR,NEWTON_BOND,XPERIODIC,YPERIODIC,ZPERIODIC, - BOUNDARY_00,BOUNDARY_01,BOUNDARY_10,BOUNDARY_11,BOUNDARY_20,BOUNDARY_21, - ATOM_STYLE,NATOMS,NTYPES, - NBONDS,NBONDTYPES,BOND_PER_ATOM, - NANGLES,NANGLETYPES,ANGLE_PER_ATOM, - NDIHEDRALS,NDIHEDRALTYPES,DIHEDRAL_PER_ATOM, - NIMPROPERS,NIMPROPERTYPES,IMPROPER_PER_ATOM, - BOXLO_0,BOXHI_0,BOXLO_1,BOXHI_1,BOXLO_2,BOXHI_2, - SPECIAL_LJ_1,SPECIAL_LJ_2,SPECIAL_LJ_3, - SPECIAL_COUL_1,SPECIAL_COUL_2,SPECIAL_COUL_3, - XY,XZ,YZ}; -enum{MASS,SHAPE,DIPOLE}; + UNITS,NTIMESTEP,DIMENSION,NPROCS,PROCGRID_0,PROCGRID_1,PROCGRID_2, + NEWTON_PAIR,NEWTON_BOND,XPERIODIC,YPERIODIC,ZPERIODIC, + BOUNDARY_00,BOUNDARY_01,BOUNDARY_10,BOUNDARY_11,BOUNDARY_20,BOUNDARY_21, + ATOM_STYLE,NATOMS,NTYPES, + NBONDS,NBONDTYPES,BOND_PER_ATOM, + NANGLES,NANGLETYPES,ANGLE_PER_ATOM, + NDIHEDRALS,NDIHEDRALTYPES,DIHEDRAL_PER_ATOM, + NIMPROPERS,NIMPROPERTYPES,IMPROPER_PER_ATOM, + BOXLO_0,BOXHI_0,BOXLO_1,BOXHI_1,BOXLO_2,BOXHI_2, + SPECIAL_LJ_1,SPECIAL_LJ_2,SPECIAL_LJ_3, + SPECIAL_COUL_1,SPECIAL_COUL_2,SPECIAL_COUL_3, + XY,XZ,YZ}; +enum{MASS}; enum{PAIR,BOND,ANGLE,DIHEDRAL,IMPROPER}; static const char * const cg_type_list[] = @@ -87,8 +88,8 @@ class Data { char *atom_style; int style_angle,style_atomic,style_bond,style_charge,style_dipole; - int style_ellipsoid,style_full,style_granular; - int style_hybrid,style_molecular,style_peri; + int style_ellipsoid,style_full; + int style_hybrid,style_molecular,style_peri,style_sphere; bigint natoms; bigint nbonds,nangles,ndihedrals,nimpropers; @@ -191,7 +192,7 @@ class Data { int iatoms,ibonds,iangles,idihedrals,iimpropers; - double *mass,*shape,*dipole; + double *mass; double *x,*y,*z,*vx,*vy,*vz; double *omegax,*omegay,*omegaz; tagint *tag; @@ -199,6 +200,7 @@ class Data { int *molecule; double *q,*mux,*muy,*muz,*radius,*density,*vfrac,*rmass; double *s0,*x0x,*x0y,*x0z; + double *shapex,*shapey,*shapez; double *quatw,*quati,*quatj,*quatk,*angmomx,*angmomy,*angmomz; int *bond_type,*angle_type,*dihedral_type,*improper_type; int *bond_atom1,*bond_atom2; @@ -219,9 +221,9 @@ class Data { void write_atom_dipole(FILE *, int, int, int, int); void write_atom_ellipsoid(FILE *, int, int, int, int); void write_atom_full(FILE *, int, int, int, int); - void write_atom_granular(FILE *, int, int, int, int); void write_atom_molecular(FILE *, int, int, int, int); void write_atom_peri(FILE *, int, int, int, int); + void write_atom_sphere(FILE *, int, int, int, int); void write_atom_angle_extra(FILE *, int); void write_atom_atomic_extra(FILE *, int); @@ -230,9 +232,9 @@ class Data { void write_atom_dipole_extra(FILE *, int); void write_atom_ellipsoid_extra(FILE *, int); void write_atom_full_extra(FILE *, int); - void write_atom_granular_extra(FILE *, int); void write_atom_molecular_extra(FILE *, int); void write_atom_peri_extra(FILE *, int); + void write_atom_sphere_extra(FILE *, int); void write_vel_angle(FILE *, int); void write_vel_atomic(FILE *, int); @@ -241,9 +243,9 @@ class Data { void write_vel_dipole(FILE *, int); void write_vel_ellipsoid(FILE *, int); void write_vel_full(FILE *, int); - void write_vel_granular(FILE *, int); void write_vel_molecular(FILE *, int); void write_vel_peri(FILE *, int); + void write_vel_sphere(FILE *, int); void write_vel_angle_extra(FILE *, int); void write_vel_atomic_extra(FILE *, int); @@ -252,9 +254,9 @@ class Data { void write_vel_dipole_extra(FILE *, int); void write_vel_ellipsoid_extra(FILE *, int); void write_vel_full_extra(FILE *, int); - void write_vel_granular_extra(FILE *, int); void write_vel_molecular_extra(FILE *, int); void write_vel_peri_extra(FILE *, int); + void write_vel_sphere_extra(FILE *, int); }; // --------------------------------------------------------------------- @@ -281,9 +283,9 @@ void allocate_charge(Data &data); void allocate_dipole(Data &data); void allocate_ellipsoid(Data &data); void allocate_full(Data &data); -void allocate_granular(Data &data); void allocate_molecular(Data &data); void allocate_peri(Data &data); +void allocate_sphere(Data &data); int atom_angle(double *, Data &, int); int atom_atomic(double *, Data &, int); @@ -292,9 +294,9 @@ int atom_charge(double *, Data &, int); int atom_dipole(double *, Data &, int); int atom_ellipsoid(double *, Data &, int); int atom_full(double *, Data &, int); -int atom_granular(double *, Data &, int); int atom_molecular(double *, Data &, int); int atom_peri(double *, Data &, int); +int atom_sphere(double *, Data &, int); int read_int(FILE *fp); double read_double(FILE *fp); @@ -484,8 +486,8 @@ void header(FILE *fp, Data &data) else if (flag == ATOM_STYLE) { data.style_angle = data.style_atomic = data.style_bond = data.style_charge = data.style_dipole = - data.style_ellipsoid = data.style_full = data.style_granular = - data.style_hybrid = data.style_molecular = data.style_peri = 0; + data.style_ellipsoid = data.style_full = data.style_hybrid = + data.style_molecular = data.style_peri = data.style_sphere = 0; data.atom_style = read_char(fp); set_style(data.atom_style,data,1); @@ -559,10 +561,10 @@ void set_style(char *name, Data &data, int flag) else if (strcmp(name,"dipole") == 0) data.style_dipole = flag; else if (strcmp(name,"ellipsoid") == 0) data.style_ellipsoid = flag; else if (strcmp(name,"full") == 0) data.style_full = flag; - else if (strcmp(name,"granular") == 0) data.style_granular = flag; else if (strcmp(name,"hybrid") == 0) data.style_hybrid = flag; else if (strcmp(name,"molecular") == 0) data.style_molecular = flag; else if (strcmp(name,"peri") == 0) data.style_peri = flag; + else if (strcmp(name,"sphere") == 0) data.style_sphere = flag; else { printf("ERROR: Unknown atom style %s\n",name); exit(1); @@ -599,8 +601,6 @@ void groups(FILE *fp) void type_arrays(FILE *fp, Data &data) { data.mass = NULL; - data.shape = NULL; - data.dipole = NULL; int flag; flag = read_int(fp); @@ -610,12 +610,6 @@ void type_arrays(FILE *fp, Data &data) if (flag == MASS) { data.mass = new double[data.ntypes+1]; fread(&data.mass[1],sizeof(double),data.ntypes,fp); - } else if (flag == SHAPE) { - data.shape = new double[3*(data.ntypes+1)]; - fread(&data.shape[3],sizeof(double),3*data.ntypes,fp); - } else if (flag == DIPOLE) { - data.dipole = new double[data.ntypes+1]; - fread(&data.dipole[1],sizeof(double),data.ntypes,fp); } else { printf("ERROR: Invalid flag in type arrays section of restart file %d\n", flag); @@ -732,9 +726,9 @@ int atom(double *buf, Data &data) if (data.style_dipole) allocate_dipole(data); if (data.style_ellipsoid) allocate_ellipsoid(data); if (data.style_full) allocate_full(data); - if (data.style_granular) allocate_granular(data); if (data.style_molecular) allocate_molecular(data); if (data.style_peri) allocate_peri(data); + if (data.style_sphere) allocate_sphere(data); } // read atom quantities from buf @@ -754,9 +748,9 @@ int atom(double *buf, Data &data) if (k == data.style_dipole) m += atom_dipole(&buf[m],data,iatoms); if (k == data.style_ellipsoid) m += atom_ellipsoid(&buf[m],data,iatoms); if (k == data.style_full) m += atom_full(&buf[m],data,iatoms); - if (k == data.style_granular) m += atom_granular(&buf[m],data,iatoms); if (k == data.style_molecular) m += atom_molecular(&buf[m],data,iatoms); if (k == data.style_peri) m += atom_peri(&buf[m],data,iatoms); + if (k == data.style_sphere) m += atom_sphere(&buf[m],data,iatoms); } data.iatoms++; @@ -922,6 +916,15 @@ int atom_ellipsoid(double *buf, Data &data, int iatoms) data.vy[iatoms] = buf[m++]; data.vz[iatoms] = buf[m++]; + data.shapex[iatoms] = buf[m++]; + data.shapey[iatoms] = buf[m++]; + data.shapez[iatoms] = buf[m++]; + data.rmass[iatoms] = buf[m++]; + if (data.shapex[iatoms] == 0.0) data.density[iatoms] = data.rmass[iatoms]; + else + data.density[iatoms] = data.rmass[iatoms] / + (4.0*PI/3.0 * + data.shapex[iatoms]*data.shapey[iatoms]*data.shapez[iatoms]); data.quatw[iatoms] = buf[m++]; data.quati[iatoms] = buf[m++]; data.quatj[iatoms] = buf[m++]; @@ -933,7 +936,7 @@ int atom_ellipsoid(double *buf, Data &data, int iatoms) return m; } -int atom_granular(double *buf, Data &data, int iatoms) +int atom_sphere(double *buf, Data &data, int iatoms) { int m = 1; data.x[iatoms] = buf[m++]; @@ -948,7 +951,12 @@ int atom_granular(double *buf, Data &data, int iatoms) data.vz[iatoms] = buf[m++]; data.radius[iatoms] = buf[m++]; - data.density[iatoms] = buf[m++]; + data.rmass[iatoms] = buf[m++]; + if (data.radius[iatoms] == 0.0) data.density[iatoms] = data.rmass[iatoms]; + else + data.density[iatoms] = data.rmass[iatoms] / + (4.0*PI/3.0 * + data.radius[iatoms]*data.radius[iatoms]*data.radius[iatoms]); data.omegax[iatoms] = buf[m++]; data.omegay[iatoms] = buf[m++]; data.omegaz[iatoms] = buf[m++]; @@ -1136,7 +1144,6 @@ int atom_peri(double *buf, Data &data, int iatoms) data.vz[iatoms] = buf[m++]; data.vfrac[iatoms] = buf[m++]; - data.density[iatoms] = buf[m++]; data.rmass[iatoms] = buf[m++]; data.s0[iatoms] = buf[m++]; data.x0x[iatoms] = buf[m++]; @@ -1211,6 +1218,11 @@ void allocate_full(Data &data) void allocate_ellipsoid(Data &data) { + data.shapex = new double[data.natoms]; + data.shapey = new double[data.natoms]; + data.shapez = new double[data.natoms]; + data.rmass = new double[data.natoms]; + data.density = new double[data.natoms]; data.quatw = new double[data.natoms]; data.quati = new double[data.natoms]; data.quatj = new double[data.natoms]; @@ -1220,9 +1232,10 @@ void allocate_ellipsoid(Data &data) data.angmomz = new double[data.natoms]; } -void allocate_granular(Data &data) +void allocate_sphere(Data &data) { data.radius = new double[data.natoms]; + data.rmass = new double[data.natoms]; data.density = new double[data.natoms]; data.omegax = new double[data.natoms]; data.omegay = new double[data.natoms]; @@ -1254,7 +1267,6 @@ void allocate_molecular(Data &data) void allocate_peri(Data &data) { data.vfrac = new double[data.natoms]; - data.density = new double[data.natoms]; data.rmass = new double[data.natoms]; data.s0 = new double[data.natoms]; data.x0x = new double[data.natoms]; @@ -2708,21 +2720,6 @@ void Data::write(FILE *fp, FILE *fp2) } } - // shape and dipole to data file - // convert shape from radius to diameter - - if (shape) { - fprintf(fp,"\nShapes\n\n"); - for (int i = 1; i <= ntypes; i++) - fprintf(fp,"%d %g %g %g\n",i, - 2.0*shape[3*i+0],2.0*shape[3*i+1],2.0*shape[3*i+2]); - } - - if (dipole) { - fprintf(fp,"\nDipoles\n\n"); - for (int i = 1; i <= ntypes; i++) fprintf(fp,"%d %g\n",i,dipole[i]); - } - // pair coeffs to data file if (pair_style && fp2 == NULL) { @@ -2962,8 +2959,6 @@ void Data::write(FILE *fp, FILE *fp2) // angle coeffs to data file if (angle_style && fp2 == NULL) { - double PI = 3.1415926; // convert back to degrees - if ((strcmp(angle_style,"none") != 0) && (strcmp(angle_style,"table") != 0) && (strcmp(angle_style,"hybrid") != 0)) @@ -3022,8 +3017,6 @@ void Data::write(FILE *fp, FILE *fp2) // only supported styles = cosine/squared, harmonic, cg/cmm if (angle_style && fp2) { - double PI = 3.1415926; // convert back to degrees - if ((strcmp(angle_style,"cosine/squared") == 0) || (strcmp(angle_style,"cosine/delta") == 0)) { for (int i = 1; i <= nangletypes; i++) @@ -3051,8 +3044,6 @@ void Data::write(FILE *fp, FILE *fp2) } if (dihedral_style) { - double PI = 3.1415926; // convert back to degrees - if ((strcmp(dihedral_style,"none") != 0) && (strcmp(dihedral_style,"table") != 0) && (strcmp(dihedral_style,"hybrid") != 0)) @@ -3140,8 +3131,6 @@ void Data::write(FILE *fp, FILE *fp2) } if (improper_style) { - double PI = 3.1415926; // convert back to degrees - if ((strcmp(improper_style,"none") != 0) && (strcmp(improper_style,"hybrid") != 0)) fprintf(fp,"\nImproper Coeffs\n\n"); @@ -3191,7 +3180,7 @@ void Data::write(FILE *fp, FILE *fp2) if (style_dipole) write_atom_dipole(fp,i,ix,iy,iz); if (style_ellipsoid) write_atom_ellipsoid(fp,i,ix,iy,iz); if (style_full) write_atom_full(fp,i,ix,iy,iz); - if (style_granular) write_atom_granular(fp,i,ix,iy,iz); + if (style_sphere) write_atom_sphere(fp,i,ix,iy,iz); if (style_molecular) write_atom_molecular(fp,i,ix,iy,iz); if (style_peri) write_atom_peri(fp,i,ix,iy,iz); fprintf(fp,"\n"); @@ -3207,7 +3196,7 @@ void Data::write(FILE *fp, FILE *fp2) if (k == style_dipole) write_atom_dipole_extra(fp,i); if (k == style_ellipsoid) write_atom_ellipsoid_extra(fp,i); if (k == style_full) write_atom_full_extra(fp,i); - if (k == style_granular) write_atom_granular_extra(fp,i); + if (k == style_sphere) write_atom_sphere_extra(fp,i); if (k == style_molecular) write_atom_molecular_extra(fp,i); if (k == style_peri) write_atom_peri_extra(fp,i); } @@ -3228,7 +3217,7 @@ void Data::write(FILE *fp, FILE *fp2) if (style_dipole) write_vel_dipole(fp,i); if (style_ellipsoid) write_vel_ellipsoid(fp,i); if (style_full) write_vel_full(fp,i); - if (style_granular) write_vel_granular(fp,i); + if (style_sphere) write_vel_sphere(fp,i); if (style_molecular) write_vel_molecular(fp,i); if (style_peri) write_vel_peri(fp,i); fprintf(fp,"\n"); @@ -3243,7 +3232,7 @@ void Data::write(FILE *fp, FILE *fp2) if (k == style_dipole) write_vel_dipole_extra(fp,i); if (k == style_ellipsoid) write_vel_ellipsoid_extra(fp,i); if (k == style_full) write_vel_full_extra(fp,i); - if (k == style_granular) write_vel_granular_extra(fp,i); + if (k == style_sphere) write_vel_sphere_extra(fp,i); if (k == style_molecular) write_vel_molecular_extra(fp,i); if (k == style_peri) write_vel_peri_extra(fp,i); } @@ -3314,14 +3303,15 @@ void Data::write_atom_charge(FILE *fp, int i, int ix, int iy, int iz) void Data::write_atom_dipole(FILE *fp, int i, int ix, int iy, int iz) { fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d", - tag[i],type[i],q[i],x[i],y[i],z[i],mux[i],muy[i],muz[i],ix,iy,iz); + tag[i],type[i],q[i],x[i],y[i],z[i], + mux[i],muy[i],muz[i],ix,iy,iz); } void Data::write_atom_ellipsoid(FILE *fp, int i, int ix, int iy, int iz) { - fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d", - tag[i],type[i],x[i],y[i],z[i], - quatw[i],quati[i],quatj[i],quatk[i],ix,iy,iz); + fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d", + tag[i],type[i],shapex[i],shapey[i],shapez[i],density[i], + x[i],y[i],z[i],quatw[i],quati[i],quatj[i],quatk[i],ix,iy,iz); } void Data::write_atom_full(FILE *fp, int i, int ix, int iy, int iz) @@ -3330,7 +3320,7 @@ void Data::write_atom_full(FILE *fp, int i, int ix, int iy, int iz) tag[i],molecule[i],type[i],q[i],x[i],y[i],z[i],ix,iy,iz); } -void Data::write_atom_granular(FILE *fp, int i, int ix, int iy, int iz) +void Data::write_atom_sphere(FILE *fp, int i, int ix, int iy, int iz) { fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d", tag[i],type[i],2.0*radius[i],density[i],x[i],y[i],z[i],ix,iy,iz); @@ -3345,7 +3335,7 @@ void Data::write_atom_molecular(FILE *fp, int i, int ix, int iy, int iz) void Data::write_atom_peri(FILE *fp, int i, int ix, int iy, int iz) { fprintf(fp,"%d %d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %d %d %d", - tag[i],type[i],vfrac[i],density[i],rmass[i],x[i],y[i],z[i],ix,iy,iz); + tag[i],type[i],vfrac[i],rmass[i],x[i],y[i],z[i],ix,iy,iz); } // --------------------------------------------------------------------- @@ -3377,7 +3367,9 @@ void Data::write_atom_dipole_extra(FILE *fp, int i) void Data::write_atom_ellipsoid_extra(FILE *fp, int i) { - fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e",quatw[i],quati[i],quatj[i],quatk[i]); + fprintf(fp," %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e", + shapex[i],shapey[i],shapez[i],density[i], + quatw[i],quati[i],quatj[i],quatk[i]); } void Data::write_atom_full_extra(FILE *fp, int i) @@ -3385,7 +3377,7 @@ void Data::write_atom_full_extra(FILE *fp, int i) fprintf(fp," %d %-1.16e",molecule[i],q[i]); } -void Data::write_atom_granular_extra(FILE *fp, int i) +void Data::write_atom_sphere_extra(FILE *fp, int i) { fprintf(fp," %-1.16e %-1.16e",2.0*radius[i],density[i]); } @@ -3397,7 +3389,7 @@ void Data::write_atom_molecular_extra(FILE *fp, int i) void Data::write_atom_peri_extra(FILE *fp, int i) { - fprintf(fp," %-1.16e %-1.16e %-1.16e",vfrac[i],density[i],rmass[i]); + fprintf(fp," %-1.16e %-1.16e %-1.16e",vfrac[i],rmass[i]); } // --------------------------------------------------------------------- @@ -3441,7 +3433,7 @@ void Data::write_vel_full(FILE *fp, int i) fprintf(fp,"%d %-1.16e %-1.16e %-1.16e",tag[i],vx[i],vy[i],vz[i]); } -void Data::write_vel_granular(FILE *fp, int i) +void Data::write_vel_sphere(FILE *fp, int i) { fprintf(fp,"%d %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e %-1.16e", tag[i],vx[i],vy[i],vz[i],omegax[i],omegay[i],omegaz[i]); @@ -3475,7 +3467,7 @@ void Data::write_vel_ellipsoid_extra(FILE *fp, int i) void Data::write_vel_full_extra(FILE *fp, int i) {} -void Data::write_vel_granular_extra(FILE *fp, int i) +void Data::write_vel_sphere_extra(FILE *fp, int i) { fprintf(fp," %-1.16e %-1.16e %-1.16e",omegax[i],omegay[i],omegaz[i]); }