5 dDensity = (
double *)malloc(NBin*
sizeof(
double));
6 for(
int v=0;v<NBin;v++){
9 FILE *FileToWrite = fopen(
"Temperature.dat",
"w");
12 if(
OpenRisk(cFile[f],BF_NANO)==0)
return 0;
14 for(
int v=0;v<NBin;v++){
19 for(
int v=0;v<NBin;v++){
20 fprintf(FileToWrite,
"%lf \n",dDensity[v]/(
double)(NFile[1] - NFile[0]));
29 double *dDensity = (
double *)calloc(NType*NBin,
sizeof(
double));
30 double *dRad = (
double *)calloc(NType*NBin,
sizeof(
double));
31 double *ThickProf = (
double *)calloc(NType*NBin,
sizeof(*ThickProf));
32 double *CountCh = (
double *)calloc(NType*NBin,
sizeof(
double));
33 double *CountPart = (
double *)calloc(NBin,
sizeof(
double));
34 double *AngleProf = (
double *)calloc(2*NBin,
sizeof(
double));
35 double *VolEl = (
double *)calloc(NBin,
sizeof(
double));
36 double *VelDistr = (
double *)calloc(NBin*2,
sizeof(
double));
37 double *DisplRad = (
double *)calloc(NBin*2,
sizeof(
double));
38 double *DisplTheta = (
double *)calloc(NBin*2,
sizeof(
double));
39 double *E2E = (
double *)calloc(NBin*2,
sizeof(
double));
40 double *HFluct = (
double *)calloc(NBin*2,
sizeof(
double));
45 for(
int d=0;d<3;d++) ZedDir.
Set(0.,d);
50 if(
OpenRisk(cFile[f],BF_CHAIN))
return 0;
55 if(!strncmp(
Block[b].Name,
"PEP",3) )
continue;
61 int vr = (int)(RadDist/
pEdge(3)*NBin);
62 if(vr < 0 || vr >= NBin)
continue;
64 if(CHAIN_IF_TYPE(
Ch[
pType(p)].Type,CHAIN_ADDED) ) t = 1;
65 dRad[vr*NType+t] += 1.;
78 if(!strncmp(
Block[b].Name,
"PEP",3)){
81 for(
int c=cOff;c<cOff+
pNChain(b);c++){
86 Directive.
Set(RelPos[d],d);
87 Axis.
Set(
Ch[c].Dir[d],d);
89 double RadDist = sqrt( SQR(RelPos[
CLat1]) + SQR(RelPos[
CLat2]) );
91 int vr = (int)(RadDist*
pInvEdge(3)*NBin);
92 if(vr < 0 || vr >= NBin)
continue;
94 if(VAR_IF_TYPE(
Ch[c].Type,CHAIN_DOWN)) t = 1;
95 CountCh[(vr)*2+t] += 1;
96 ThickProf[(vr)*2+t] += Zed;
98 HFluct[vr*2+1] += SQR(Zed);
100 Angle = Angle < .5*M_PI ? Angle : Angle - .5*M_PI;
102 AngleProf[vr*2 ] +=
Angle;
103 AngleProf[vr*2+1] += SQR(Angle);
105 double VelRad = sqrt( SQR(
Ch[c].Vel[CLat1]) + SQR(
Ch[c].Vel[CLat2]) );
106 double VelTheta = fabs(atan2(
Ch[c].Vel[CLat2],
Ch[c].Vel[CLat1]));
107 double DRad = sqrt(SQR(
Ch[c].Pos[CLat1]-Ch2[c].Pos[CLat1]) + SQR(
Ch[c].Pos[CLat2]-Ch2[c].Pos[CLat2]));
108 double DTheta = atan2(
Ch[c].Pos[CLat1]-Ch2[c].Pos[CLat1],
Ch[c].Pos[CLat2]-Ch2[c].Pos[CLat2]);
109 VelDistr[vr*2 ] += VelRad;
110 VelDistr[vr*2+1] += VelTheta < 100. ? VelTheta : 0.;
111 DisplRad[vr*2 ] += DRad;
112 DisplRad[vr*2+1] += SQR(DRad);
113 DisplTheta[vr*2 ] += DTheta;
114 DisplTheta[vr*2+1] += SQR(DTheta);
117 int pE2 = (c+1)*
pNPCh()-1;
118 for(
int d=0;d<3;d++){
120 DistE2E += SQR(
pPos(pE1,d)-
pPos(pE2,d));
122 E2E[vr*2 ] += sqrt(DistE2E);
123 E2E[vr*2+1] += DistE2E;
128 MPI_Allreduce(MPI_IN_PLACE,dDensity,NType*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
129 MPI_Allreduce(MPI_IN_PLACE,ThickProf,NType*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
130 MPI_Allreduce(MPI_IN_PLACE,CountCh,NType*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
131 MPI_Allreduce(MPI_IN_PLACE,CountPart,NType*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
132 MPI_Allreduce(MPI_IN_PLACE,VelDistr,2*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
133 MPI_Allreduce(MPI_IN_PLACE,DisplRad,2*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
134 MPI_Allreduce(MPI_IN_PLACE,DisplTheta,2*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
135 MPI_Allreduce(MPI_IN_PLACE,E2E,2*NBin, MPI_DOUBLE, MPI_SUM, Proc->CommGrid);
137 MPI_Comm_rank(Proc->CommGrid, &Rank);
142 double InvNFile = 1./(double)(NFile[1]-NFile[0]);
145 for(
int v=0;v<NBin;v++){
146 double r = v*
pEdge(3)/(double)NBin;
147 double NormType = 0.;
148 double NormVol = (VolumeRad*VolEl[v])/InvNFile;
149 NormVol = NormVol > 0. ? 1./NormVol : 1.;
150 for(
int t=0;t<NType;t++){
151 dRad[v*NType+t] *= NormVol;
152 double Norm = CountCh[v*NType+t] > 0. ? 1./CountCh[v*NType+t] : 1.;
153 ThickProf[v*NType+t] *= Norm;
154 NormType += CountCh[v*NType+t];
156 NormType = NormType > 0. ? 1./NormType : 1.;
157 if(r < Nano->Rad) NormType = 0.;
158 if(r < Nano->Rad) NormVol = 0.;
159 VelDistr[v*2 ] *= NormType;
160 VelDistr[v*2+1] *= NormType;
161 DisplRad[v*2 ] *= NormType;
162 DisplRad[v*2+1] = sqrt(DisplRad[v*2+1]*NormType - SQR(DisplRad[v*2 ]));
163 DisplTheta[v*2 ] *= NormType;
164 DisplTheta[v*2+1] = sqrt(DisplTheta[v*2+1]*NormType - SQR(DisplTheta[v*2 ]));
165 HFluct[v*2 ] *= NormType;
166 HFluct[v*2+1] = sqrt(HFluct[v*2+1]*NormType - SQR(HFluct[v*2 ]));
167 AngleProf[v*2 ] *= NormType;
168 AngleProf[v*2+1] = sqrt(AngleProf[v*2+1]*NormType - SQR(AngleProf[v*2 ]));
169 E2E[v*2 ] *= NormType;
170 E2E[v*2+1] = sqrt( (E2E[v*2+1]*NormType - SQR(E2E[v*2 ])) );
176 FILE *FileToWrite = fopen(FileName,
"w");
177 char cSystem[STRSIZE];
179 fprintf(FileToWrite,
"# %s",cSystem);
180 fprintf(FileToWrite,
"#r DensPhob DensPhil\n");
181 for(
int v=0;v<NBin;v++){
182 double r = v*
pEdge(3)/(double)NBin;
183 fprintf(FileToWrite,
"%lf %lf %lf\n",r,dRad[v*NType],dRad[v*NType+1]);
199 FileToWrite = fopen(FileName,
"w");
200 fprintf(FileToWrite,
"#r VelRad VelTheta\n");
201 for(
int v=0;v<NBin;v++){
202 double r = v*
pEdge(3)/(double)NBin;
203 fprintf(FileToWrite,
"%lf %lf %lf\n",r,VelDistr[v*2+0],VelDistr[v*2+1]);
208 FileToWrite = fopen(FileName,
"w");
209 fprintf(FileToWrite,
"#r <z> <(z - <z>)^2> \n");
210 for(
int v=0;v<NBin;v++){
211 double r = v*
pEdge(3)/(double)NBin;
212 fprintf(FileToWrite,
"%lf %.5g %.5g\n",r,HFluct[v*2+0],HFluct[v*2+1]);
217 FileToWrite = fopen(FileName,
"w");
218 fprintf(FileToWrite,
"#r <a> <(a - <a>)^2> \n");
219 for(
int v=0;v<NBin;v++){
220 double r = v*
pEdge(3)/(double)NBin;
221 fprintf(FileToWrite,
"%lf %.5g %.5g\n",r,AngleProf[v*2+0],AngleProf[v*2+1]);
226 FileToWrite = fopen(FileName,
"w");
227 fprintf(FileToWrite,
"#r <e2e> <(e2e - <e2e>)^2> \n");
228 for(
int v=0;v<NBin;v++){
229 double r = v*
pEdge(3)/(double)NBin;
230 fprintf(FileToWrite,
"%lf %.5g %.5g\n",r,E2E[v*2+0],E2E[v*2+1]);
235 FileToWrite = fopen(FileName,
"w");
236 fprintf(FileToWrite,
"#r JumpRad JumpTheta \n");
237 for(
int v=0;v<NBin;v++){
238 double r = v*
pEdge(3)/(double)NBin;
239 fprintf(FileToWrite,
"%lf %lf %lf %lf %lf\n",r,DisplRad[v*2 ],DisplRad[v*2+1],DisplTheta[v*2 ],DisplTheta[v*2+1]);
258 double *dDensity = (
double *)calloc(2*NBin,
sizeof(
double));
260 double Border[2] = {-10.,10.};
263 if(
OpenRisk(cFile[f],BF_PART))
return 0;
264 Worm(Partition,NBin,Border,dDensity);
267 FILE *FileToWrite = fopen(
"WormDensity.dat",
"w");
268 for(
int v=0;v<NBin;v++){
269 fprintf(FileToWrite,
"%lf %lf %lf\n",(
double)v/(
double)NBin*(Border[1]-Border[0])+Border[0],dDensity[v*2]/(NFile[1]-NFile[0]),dDensity[v*2+1]/(NFile[1]-NFile[0]));
277 double Threshold = 0.;
279 double **Plot = (
double **) calloc(NLevel,
sizeof(
double));
280 for(
int l=0;l<NLevel;l++){
281 Plot[l] = (
double *)calloc(NSample*NSample,
sizeof(
double));
283 double **PlotA = (
double **) calloc(NLevel,
sizeof(
double));
284 for(
int l=0;l<NLevel;l++){
285 PlotA[l] = (
double *)calloc(NSample*NSample,
sizeof(
double));
289 if(
OpenRisk(cFile[f],BF_PART))return ;
290 Stalk(NSample,NLevel,Plot,Threshold);
291 for(
int s=0;s<NSample;s++)
292 for(
int ss=0;ss<NSample;ss++)
293 for(
int l=0;l<NLevel;l++)
294 PlotA[l][s*NSample+ss] += Plot[l][s*NSample+ss];
303 sprintf(FileName,
"Stalk.xvl");
304 FILE *FileToWrite = fopen(FileName,
"w");
308 double FactCN = 1./(double)(NFile[1]-NFile[0]);
309 for(
int l=0,p=0,c=0;l<NLevel;l++){
310 for(
int ss=0;ss<NSample-1;ss++){
311 for(
int s=0;s<NSample-1;s++){
312 v00.
x[
CLat1]=(s+.5)*FactC1;
313 v00.
x[
CLat2]=(ss+.5)*FactC2;
314 v00.
x[
CNorm]=PlotA[l][s*NSample+ss]*FactCN;
315 v01.
x[
CLat1]=(s+1.5)*FactC1;
316 v01.
x[
CLat2]=(ss+.5)*FactC2;
317 v01.
x[
CNorm]=PlotA[l][(s+1)*NSample+ss]*FactCN;
318 v11.
x[
CLat1]=(s+1.5)*FactC1;
319 v11.
x[
CLat2]=(ss+1.5)*FactC2;
320 v11.
x[
CNorm]=PlotA[l][(s+1)*NSample+ss+1]*FactCN;
321 v10.
x[
CLat1]=(s+.5)*FactC1;
322 v10.
x[
CLat2]=(ss+1.5)*FactC2;
323 v10.
x[
CNorm]=PlotA[l][s*NSample+ss+1]*FactCN;
325 if(PlotA[l][(s)*NSample+ss] <= Threshold){
327 v00.
x[
CNorm]=PlotA[3][(s)*NSample+ss+1]*FactCN;
329 v00.
x[
CNorm]=PlotA[2][(s)*NSample+ss+1]*FactCN;
331 v00.
x[
CNorm]=PlotA[1][(s)*NSample+ss+1]*FactCN;
333 v00.
x[
CNorm]=PlotA[0][(s)*NSample+ss+1]*FactCN;
334 if(v00.
x[
CNorm] <= 0.)
continue;
336 if(PlotA[l][(s+1)*NSample+ss] <= Threshold){
338 v01.
x[
CNorm]=PlotA[3][(s)*NSample+ss]*FactCN;
340 v01.
x[
CNorm]=PlotA[2][(s)*NSample+ss]*FactCN;
342 v01.
x[
CNorm]=PlotA[1][(s)*NSample+ss]*FactCN;
344 v01.
x[
CNorm]=PlotA[0][(s)*NSample+ss]*FactCN;
345 if(v01.
x[
CNorm] <= 0.)
continue;
347 if(PlotA[l][s*NSample+ss+1] <= Threshold){
349 v10.
x[
CNorm]=PlotA[3][(s)*NSample+ss]*FactCN;
351 v10.
x[
CNorm]=PlotA[2][(s)*NSample+ss]*FactCN;
353 v10.
x[
CNorm]=PlotA[1][(s)*NSample+ss]*FactCN;
355 v10.
x[
CNorm]=PlotA[0][(s)*NSample+ss]*FactCN;
356 if(v10.
x[
CNorm] <= 0.)
continue;
358 if(PlotA[l][(s+1)*NSample+(ss+1)] <= Threshold){
360 v11.
x[
CNorm]=PlotA[3][(s)*NSample+ss+1]*FactCN;
362 v11.
x[
CNorm]=PlotA[2][(s)*NSample+ss+1]*FactCN;
364 v11.
x[
CNorm]=PlotA[1][(s)*NSample+ss+1]*FactCN;
366 v11.
x[
CNorm]=PlotA[0][(s)*NSample+ss+1]*FactCN;
367 if(v11.
x[
CNorm] <= 0.)
continue;
369 fprintf(FileToWrite,
"{t[%d %d %d] x(%lf %lf %lf) v(%lf %lf %lf) l[%d] l[%d] l[%d] }\n",p+0,c,l,v00.
x[
CLat1],v00.
x[
CLat2],v00.
x[
CNorm],(
double)l*.25,.5,.8,p+1,p+2,p+3);
370 fprintf(FileToWrite,
"{t[%d %d %d] x(%lf %lf %lf) v(%lf %lf %lf) l[%d] l[%d] l[%d] }\n",p+1,c,l,v01.
x[
CLat1],v01.
x[
CLat2],v01.
x[
CNorm],(
double)l*.25,.5,.8,p+2,p+3,p+0);
371 fprintf(FileToWrite,
"{t[%d %d %d] x(%lf %lf %lf) v(%lf %lf %lf) l[%d] l[%d] l[%d] }\n",p+2,c,l,v11.
x[
CLat1],v11.
x[
CLat2],v11.
x[
CNorm],(
double)l*.25,.5,.8,p+3,p+0,p+1);
372 fprintf(FileToWrite,
"{t[%d %d %d] x(%lf %lf %lf) v(%lf %lf %lf) l[%d] l[%d] l[%d] }\n",p+3,c,l,v10.
x[
CLat1],v10.
x[
CLat2],v10.
x[
CNorm],(
double)l*.25,.5,.8,p+0,p+1,p+2);
378 for(
int l=0;l<NLevel;l++){
390 double *Line = (
double *)calloc(NBin,
sizeof(
double));
391 double *Spe = (
double *)calloc(NBin,
sizeof(
double));
393 int NHalf = (int)(NBin/2);
395 double InvNBin = 1./(double)(NBin-2);
396 double InvNFile = 1./(double)(
NFile[1]-
NFile[0]);
397 fftw_complex *out = (fftw_complex *)fftw_malloc(NBin*
sizeof(fftw_complex));
398 fftw_complex *in = (fftw_complex *)fftw_malloc(NBin*
sizeof(fftw_complex));
399 fftw_plan plan = fftw_plan_dft_1d(NBin-2,in,out,FFTW_FORWARD,FFTW_ESTIMATE);
400 fftw_plan plan2 = fftw_plan_dft_1d(NBin-2,out,in,FFTW_BACKWARD,FFTW_ESTIMATE);
403 if(
Open(cFile[f],BF_CHAIN))
return;
405 for(
int vx=0;vx<NBin-2;vx++) in[vx][0] = Line[vx+1];
407 for(
int vx=0;vx<NBin-2;vx++){
409 Spe[vx] += (SQR(out[vx][0]) + SQR(out[vx][1]))*SQR(InvNBin);
413 sprintf(FName,
"StalkLine%05d.dat",f);
414 FILE *FWrite = fopen(FName,
"w");
415 for(
int vx=0;vx<NBin;vx++){
416 fprintf(FWrite,
"%lf %lf \n",vx*
pEdge(
CLat2)/(
double)NBin,Line[vx]);
423 FILE *FWrite = fopen(
"StalkLineSpectrum.dat",
"w");
424 for(
int vx=0;vx<NBin/2-2;vx++){
426 double qq = SQR(qx/dx - .5/dx);
428 fprintf(FWrite,
"%lf %lf \n",qx,Spe[vx]*InvNFile);
436 printf(
"fftw not implemented\n");
443 if(
Open(cFile[f],BF_NO))
return;
447 sprintf(FName,
"new%07d00.dat",f*2);
456 double *RadProf = (
double *)calloc(NBin,
sizeof(
double));
457 double *RadProfS = (
double *)calloc(NBin,
sizeof(
double));
458 double *Count = (
double *)calloc(NBin,
sizeof(
double));
459 double *PlotMin = (
double *)calloc(NGrid*NGrid,
sizeof(
double));
460 double *PlotThin = (
double *)calloc(NGrid*NGrid,
sizeof(
double));
461 double *PlotTmp = (
double *)calloc(NGrid*NGrid,
sizeof(
double));
462 double *AngList = (
double *)calloc((
NFile[1]-
NFile[0]),
sizeof(double));
463 double *HeiList = (
double *)calloc((
NFile[1]-
NFile[0]),
sizeof(double));
464 double *Weight = (
double *)calloc(NWeight,
sizeof(
double));
465 int *WIndex = (
int *)calloc(NWeight,
sizeof(
int));
466 double InvNBin = 1./(NBin);
471 if(
Open(cFile[f],BF_PART))
return;
474 for(
int r=0;r<NBin;r++){
478 for(
int p=0;p<
pNPart();p++){
481 int r = (int)(Rad*
pInvEdge(3)*NBin);
482 if(r < 0 || r >= NBin)
continue;
486 for(
int r=0;r<NBin;r++){
487 if(Count[r] <= 0.)
continue;
488 RadProf[r] /= Count[r];
503 double Thinning = 100000.;
506 for(
int r=3;r<NBin;r++){
507 if(Count[r] <= 0.)
continue;
508 if(Thinning > RadProf[r]){
509 Thinning = RadProf[r];
510 MinDist = r*
pEdge(3)/(double)NBin;
517 PlotMin[f] = MinDist;
518 PlotThin[f] = Thinning;
519 sprintf(FName,
"ThinProfHei%.1fAng%02d.dat",Hei,(
int)Angle);
520 FILE *FProf = fopen(FName,
"w");
521 for(
int r=0;r<NBin;r++){
522 if(Count[r] <= 0.)
continue;
523 double Rad = r*
pEdge(3)*InvNBin;
524 fprintf(FProf,
"%lf %lf\n",Rad,RadProf[r]);
534 for(
int t=0;t<0;t++){
538 for(
int s=0;s<NGrid*NGrid;s++) PlotTmp[s] = PlotMin[s];
540 for(
int s=0;s<NGrid*NGrid;s++) PlotTmp[s] = PlotThin[s];
542 FILE *FMinDist = fopen(
"HeiAngMinDist.dat",
"w");
543 FILE *FThin = fopen(
"HeiAngThin.dat",
"w");
544 for(
int f=NFile[0];f<NFile[1];f++){
545 double Angle = AngList[f];
546 double Hei = HeiList[f];
547 fprintf(FMinDist,
"%lf %lf %lf\n",Hei,Angle,PlotMin[f]);
548 fprintf(FThin,
"%lf %lf %lf\n",Hei,Angle,PlotThin[f]);
562 double *Distr = (
double *)calloc(NBin,
sizeof(
double));
563 double *DistrRadAv = (
double *)calloc(NBin,
sizeof(
double));
564 double *DistrRad = (
double *)calloc(NBin,
sizeof(
double));
565 double *VolContr = (
double *)calloc(NBin,
sizeof(
double));
567 double FNormaInv = 1./(double)(
NFile[1]-
NFile[0]);
572 if(
OpenRisk(cFile[f],BF_CHAIN))return ;
575 for(
int v=0;v<NBin;v++)
576 DistrRadAv[v] += DistrRad[v];
580 double NormF = NFile[1] - NFile[0];
581 for(
int v=0;v<NBin;v++){
582 DistrRadAv[v] /= VolContr[v]*NormF;
583 Distr[v] /= VolContr[v]*NormF;
588 FILE *File2Write = fopen(FileName,
"w");
589 for(
int v=0;v<NBin;v++){
590 fprintf(File2Write,
"%lf %lf\n",v*BoxRadInv,DistrRadAv[v]*FNormaInv);
594 File2Write = fopen(FileName,
"w");
595 for(
int v=0;v<NBin;v++){
596 fprintf(File2Write,
"%lf %lf\n",v*AreaMean/(
double)NBin,Distr[v]*FNormaInv);
605 printf(
"CGAL libraries not implemented\n");
CHAIN * Ch
Information on all chains.
void SysDef(char *cSystem)
Print a string with the system definitions.
bool OpenRisk(char *InFile, int BF)
Opens a file without reallocationg.
BLOCK * Block
Information for every block.
void AreaDistr(double *Distr, double *RadDistr, int NSample)
Calculate the (temporal/radial) area distribution.
void FillWeightGauss(double *st, int *WIndex, int NWeight, double CutOff, double Sigma)
Fill the weight array with a gaussian fuction.
NANO * Nano
Extra particle.
double Hamaker
Strength of the interaction.
bool Write(char *OutFile)
Writes a "system-file" or a "x y z" file".
Geometrical operations on vectors.
int BfDefChain()
Definition of the chain.
double pInvEdge(int d)
Inverted xyzr edges of the simulation box.
void AreaDistrF(int NBin)
Distribution of the areas around the protein.
double Height
Height of the cylinder.
void StalkLineProfF(int NBin)
Write the line describing a linear stalk.
int pType(int p)
Return the type.
double pCm(int d)
Center of mass of the system.
int CLat2
lateral coordinate
double Pos[3]
xyz Position of the particle
double * x
Where the data are stored.
bool Open(char *InFile, int BF)
Open the.
void ConvoluteMatrix(double *Plot, int NGrid, int NDim, int IfMinImConv)
Convolute with a matrix.
Information of every chain.
int WormF(int Partition, int NBin)
Density profile of a non straight worm shape membrane worm.
void RadNormPos(int NBin, int NGrid)
Radial profile of the normal position of the particles.
int Angle(int NBin)
Calculation of the contact angle angle Boh?
double pNanoPos(int n, int d)
Return back folded nano position.
double pEdge(int d)
xyzr edges of the simulation box
int pNPCh()
Number of particle per chain.
int pNBlock()
Number of blocks.
int Worm(int Partition, int NSample, double *Border, double *dPoint)
Density profile along a worm like micelle.
void FillGaussian(double Sigma, double CutOff)
Fill the entries for the Gauss blur.
void Stalk(int NSample, int NLevel, double **Plot, double Threshold)
Following the contour of a stalk.
double Pos[4]
xyzr Postion of the chain
Matrice computes the algebric operations on matrices.
char * ChooseDraw(int ExtWhat2Draw)
Convert the internal definition for the menu of ElPoly in string.
Matematica * Mat
Implementation of all usefull algorythms.
int EndIdx
End particle position.
double pPos(int p, int d)
Return back folded position.
int pNChain()
Number of chain.
int NFile[2]
First and last file of the list.
double Angle(Vettore *u, Vettore *v)
Computes the angle between two Vetttore.
int CLat1
lateral coordinate
void Prova()
Dummy function to operate on a sequence of files.
int Temperature(int NBin, int Coord)
Spatial distribution of the temperature.
PART * Pm
Particle information of all particle.
int InterBSpline2D(double **PlIn, double **PmOut, int NIn, int NOut)
2-d BSpline
void StalkF(int NSample)
Separate the leaflets.
void Print()
Print the entries.
int NanoParticle(int NBin)
Diffusion and density profile around the nanoparticle nano.
void Set(double Val, int Col)
Set the N column.
void Processing(int f)
Information on the current file elaborated.
void VolumeCircSlab(double *VolContr, int NSample)
Fill an array of.
void SetEdge(double Val, int d)
Set Edge.
int CNorm
Normal coordinate.
void StalkLineProf(double *Line, int NBin)
Describe the line for a linear stalk.
int pNPart()
Number of particle.