30 void MenuChoise(
int option){
34 void MenuVisual(
int option){
39 int main(
int argc,
char **argv){
41 printf(
"Mi serve come argomento un file!\n");
44 int *FilePos = (
int *)calloc(argc,
sizeof(
int));
48 sprintf(cWhat2Draw,
"part");
49 sprintf(ConfF,
"Polymers.conf");
50 sprintf(Comando,
"ciccia");
61 int BackFold = BF_PART;
68 for(
int i=1;i<argc;i++){
69 if(argv[i][0] !=
'-'){
73 if(!strcmp(*(argv+i),
"--help")){
77 if(!strcmp(*(argv+i),
"-b")){
79 if(argc < i){printf(
"Which backfold?\n");
return 1;}
82 else if(!strcmp(*(argv+i),
"-bl")){
83 if(argc < i){printf(
"Which block?\n");
return 1;}
84 sscanf(argv[i+1],
"%d",&nBlock);
87 else if(!strcmp(*(argv+i),
"-c")){
88 if(argc < i){printf(
"Which normal coordinate?\n");
return 1;}
91 else if(!strcmp(*(argv+i),
"-cc")){
92 if(argc < i){printf(
"Which coordinate for the profile?\n");
return 1;}
93 sscanf(argv[i+1],
"%d",&CoordProfile);
96 else if(!strcmp(*(argv+i),
"-d")){
98 if(argc < i){printf(
"What to visualize?\n");
return 1;}
99 sscanf(argv[i+1],
"%s",&cWhat2Draw);
103 else if(!strcmp(*(argv+i),
"-f")){
104 if(argc < i+1){printf(
"Which files?\n");
return 1;}
107 else if(!strcmp(*(argv+i),
"-n")){
108 if(argc < i){printf(
"Which nanoparticle?\n");
return 1;}
109 sscanf(argv[i+1],
"%d",&nNano);
112 else if(!strcmp(*(argv+i),
"--normalize")){
114 else if(!strcmp(*(argv+i),
"-p")){
115 if(argc < i){printf(
"Which value for the paramter?\n");
return 1;}
118 else if(!strcmp(*(argv+i),
"-s")){
119 if(argc < i){printf(
"How many samples?\n");
return 1;}
120 sscanf(argv[i+1],
"%d",&NSample);
123 else if(!strcmp(*(argv+i),
"--scale")){
124 if(argc < i){printf(
"What scale?\n");
return 1;}
127 else if(!strcmp(*(argv+i),
"--scalez")){
128 if(argc < i){printf(
"What scale?\n");
return 1;}
131 else if(!strcmp(*(argv+i),
"--skip")){
132 if(argc < i){printf(
"How many chains to skip?\n");
return 1;}
135 else if(!strcmp(*(argv+i),
"--Shift")){
138 else if(!strcmp(*(argv+i),
"-v")){
139 if(argc < i){printf(
"How many values?\n");
return 1;}
140 sscanf(argv[i+1],
"%d",&NBin);
143 else if(!strcmp(*(argv+i),
"-x")){
146 else if(!strncmp(*(argv+i),
"--",2)){
147 sprintf(Comando,
"%s",argv[i]+2);
153 Dat->
DefSoft(argv[FilePos[0]],ConfF);
156 Pol =
new ElPoly(NFile,argv,FilePos);
157 for(
int i=1;i<argc;i++){
158 if(!strcmp(*(argv+i),
"-b")){
160 if(argc < i){printf(
"Which backfold?\n");
return 1;}
161 sscanf(argv[i+1],
"%s",sBf);
162 if(!strcmp(sBf,
"part"))
164 else if(!strcmp(sBf,
"no"))
166 else if(!strcmp(sBf,
"chain"))
168 else if(!strcmp(sBf,
"skip"))
170 else if(!strcmp(sBf,
"nano"))
172 else if(!strcmp(sBf,
"tilt"))
175 printf(
"Backfold not recognized set to chain\n");
181 else if(!strcmp(*(argv+i),
"-c")){
182 if(argc < i){printf(
"Which normal coordinate?\n");
return 1;}
183 sscanf(argv[i+1],
"%d",&Coord);
187 else if(!strcmp(*(argv+i),
"--normalize")){
188 Pol->SetIfNormalize(1);
190 else if(!strcmp(*(argv+i),
"-f")){
193 if(argc < i+1){printf(
"Which files?\n");
return 1;}
194 sscanf(argv[i+1],
"%d",&InitFile);
195 sscanf(argv[i+2],
"%d",&EndFile);
199 else if(!strcmp(*(argv+i),
"-p")){
200 if(argc < i){printf(
"Which value for the paramter?\n");
return 1;}
201 sscanf(argv[i+1],
"%lf",Param);
206 else if(!strcmp(*(argv+i),
"--Ref")){
207 double RefPos[3] = {.0,.0,.0};
208 double ShiftPos[3] = {.0,.0,.0};
210 for(
int d=0;d<3;d++){
211 sscanf(*(argv+d+i+1),
"%lf",RefPos+d);
212 ShiftPos[d] = RefPos[d] - .5;
218 else if(!strcmp(*(argv+i),
"-s")){
219 Pol->
NEdge = NSample;
222 else if(!strcmp(*(argv+i),
"--scale")){
224 if(argc < i){printf(
"What scale?\n");
return 1;}
225 for(
int d=0;d<3;d++){
226 sscanf(*(argv+d+i+1),
"%lf",Scale+d);
231 else if(!strcmp(*(argv+i),
"--scalez")){
233 if(argc < i){printf(
"What scale?\n");
return 1;}
234 sscanf(argv[i+1],
"%lf",&Scale);
238 else if(!strcmp(*(argv+i),
"--skip")){
239 if(argc < i){printf(
"How many lipid to skip in the visualisation?\n");
return 1;}
241 sscanf(argv[i+1],
"%d",&NSkip);
245 else if(!strcmp(*(argv+i),
"--Shift")){
246 double ShiftPos[3] = {.0,.0,.0};
248 for(
int d=0;d<3;d++){
249 sscanf(*(argv+d+i+1),
"%lf",ShiftPos+d);
255 else if(!strcmp(*(argv+i),
"-S")){
256 int Shift = SHIFT_NO;
258 if(argc < i){printf(
"Which shift?\n");
return 1;}
259 sscanf(argv[i+1],
"%s",sBf);
260 if(!strcmp(sBf,
"cm"))
262 else if(!strcmp(sBf,
"nano"))
264 else if(!strcmp(sBf,
"cm_nano"))
267 printf(
"shift not recognized set to no\n");
274 Pol->
Open(argv[FilePos[0]],BackFold);
275 if(!IfUser)sprintf(Pol->
cWhat2Draw,
"%s",cWhat2Draw);
276 char cSystem1[STRSIZE];
277 char cSystem2[STRSIZE];
280 printf(
"------------------------------------------------------\n");
281 printf(
"%s NFile %d\n%s\n",cSystem1,NFile,cSystem2);
282 printf(
"------------------------------------------------------\n");
283 while(strcmp(Comando,
"q")){
288 if(!strcmp(Comando,
"d")){
292 printf(
"Graphics libraries (GL/glut.h) not supplied\n");
295 else if(!strcmp(Comando,
"?") ){
298 else if(!strcmp(Comando,
"!") ){
299 printf(
"Insert a shell command: ");
303 else if(!strcmp(Comando,
"dens")){
305 if(!IfUser)
return 0;
307 else if(!strcmp(Comando,
"3to2")){
309 if(!IfUser)
return 0;
311 else if(!strcmp(Comando,
"3to1")){
313 if(!IfUser)
return 0;
315 else if(!strcmp(Comando,
"2to1")){
317 if(!IfUser)
return 0;
319 else if(!strcmp(Comando,
"pro")){
321 if(!IfUser)
return 0;
323 else if(!strcmp(Comando,
"core")){
324 Pol->
CoreF(NSample,0);
325 if(!IfUser)
return 0;
327 else if(!strcmp(Comando,
"coreNano")){
328 Pol->
CoreF(NSample,1);
329 if(!IfUser)
return 0;
331 else if(!strcmp(Comando,
"RadShell")){
333 if(!IfUser)
return 0;
335 else if(!strcmp(Comando,
"angle")){
337 if(!IfUser)
return 0;
339 else if(!strcmp(Comando,
"SlabProf")){
340 Pol->
SlabProf(NBin,nNano,CoordProfile);
341 if(!IfUser)
return 0;
343 else if(!strcmp(Comando,
"SlabAngleProfs")){
345 if(!IfUser)
return 0;
347 else if(!strcmp(Comando,
"CartDens")){
349 if(!IfUser)
return 0;
351 else if(!strcmp(Comando,
"radNano")){
353 if(!IfUser)
return 0;
355 else if(!strcmp(Comando,
"radCm")){
357 if(!IfUser)
return 0;
359 else if(!strcmp(Comando,
"radCmN")){
361 if(!IfUser)
return 0;
363 else if(!strcmp(Comando,
"radStalk")){
365 if(!IfUser)
return 0;
367 else if(!strcmp(Comando,
"radPore")){
369 if(!IfUser)
return 0;
371 else if(!strcmp(Comando,
"cartNano")){
373 if(!IfUser)
return 0;
375 else if(!strcmp(Comando,
"BondDistr")){
377 if(!IfUser)
return 0;
379 else if(!strcmp(Comando,
"SplayDistr")){
381 if(!IfUser)
return 0;
383 else if(!strcmp(Comando,
"cm")){
385 if(!IfUser)
return 0;
387 else if(!strcmp(Comando,
"Dens2Thick")){
389 if(!IfUser)
return 0;
391 else if(!strcmp(Comando,
"Dens2Thick2d")){
393 if(!IfUser)
return 0;
395 else if(!strcmp(Comando,
"ThickFromDens")){
397 if(!IfUser)
return 0;
399 else if(!strcmp(Comando,
"temp")){
401 if(!IfUser)
return 0;
403 else if(!strcmp(Comando,
"nano")){
405 if(!IfUser)
return 0;
407 else if(!strcmp(Comando,
"surf")){
409 if(!IfUser)
return 0;
411 else if(!strcmp(Comando,
"diff")){
413 if(!IfUser)
return 0;
415 else if(!strcmp(Comando,
"DiffSlab")){
417 if(!IfUser)
return 0;
419 else if(!strcmp(Comando,
"PairCorr")){
421 if(!IfUser)
return 0;
423 else if(!strcmp(Comando,
"pairMon")){
425 if(!IfUser)
return 0;
427 else if(!strcmp(Comando,
"pairChain")){
429 if(!IfUser)
return 0;
431 else if(!strcmp(Comando,
"pairRound")){
433 if(!IfUser)
return 0;
435 else if(!strcmp(Comando,
"pairSquare")){
437 if(!IfUser)
return 0;
439 else if(!strcmp(Comando,
"pairPep")){
441 if(!IfUser)
return 0;
443 else if(!strcmp(Comando,
"AvSnap")){
445 if(!IfUser)
return 0;
447 else if(!strcmp(Comando,
"scatt")){
449 if(!IfUser)
return 0;
451 else if(!strcmp(Comando,
"scatt2")){
453 if(!IfUser)
return 0;
455 else if(!strcmp(Comando,
"worm")){
457 if(!IfUser)
return 0;
459 else if(!strcmp(Comando,
"header")){
461 if(!IfUser)
return 0;
463 else if(!strcmp(Comando,
"spe")){
466 if(!IfUser)
return 0;
468 else if(!strcmp(Comando,
"RadNormPos")){
470 if(!IfUser)
return 0;
472 else if(!strcmp(Comando,
"AreaDistr")){
474 if(!IfUser)
return 0;
476 else if(!strcmp(Comando,
"mid")){
478 if(!IfUser)
return 0;
480 else if(!strcmp(Comando,
"midSpe")){
482 if(!IfUser)
return 0;
484 else if(!strcmp(Comando,
"prop")){
486 if(!IfUser)
return 0;
488 else if(!strcmp(Comando,
"divOpp")){
490 if(!IfUser)
return 0;
492 else if(!strcmp(Comando,
"divTube")){
494 if(!IfUser)
return 0;
496 else if(!strcmp(Comando,
"divVes")){
498 if(!IfUser)
return 0;
500 else if(!strcmp(Comando,
"AreaCompr")){
502 if(!IfUser)
return 0;
504 else if(!strcmp(Comando,
"PTrace")){
506 if(!IfUser)
return 0;
508 else if(!strcmp(Comando,
"PRadial")){
510 if(!IfUser)
return 0;
512 else if(!strcmp(Comando,
"Tens")){
514 if(!IfUser)
return 0;
516 else if(!strcmp(Comando,
"TensCartRad")){
518 if(!IfUser)
return 0;
520 else if(!strcmp(Comando,
"SumTens")){
523 if(!IfUser)
return 0;
525 else if(!strcmp(Comando,
"Prova")){
527 if(!IfUser)
return 0;
529 else if(!strcmp(Comando,
"stalk")){
531 if(!IfUser)
return 0;
533 else if(!strcmp(Comando,
"StalkLine")){
535 if(!IfUser)
return 0;
537 else if(!strcmp(Comando,
"BackBone")){
538 double *Line =
new double[NBin];
540 if(!IfUser)
return 0;
542 else if(!strcmp(Comando,
"rem")){
544 if(!IfUser)
return 0;
546 else if(!strcmp(Comando,
"ChPos")){
547 FILE *FWrite = fopen(
"ChainPos.dat",
"w");
548 for(
int c=0;c<Pol->
pNChain();c++){
549 fprintf(FWrite,
"%lf %lf %lf\n",Pol->
Ch[c].
Pos[0],Pol->
Ch[c].
Pos[1],Pol->
Ch[c].
Pos[2]);
552 if(!IfUser)
return 0;
554 else if(!strcmp(Comando,
"tra")){
556 Pol->
Write(
"transformed.dat");
557 if(!IfUser)
return 0;
559 else if(!strcmp(Comando,
"xyz")){
561 if(!IfUser)
return 0;
563 else if(!strcmp(Comando,
"ConvLattice")){
565 if(!IfUser)
return 0;
567 else if(!strcmp(Comando,
"write")){
568 Pol->
Write(
"resume.dat");
569 if(!IfUser)
return 0;
571 else if(!strcmp(Comando,
"WidomOut")){
574 if(!IfUser)
return 0;
576 else if(!strcmp(Comando,
"WidomIn")){
579 if(!IfUser)
return 0;
581 else if(!strcmp(Comando,
"End2End")){
583 if(!IfUser)
return 0;
585 else if(!strcmp(Comando,
"ElCoup")){
587 if(!IfUser)
return 0;
589 else if(!strcmp(Comando,
"ElCoupNVT")){
591 if(!IfUser)
return 0;
593 else if(!strcmp(Comando,
"E2EDec")){
595 if(!IfUser)
return 0;
597 else if(!strcmp(Comando,
"SmoothGrid")){
599 if(!IfUser)
return 0;
601 else if(!strcmp(Comando,
"IsoSurf")){
602 Pol->
IsoSurf(NSample,Param,NParam);
603 if(!IfUser)
return 0;
605 else if(!strcmp(Comando,
"IsoLine")){
607 double OldParam = Param[0];
608 for(
int p=0;p<NParam;p++){
609 Param[p] = OldParam*p/(double)(NParam);
611 Pol->
IsoLine(NSample,Param,NParam,0);
612 if(!IfUser)
return 0;
614 else if(!strcmp(Comando,
"IsoLineDens")){
615 Pol->
IsoLine(NSample,Param,NParam,1);
616 if(!IfUser)
return 0;
618 else if(!strcmp(Comando,
"FPore")){
620 if(!IfUser)
return 0;
622 else if(!strcmp(Comando,
"FStalk")){
624 if(!IfUser)
return 0;
626 else if(!strcmp(Comando,
"AStalk")){
628 if(!IfUser)
return 0;
630 else if(!strcmp(Comando,
"Shift2Center")){
632 if(!IfUser)
return 0;
634 else if(!strcmp(Comando,
"AvSnap")){
636 if(!IfUser)
return 0;
638 else if(!strcmp(Comando,
"DirDec")){
640 if(!IfUser)
return 0;
642 else if(!strcmp(Comando,
"BilDist")){
644 if(!IfUser)
return 0;
646 else if(!strcmp(Comando,
"Bond")){
648 if(!IfUser)
return 0;
650 else if(!strcmp(Comando,
"Diff2Dens")){
652 if(!IfUser)
return 0;
654 else if(!strcmp(Comando,
"Diff2Pre")){
656 if(!IfUser)
return 0;
658 else if(!strcmp(Comando,
"RestPre")){
660 if(!IfUser)
return 0;
662 else if(!strcmp(Comando,
"tecplotDens")){
664 if(!IfUser)
return 0;
666 else if(!strcmp(Comando,
"tecplotPre")){
668 if(!IfUser)
return 0;
670 else if(!strcmp(Comando,
"tecplotHei")){
672 if(!IfUser)
return 0;
674 else if(!strcmp(Comando,
"rzd")){
676 if(!IfUser)
return 0;
678 else if(!strcmp(Comando,
"xyzd")){
680 if(!IfUser)
return 0;
682 else if(!strcmp(Comando,
"vmd")){
684 if(!IfUser)
return 0;
686 else if(!strcmp(Comando,
"povray")){
688 if(!IfUser)
return 0;
690 else if(!strcmp(Comando,
"coord")){
691 printf(
"Enter coordinate number [0 2] or radius [3]: ");
693 if(Coord < 0 || Coord > 3){
694 printf(
"Value not valid, coord set to 0\n");
697 if(!IfUser)
return 0;
699 else if(!strcmp(Comando,
"norm")){
700 printf(
"Enter the direction of the normal: ");
703 if(Temp >= 0 && Temp < 3){
709 if(!IfUser)
return 0;
711 else if(!strcmp(Comando,
"type")){
712 int NChType = CHAIN_EVERY;
713 printf(
"up %d down %d flabby %d stretch %d added %d every %d: ",CHAIN_UP,CHAIN_DOWN,CHAIN_FLABBY,CHAIN_STRETCH,CHAIN_ADDED,CHAIN_EVERY);
714 scanf(
"%d",&NChType);
715 if(NChType != CHAIN_UP && NChType != CHAIN_DOWN && NChType != CHAIN_FLABBY && NChType != CHAIN_STRETCH && NChType != CHAIN_ADDED && NChType != CHAIN_EVERY){
716 printf(
"Value not valid, type set to %d\n",CHAIN_EVERY);
717 NChType = CHAIN_EVERY;
720 if(!IfUser)
return 0;
722 else if(!strcmp(Comando,
"file")){
724 if(!IfUser)
return 0;
726 else if(!strcmp(Comando,
"val")){
727 printf(
"Number bins (NBin) :");
729 if(!IfUser)
return 0;
731 else if(!strcmp(Comando,
"Nei")){
733 if(!IfUser)
return 0;
735 else if(!strcmp(Comando,
"sample")){
737 if(!IfUser)
return 0;
739 else if(!strcmp(Comando,
"open")){
741 printf(
"New file name: ");
743 sprintf(InFile,Comando);
745 if(!IfUser)
return 0;
747 else if(!strcmp(Comando,
">")){
752 if(quando >=0 && quando < NFile){
754 printf(
"Opening: %s\n",argv[FilePos[quando]]);
756 if(!IfUser)
return 0;
758 else if(!strcmp(Comando,
"<")){
763 if(quando >=0 && quando < NFile){
765 printf(
"Opening: %s\n",argv[FilePos[quando]]);
767 if(!IfUser)
return 0;
769 else if(!strcmp(Comando,
"f")){
770 printf(
"Open file num 0-%d: ",NFile);
772 if( quando >= 0 && quando < NFile){
775 if(!IfUser)
return 0;
777 else if(!strcmp(Comando,
"info")){
778 printf(
"------------------------------------------------------\n");
779 char cSystem[STRSIZE];
781 printf(
"%s\n",cSystem);
783 printf(
"%s\n",cSystem);
785 else if(!strcmp(Comando,
"q") ){
786 if(!IfUser)
return 0;
789 printf(
"Comando non valido, scrivere ?\ 790 per la lista dei comandi\n");
794 printf(
"Te se qe te ve be te ne?\n");
805 void ParticleRealTime(){
809 void keyboard(
unsigned char key,
int x,
int y){
812 void mouse(
int button,
int state,
int x,
int y){
821 *****************************************************************\n\ 823 ) Program that reads and elaborate a spefic file format (\n\ 824 ( the option are the following, Needs a input file )\n\ 826 (-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-)\n\ 827 ( d draw the 3D position of the particle )\n\ 828 ( ! execute a shell command )\n\ 830 ( dens density of the [coord] coordinate for the [file] )\n\ 831 ( pro calculate the projection long [coord] )\n\ 832 ( core spatial average sample on NBin bin )\n\ 833 ( surf ratio between the actual surcafe and the circular )\n\ 834 ( core three dimentional sampled average of the system )\n\ 835 ( diff diffusivity of the extra particle )\n\ 836 ( > < open the file form the list position )\n\ 837 ( cm movement of the center of mass of the system )\n\ 838 ( file number of file to use from the list )\n\ 840 ( val number of values for the density profile )\n\ 841 ( radShell average the outer shell of a drop )\n\ 842 ( radCm normal and radial density wrt the center of mass )\n\ 843 ( radCmN normal wrt to the center of mass, radial to the nano )\n\ 844 ( radNano normal and radial density wrt the Nano )\n\ 845 ( temp Temperature profile along a direction )\n\ 846 ( nano density and diffisivity of the nano in the membrane )\n\ 847 ( surf sampling and averaging a surface )\n\ 848 ( pairMon pair correlation function of the monomers )\n\ 849 ( pairChain pair correlation function of the chains )\n\ 850 ( pairRound radial pair correlation function )\n\ 851 ( scatt scattering og the membrane )\n\ 852 ( scatt2 alternative formulation )\n\ 853 ( worm projecting the density of the system on the local norma)\n\ 854 ( header averaging the values written on the header )\n\ 855 ( spe calculating the spectrum )\n\ 856 ( mid sampling the membrane in midplanes )\n\ 857 ( prop calculating some characteristic properties of the chain)\n\ 858 ( Area calculating the area compressibility )\n\ 862 *****************************************************************\n");
void RadDens2Thick2d(int NBin)
Calculate the thickness from the radial density profile.
CHAIN * Ch
Information on all chains.
void SetScaleF(double *Scale)
Set scale factor.
void SpectrumMidplane(int NBin)
Calculates the 1d, 2d spectrum spe.
void RenderPart(void)
Choose the visualisation (obsolete)
void Conv2Povray()
esport the data in pov file format for rendering
void SetBoundFile(int InitFile, int EndFile)
Set the initial and final number of files.
void Conv2xyzd(int NSample)
esport the data in radius depth density file format
int Diffusivity()
Diffusivity coefficient of the chains diff.
void Menu()
Creates the menu.
int PressTrace()
Trace of the pressure profile.
void DrRunTime()
Draws in run time (expensive)
void SysDef(char *cSystem)
Print a string with the system definitions.
void IsoLine(int NSample, double *IsoValue, int NIso, int How)
Calculate the discrete density of the system and the correspondent isolines.
void ThickFromDens(int NBin)
Calculate the thickness profile from the density plot.
void Midplane(int NBin)
Midplanes for a sequence of snapshots.
void SysInfo(char *cSystem)
Print a string with the system information.
int Graphics(int argc, char **argv)
Boh.
int Tens2dCartRad()
Change the pressure profile from cartesian to radial.
void keyboard(unsigned char key, int x, int y)
Draws all the particles and bonds.
void BilayerDistance(char *OutFile, int NBin)
Measure the elastic coupling between the two sheets.
int OpenFile(int f)
Opens the f file of the list open.
bool Write(char *OutFile)
Writes a "system-file" or a "x y z" file".
int CenterOfMass(int Coord)
Averaged center of mass Boh.
char cWhat2Draw[STRSIZE]
What to draw.
void ElMenuVisual(int option)
Choose what to visualize.
void RemoveChains()
Remove chains satisfying a condition.
void AreaDistrF(int NBin)
Distribution of the areas around the protein.
void StalkLineProfF(int NBin)
Write the line describing a linear stalk.
int NChType
Type of chain selected.
int PressRadial()
Contour plot around the inclusion.
int CLat2
lateral coordinate
void Decoupling(int What)
Decoupling of the direction/end to end distance of the chains.
int ScatteringF(int NBin, int How)
2d Scattering scatt scatt2
int Diff2Files(int NBin, int How)
Density and thickness profile arond the nanoparticle.
void AreaCompr(int NSample)
Calculates the number of chain per area area.
void SumTens()
Sum more tension profile files.
double ScaleFact
Normal scaling factor (z zooming)
void DivideLayers(int How)
Reorder the LIPID block in four different layers.
void Sample(int NSample)
Sample the space in NSample lattice points.
bool Open(char *InFile, int BF)
Open the.
void PairCorr(int NBin, int NDim)
1d pair correlation
void SetShiftPos(double *RefPos)
Set reference pos.
void FindNeighbours(char *FileName)
Find the couples of most neighbouring chains.
void HeaderAverage(int nNano)
Read the header and average the information.
int WormF(int Partition, int NBin)
Density profile of a non straight worm shape membrane worm.
void WidomOut(char *InFile, int NBin)
Create a system file with a chain less and the information about the missing chain.
void RadNormPos(int NBin, int NGrid)
Radial profile of the normal position of the particles.
void RadDistrF(int NBin, int How, int nNano)
3d (rad,norma,dens) density profile with respect to a initial position radNano radCm radCmN ...
int Angle(int NBin)
Calculation of the contact angle angle Boh?
int SurfTens(int NBin)
Radial summation of the 3d tension profile.
int From3To2d(int Coord, double Param)
Project the velocities of a 3d system on a 2d system wrt a coordinate.
void WidomIn(char *InFile, int NBin)
Create the histogram of the energy of adding lipids.
void BondDistr(int NSample)
Distribution of the bond lengths.
void ElDrawMouse(int button, int state, int x, int y)
Scaling.
void RestPress(int NBin)
Pressure difference between the virial and the ideal gas term.
void SlabAngleProfs(int NBin, int NAngle, int Coord)
Radial profiles of the slab density between 0⁰ and 90⁰ subdivided in NAngle angles.
void AvSnap()
Average the postion of the lipids over many snapshots.
void FetchPore()
Write the position of the pore for every snapshot.
int CoreF(int NBin, int How)
Sampling of the three dimentional space.
void SetNVisSkip(int NSkip)
Set backfold type.
void BackBone(double *Line, int NBin)
Describe the backbone of a filament.
int SpectrumF(int NBin)
Calculates the 1d, 2d spectrum spe.
int NEdge
Number of particles per edge.
int ChangeFile()
Defines the first and the last file to be elaborated file.
void FetchStalk()
Write the position of the stalk for every snapshot.
int DensProf(int NBin, int NSample, int Coord)
Calculate the density profile dens.
int PropertiesF()
Calculates some properties of the system prop.
double ExtParam
External parameter (e.g. for MarchingCubes)
bool ShiftSys(int How)
Shift the system accordin to the SHIFT_ definitions.
void ElasticCouplingNVT()
Measure the elastic coupling between the two sheets.
void DiffSlab(int NSlab)
Diffusivity of particles starting from an initial slab.
void RadDens2Thick(int NBin)
Calculate the thickness from the radial density profile.
void CartDens(int NBin, int nNano)
3d (rad,norma,dens) density profile in cartesian coordinates
int RadialShell(int NBin)
Outer shell of a projected (rad,normal) graph.
void SetBackFold(int Bf)
Set backfold type.
double Pos[4]
xyzr Postion of the chain
bool WriteXyz(char *OutFile)
Writes a "system-file" or a "x y z" file".
void End2EndDistr(char *OutFile)
Write the end to end distance of the chains.
int PairCorrelationF(int NBin, int How)
1d, 2d pair correlation of the chains pairRound pairSquare (obsolete)
void SetCNorm(int d)
Set Edge.
void ESlide()
Sequence of pictures.
void SmoothGrid(int NSample, char *FWrite)
Smooth a grid with BSplines.
void StalkArea()
Area of hydrophobic in the torus.
void ElasticCoupling(int NSample)
Measure the elastic coupling between the two sheets.
void ElMenuChoise(int option)
Choose what to visualize.
void Transform(int block)
Transform a block.
int pNChain()
Number of chain.
int From3To1d(int Coord)
Project a 3d system on one coordinate.
void Conv2rzd(int NSample)
esport the data in radius depth density file format
void IsoSurf(int NSample, double *IsoValue, int NIso)
Density plot all over different snapshots and calculation of the isolevel surface.
int CLat1
lateral coordinate
void Conv2Vmd()
esport the data in vmd file format
int DefSoft(char *nome2, char *ConfF)
Define and write the system as described in the conf file.
void Prova()
Dummy function to operate on a sequence of files.
void SplayDistr(int NSample)
Distribution of end to end distances.
int Surface(int NBin, int Coord)
Area of a surfuce projected on the coordinate Coord surf.
Reads and elaborates a system of chains.
int Temperature(int NBin, int Coord)
Spatial distribution of the temperature.
int ProjectionF(int NBin, int Coord)
Projection of the system against one direction pro.
void SlabProf(int NBin, int nNano, int Coord1)
Thickness and density profile along Coord1.
void StalkF(int NSample)
Separate the leaflets.
int NanoParticle(int NBin)
Diffusion and density profile around the nanoparticle nano.
void Conv2Tecplot(int NBin, int How)
Prepare a countor plot for tecplot.
int From2To1d(int Coord)
Projet a 2d system on one of the two coordinates.
int CNorm
Normal coordinate.
void ConvLattice(int NSample, char *FName)
Convert into a square lattice.
void Shift2Center()
Shift the system to the center.