Allink  v0.1
Public Types | Public Member Functions | Public Attributes | List of all members
ElPoly Class Reference

Operates and visualizes the information in the VarData class. More...

#include <ElPoly.h>

Inheritance diagram for ElPoly:
VarData

Public Types

typedef void(ElPoly::* DRAW_PART) (int p)
 Data type for distance/field functions.
 
typedef void(ElPoly::* DRAW_BOND) (double *Pos1, double *Pos2, float *Color)
 Data type for distance/field functions.
 
- Public Types inherited from VarData
typedef double(VarData::* NANO_DIST) (double *Pos, int n)
 Data type for distance/field functions.
 

Public Member Functions

 ElPoly (int argc, char **argv, int *FilePos)
 Constructor.
 
 ~ElPoly ()
 Desctructor.
 
int DensProf (int NBin, int NSample, int Coord)
 Calculate the density profile dens. More...
 
void DensProfNormalSlab (int NBin, int NSample, int Coord)
 Calculate the density profile projecting the particles on the normal density. More...
 
int Diff2Files (int NBin, int How)
 Density and thickness profile arond the nanoparticle.
 
void RestPress (int NBin)
 Pressure difference between the virial and the ideal gas term.
 
void SlabProf (int NBin, int nNano, int Coord1)
 Thickness and density profile along Coord1. More...
 
void PrintDens (FILE *FileToWrite, double **Plot, double *LatDim, int NBin)
 Print the density profile in the surfaces representation. More...
 
void RadDens2Thick (int NBin)
 Calculate the thickness from the radial density profile. More...
 
void RadDens2Thick2d (int NBin)
 Calculate the thickness from the radial density profile. More...
 
int Temperature (int NBin, int Coord)
 Spatial distribution of the temperature.
 
void CartDens (int NBin, int nNano)
 3d (rad,norma,dens) density profile in cartesian coordinates More...
 
void RadDistrF (int NBin, int How, int nNano)
 3d (rad,norma,dens) density profile with respect to a initial position radNano radCm radCmN More...
 
void BondDistr (int NSample)
 Distribution of the bond lengths. More...
 
void E2EDistr (int NSample)
 Distribution of end to end distances.
 
void SplayDistr (int NSample)
 Distribution of end to end distances. More...
 
int RadialShell (int NBin)
 Outer shell of a projected (rad,normal) graph.
 
int NanoParticle (int NBin)
 Diffusion and density profile around the nanoparticle nano.
 
int WormF (int Partition, int NBin)
 Density profile of a non straight worm shape membrane worm.
 
void StalkF (int NSample)
 Separate the leaflets.
 
void ThickFromDens (int NBin)
 Calculate the thickness profile from the density plot. More...
 
void AreaDistrF (int NBin)
 Distribution of the areas around the protein.
 
void RadNormPos (int NBin, int NGrid)
 Radial profile of the normal position of the particles.
 
int SurfTens (int NBin)
 Radial summation of the 3d tension profile.
 
void SumTens ()
 Sum more tension profile files.
 
int PressTrace ()
 Trace of the pressure profile.
 
int PressRadial ()
 Contour plot around the inclusion.
 
int Tens2dCartRad ()
 Change the pressure profile from cartesian to radial.
 
void StalkLineProfF (int NBin)
 Write the line describing a linear stalk. More...
 
void Prova ()
 Dummy function to operate on a sequence of files.
 
void PairCorr (int NBin, int NDim)
 1d pair correlation
 
int PairCorrelationF (int NBin, int How)
 1d, 2d pair correlation of the chains pairRound pairSquare (obsolete)
 
int Diffusivity ()
 Diffusivity coefficient of the chains diff.
 
void DiffSlab (int NSlab)
 Diffusivity of particles starting from an initial slab.
 
int ScatteringF (int NBin, int How)
 2d Scattering scatt scatt2
 
int NChainPSquareF ()
 Calculates the number of chain per area area.
 
void AreaCompr (int NSample)
 Calculates the number of chain per area area. More...
 
int SpectrumF (int NBin)
 Calculates the 1d, 2d spectrum spe.
 
void Midplane (int NBin)
 Midplanes for a sequence of snapshots.
 
void SpectrumMidplane (int NBin)
 Calculates the 1d, 2d spectrum spe.
 
void HeaderAverage (int nNano)
 Read the header and average the information.
 
void WidomOut (char *InFile, int NBin)
 Create a system file with a chain less and the information about the missing chain.
 
void WidomOut ()
 Create NCh systems with a chain less.
 
void WidomIn (char *InFile, int NBin)
 Create the histogram of the energy of adding lipids.
 
void WidomIn ()
 Create a set of files with a chain more.
 
void End2EndDistr (char *OutFile)
 Write the end to end distance of the chains.
 
void BondDistr (char *OutFile, int NBin)
 Write the bond distance between the monomers.
 
void Decoupling (int What)
 Decoupling of the direction/end to end distance of the chains.
 
void ElasticCoupling (int NSample)
 Measure the elastic coupling between the two sheets. More...
 
void ElasticCouplingNVT ()
 Measure the elastic coupling between the two sheets. More...
 
void BilayerDistance (char *OutFile, int NBin)
 Measure the elastic coupling between the two sheets.
 
void EndToEndDist ()
 Distribution of the end to end distances.
 
int ProjectionF (int NBin, int Coord)
 Projection of the system against one direction pro.
 
int CoreF (int NBin, int How)
 Sampling of the three dimentional space. More...
 
int Surface (int NBin, int Coord)
 Area of a surfuce projected on the coordinate Coord surf.
 
int From3To2d (int Coord, double Param)
 Project the velocities of a 3d system on a 2d system wrt a coordinate.
 
int From2To1d (int Coord)
 Projet a 2d system on one of the two coordinates.
 
int From3To1d (int Coord)
 Project a 3d system on one coordinate.
 
void IsoSurf (int NSample, double *IsoValue, int NIso)
 Density plot all over different snapshots and calculation of the isolevel surface.
 
void IsoLine (int NSample, double *IsoValue, int NIso, int How)
 Calculate the discrete density of the system and the correspondent isolines.
 
void IsoLine (FILE *F2Write, double *Plot, int NSample, double *IsoLevel, int NIso)
 Perform the marching cubes on a density plot and print the isolines.
 
void FetchStalk ()
 Write the position of the stalk for every snapshot. More...
 
void FetchPore ()
 Write the position of the pore for every snapshot.
 
void StalkArea ()
 Area of hydrophobic in the torus. More...
 
void AvSnap ()
 Average the postion of the lipids over many snapshots.
 
void SlabAngleProfs (int NBin, int NAngle, int Coord)
 Radial profiles of the slab density between 0⁰ and 90⁰ subdivided in NAngle angles. More...
 
void Sample (int NSample)
 Sample the space in NSample lattice points.
 
void Conv2Tecplot (int NBin, int How)
 Prepare a countor plot for tecplot.
 
void Conv2Vmd ()
 esport the data in vmd file format
 
void Conv2Povray ()
 esport the data in pov file format for rendering
 
void Conv2rzd (int NSample)
 esport the data in radius depth density file format
 
void Conv2xyzd (int NSample)
 esport the data in radius depth density file format
 
void DrField (int NGrid, double IsoLevel, int nNano, FILE *FWrite)
 Draw a scalar field.
 
void DrBondPovRay (double *Pos1, double *Pos2, float *Color)
 Draw the bonds.
 
void HeaderPovRay ()
 Print the header for povray.
 
void DrNanoPovRay (int n)
 PovRay draw function.
 
void DrPartPovRay (int p)
 PovRay draw function.
 
void ConvLattice (int NSample, char *FName)
 Convert into a square lattice.
 
void RemoveChains ()
 Remove chains satisfying a condition.
 
int Angle (int NBin)
 Calculation of the contact angle angle Boh?
 
double ContactAngle (double x)
 Definition of the contact angle function Boh.
 
int CenterOfMass (int Coord)
 Averaged center of mass Boh.
 
int ChangeFile ()
 Defines the first and the last file to be elaborated file.
 
int SpecifyCoord ()
 Defines the normal coordinate coord.
 
int OpenFile (int f)
 Opens the f file of the list open.
 
int OpenFile (char *FileName)
 Opens a file.
 
int PropertiesF ()
 Calculates some properties of the system prop.
 
char * ChooseDraw (int ExtWhat2Draw)
 Convert the internal definition for the menu of ElPoly in string.
 
void ChooseDraw (char *String)
 Assing the correct value of What2Draw from. More...
 
void DivideLayers (int How)
 Reorder the LIPID block in four different layers.
 
void SetBoundFile (int InitFile, int EndFile)
 Set the initial and final number of files.
 
void Processing (int f)
 Information on the current file elaborated.
 
void Shift2Center ()
 Shift the system to the center.
 
void SetBackFold (int Bf)
 Set backfold type.
 
void SetNVisSkip (int NSkip)
 Set backfold type.
 
void RenderPart (void)
 Choose the visualisation (obsolete)
 
void DrRunTime ()
 Draws in run time (expensive)
 
void DrColor ()
 Visualisation of the particle system with velocity color scheme.
 
void DrPartList ()
 Create a list of all the particles.
 
void DrVector (Vettore v, Vettore Origin)
 Draw a vector.
 
void DrVectors ()
 Draw the chains as vectors.
 
int DrIntorno (int p, double Blue)
 Visualize only particles within a certain distance.
 
void DrCrossLinks ()
 Visualize the cross links.
 
int Graphics (int argc, char **argv)
 Boh.
 
void ESlide ()
 Sequence of pictures.
 
void ESlide1 ()
 Sequence of pictures.
 
void DrProtein (const char *FileName, int nBlock)
 Load and draw the linking of a protein.
 
void DrNano ()
 Draw the nanoparticle structure.
 
void DrCrossLinks (char *FileName)
 Draw the cross linked particles.
 
void DrawPart (int p)
 Pointer to a generic function.
 
void DrPartOpenGl (int p)
 OpenGl draw function.
 
void DrawNano (int n)
 Pointer to a generic function.
 
void DrNanoOpenGl (int n)
 OpenGl draw function.
 
void DrawFuncHeader ()
 Assign the pointer to the corrispondent draw function, intilize the visualization.
 
void DrawFuncFooter ()
 Dnd the visualization.
 
void DrBond (int p)
 Finde the neighbour of the particle p and draw the bond.
 
void DrawBond (double *Pos1, double *Pos2, float *Color)
 Pointer to a generic function.
 
void DrBondNo (double *Pos1, double *Pos2, float *Color)
 Null function.
 
void DrBondOpenGl (double *Pos1, double *Pos2, float *Color)
 Draw the bonds.
 
void keyboard (unsigned char key, int x, int y)
 Draws all the particles and bonds.
 
void ElDrawMouse (int button, int state, int x, int y)
 Scaling.
 
void CompileList ()
 Compile the list with some useful primitives.
 
void DrPosCol ()
 Boh.
 
void Menu ()
 Creates the menu.
 
void ElMenuChoise (int option)
 Choose what to visualize.
 
void ElMenuVisual (int option)
 Choose what to visualize.
 
void CreateMenu ()
 Creates the menu.
 
void DrIsoipse (int NBin, int NIsoipse, int CoordN)
 Draws all the same quotes surfaces.
 
void DrSurface ()
 Draws the surface like a sheet using the chains position.
 
void DrSmooth (double *Plot, int NSample, double Min, double Max)
 Draw the surface in triangles.
 
void DrSample (int NSample)
 Samples the surface and draws it in triangles.
 
void DrSpectrum ()
 Calculate the spectrum of the surface and draws it in triangles.
 
void DrDerivative ()
 Samples the surface, applies a 2d matrix derivative and draws the surface in triangles.
 
void DrChains ()
 Position of every chain in hexagons.
 
void DrPolygon ()
 Every particle is traeted as a vertex.
 
void DrQuad ()
 Call a square in every particle position.
 
void DrDensity ()
 (rad,norm,dens) visualisation
 
void DrQuad1 ()
 Intensity scheme.
 
void DrPotential ()
 Potential function.
 
void DrShell ()
 Draw the outer shell.
 
void DrVoronoi ()
 Voronoi tassellation.
 
void DrInterpSurface ()
 Boh.
 
void DrIsolevel (int NSample, double IsoLevel)
 Defines the triangles at the boundaries of the density close to the IsoLevel value. More...
 
void DrField (int NGrid, double IsoLevel, int nNano)
 Draw a scalar field.
 
void DrSquareMesh ()
 Draw the polygons for a square mesh.
 
void DrNormalPoint (int p, int NEdge)
 Draw the normal to a point.
 
void DrTria (Vettore *v00, Vettore *v01, Vettore *v11, Vettore *vN)
 single triangle defined by three vectors
 
void DrTriaContour (Vettore *v00, Vettore *v01, Vettore *v11)
 Draw the contour of three vectors.
 
void DrDoubleTria (Vettore *v00, Vettore *v01, Vettore *v11, Vettore *v10, Vettore *vN)
 Double triangle defined by four vectors.
 
void DrCreateStalk ()
 Visualize the surface calculated in Stalk()
 
void DrStalk ()
 Visualize the surface from Stalk.xvl.
 
void Tile ()
 Cover a regular square grid of points with tiles.
 
void DrTriangulate ()
 Triangulate a surface.
 
void DrMesh ()
 Build a mesh from the lipid positions.
 
void DrGenMesh ()
 Generate a mesh from a function.
 
void DrCells ()
 Construct cells from the lipid positions.
 
void DefineSkin (int NSample)
 Find the covering surface for given points.
 
void DefineSurf ()
 Find the covering surface for given points.
 
- Public Member Functions inherited from VarData
 VarData ()
 Set the constants.
 
 ~VarData ()
 Destructor.
 
void VarMessage (const char *s,...)
 If enabled call the function position.
 
bool Open (char *InFile, int BF)
 Open the. More...
 
bool OpenRisk (char *InFile, int BF)
 Opens a file without reallocationg.
 
bool OpenTrust (char *InFile, int BF)
 Opens a file checking if the information are correct.
 
void AllocPart ()
 Alloc the structures.
 
void AllocChain ()
 Alloc the structures.
 
Properties SysProperties ()
 Calculate some basis properties.
 
void SysInfo (char *cSystem)
 Print a string with the system information.
 
void SysDef (char *cSystem)
 Print a string with the system definitions.
 
char * SysState ()
 Calculates fundamental quantities.
 
void SetCoeff ()
 Set the virial coefficients from the known values of density coex...
 
void SetCoeff (double *v2, double *v3)
 Set and normalize the virial coefficients from the arrays v2 and v3.
 
double TwoPartDist (int p1, int p2, double *RelDist)
 Return the relative distance between two particles (wrapped)
 
double TwoPartDist (double *Pos, int p2, double *RelDist)
 Return the relative distance between two particles (wrapped)
 
double TwoPartDist2 (int p1, int p2, double *RelDist)
 Return the relative distance between two particles (wrapped)
 
double TwoPartDist2 (double *Pos, int p2, double *RelDist)
 Return the relative distance between two particles (wrapped)
 
int TwoPartDist (int p1, int p2, double *RelDist, double CutOff)
 Return the relative distance between two particles (wrapped) if the particles are within the cut off.
 
int TwoPartDist (double *Pos, int p2, double *RelDist, double CutOff)
 Return the relative distance between two particles (wrapped) if the particles are within the cut off.
 
bool Write (char *OutFile)
 Writes a "system-file" or a "x y z" file".
 
bool WriteTxvl (char *OutFile)
 Writes a "system-file" or a "x y z" file".
 
bool WriteXvt (char *OutFile)
 Writes a "system-file" or a "x y z" file".
 
bool WriteXyz (char *OutFile)
 Writes a "system-file" or a "x y z" file".
 
void HeaderInteraction (FILE *FileToWrite)
 Header interactions.
 
void StringNano (char *NString, int n)
 String for the rigid inclusion in the header file.
 
int HeaderNano (FILE *FileToWrite)
 Write the nano section of the header to the file.
 
int HeaderSoft (char *Line)
 Header soft.
 
void WriteLinkedSurf (FILE *FWrite, double *Plot, int NSample, int NType, double *Bound, int *PId)
 Write the positions of the egdes of the rectangles.
 
void WriteSurf (FILE *F2Write, double **Plot, int NSample, int OffSet)
 Write the particle position as linked edges of squares.
 
void ShapeId (int iShape, char *Shape)
 Identifier of the shape.
 
bool BackFold (int How)
 Backfold the particle position.
 
int BfDefChain ()
 Definition of the chain.
 
int BfEdge ()
 Find the box size if missing.
 
void DistFromNp ()
 Define the distance form the nanoparticle.
 
void ShiftRef (int BackFold)
 Backfold the system wrt the reference position.
 
int StalkPos (double *OldPos)
 Find the position of the stalk.
 
void BfPep ()
 Backfold the nano described as a cluster of monomers.
 
void BackBone (double *Line, int NBin)
 Describe the backbone of a filament.
 
void StalkLineProf (double *Line, int NBin)
 Describe the line for a linear stalk.
 
void StalkPos2 (double *OldPos, double *CmStalk)
 Find the position of the stalk second method.
 
void StalkPos3 (double *OldPos, double *CmStalk)
 Find the position of the stalk third method.
 
int StalkPos4 (double *OldPos, double *CmStalk)
 Find the position of the stalk forth method.
 
double NormalWeight (VAR_TRIANGLE *Triang, double *Weight, int NGrid, int NTri)
 Weight of the neighblorung normal on a vertex.
 
void ConnectLineChain (VAR_LINE *Triang, int NGrid, int NTri)
 Connect the lines in a chain. More...
 
void ConnectLineChain2 (VAR_LINE *Triang, int NGrid, int NTri)
 Connect the lines in a chain. More...
 
void ConnectLineChain3 (VAR_LINE *Triang, int NGrid, int NTri)
 Connect the lines in a chain. More...
 
double PorePos ()
 Find the position of the pore.
 
int Fetch (char *str, char *mask, char *fmt,...)
 Retrive from a string the information concerning the mask.
 
int BraketPos (char *str, char *mask, int *sPos, int *sLen)
 Retrive from a string the position of the brakets.
 
int Fetch (char *str, char *mask, int NArg, double *Val)
 Retrive from a string the information concerning the mask.
 
bool ReadString (const char *String, char *cLine, double *Value)
 Copy the value in the. More...
 
bool ReadString (const char *String, double *Value, char *line)
 Copy the value in the. More...
 
bool ReadString (const char *String, char *cLine, int *Value)
 Copy the value in the. More...
 
int ReadVal (char *pLine, double *Value)
 Copy the value in the String to the Value referring to the position of pLine.
 
int ReadLineXvt (char *cLine, double *Pos, int *Type)
 Read a single line in format Xvt.
 
bool ReadConf (char *InFile)
 Reads a "configuration file".
 
void ReadHeader (FILE *FileToRead)
 Reads a header.
 
void ReadHeaderTxvl (FILE *FileToRead)
 Reads a header for a txvl file format.
 
void ReadHeaderXvt (FILE *FileToRead)
 Reads a header of xvl file format.
 
int ReadPart (FILE *FileToRead)
 Reads particle type and position.
 
int ReadPartTxvl (FILE *FileToRead)
 Reads a type-position-velocity-link file.
 
int ReadPartXvt (FILE *FileToRead)
 Reads a position-velocity-type file.
 
int ReadPartXyz (FILE *FileToRead)
 Reads a x y z file.
 
int ReadPartXyzt (FILE *FileToRead)
 Reads a x y z t file.
 
int ReadPassThru (FILE *FileToRead)
 Reads the information to alloc the structure.
 
int ReadSoft (FILE *ConfFile)
 Reads the specifications about the nano.
 
void ReadNano (FILE *ConfFile, int NCircle, int NHeight)
 Reads the specifications about the hard object.
 
int NanoString (char *cLine, int n)
 Reads and set the specifics of the nano.
 
void SubNanoHeader (char *cFile)
 Substitue the nano header.
 
int ShapeId (char *Shape)
 Identifier of the shape.
 
int DefSoft (char *nome2, char *ConfF)
 Define and write the system as described in the conf file.
 
int TrialSys ()
 Creates a trial system.
 
bool CreateSoft (int *arch, double Thickness, int s)
 Creates an initial system.
 
void CreateTube (int *arch, double Thickness, int s)
 Soft in a tube shape.
 
void CreatePlanar (int *arch, double Thickness, int s)
 planar membrane
 
void CreateVesicle (int *arch, double Thickness, int s)
 vesicle
 
void CreateCoating (int *arch, double Thickness, int s)
 coating around a cylindrical nanoparticle
 
void CreateObstacle (int *arch, double Thickness, int s)
 Creates obstacles.
 
int CheckNano (double *Pos, int s)
 No particle inside the nano.
 
void AddProtein (int NCircle, int NHeight, int nNano, char *filename)
 Defines the nanoparticle as a net of monomers.
 
void CreateProtein (int nNano, int nStart)
 Defines the nanoparticle as a net of monomers.
 
void AddStuffing (char *filename, int nStuffing, int nNano)
 Fill the protein with water.
 
void AddSolvent (char *filename, int nWater)
 Add phantom solvent at the bottom.
 
void AddChains (char *filename, double Thickness)
 Add homopolymer chains in the bilayer.
 
void AddCholesterol (char *filename, double Thickness, int s)
 Add cholesterol chains in the bilayer.
 
void DefBlock (int *NChStep, int How)
 Define four different blocks.
 
void DefRest (int *arch, int s)
 set the remaining information
 
int PutPart (int j, int p, int HalfLim, double sigma)
 return the number in the chain of the next particle put
 
void FindNeighbours (char *FileName)
 Find the couples of most neighbouring chains.
 
void SwapChain (int c1, int c2, int b)
 Swap two chains.
 
void SwapChain (int c1, int c2)
 Swap two cahins.
 
void SwapPart (int p1, int p2)
 Swap two particle.
 
void ChangeNChain (int NChain, int b)
 Update the new number of chains.
 
bool ShiftSys (int How)
 Shift the system accordin to the SHIFT_ definitions.
 
void SampleSurface (double *Plot, int NSample, int Type)
 Define a normal coordinate for every patch.
 
MOMENTI SampleSurfacePart (double *Plot, int NSample, int Type)
 Define a normal coordinate for every patch.
 
MOMENTI SampleSurface (Matrice *Plot, int NSample, int Type)
 Define a normal coordinate for every patch.
 
MOMENTI SampleSurfaceMem (int NSample)
 Allocate and fill PlotMem with the particle average position.
 
void LoadDensFile (double **Plot, int NBin)
 Load in the array Plot the density of the system.
 
int SpatialDerivative (Matrice *Surface, Matrice *Resp, SPLINE Weight, int NSample)
 Perform a spatial derivative on a surface.
 
void ShiftBlock (Vettore *Shift, int b)
 Shift a block wrt to Shift.
 
void RotateBlock (Vettore *Axis, Vettore *Origin, int b)
 Rotate a block wrt to the Axis from the Origin.
 
void MirrorBlock (Vettore *Px1, Vettore *Px2, Vettore *Px3, int b)
 Mirror the position wrt to a plane.
 
void Transform (int block)
 Transform a block.
 
void Point2Shape (int iShape)
 Point to the shape function.
 
double NanoDist2 (double *Pos, int n)
 Pointer to a generic function.
 
double NanoDist2 (double x, double y, double z, int n)
 Distance from the nanoparticle.
 
double FieldNo (double *Pos, int n)
 No field.
 
double FieldSphere (double *Pos, int n)
 Scalar field of a sphere.
 
double FieldElips (double *Pos, int n)
 Scalar field of a elipsoid.
 
double FieldParab (double *Pos, int n)
 Scalar field of a elipsoid.
 
double FieldCyl (double *Pos, int n)
 Scalar field of a cylinder.
 
double FieldTransMem (double *Pos, int n)
 Scalar field of a transmembrane protein.
 
double FieldJanus (double *Pos, int n)
 Scalar field of a janus peptide.
 
double FieldTorus (double *Pos, int n)
 Scalar field of a janus peptide.
 
double FieldTilt (double *Pos, int n)
 Scalar field of a tilted cylinder.
 
double FieldBound (double *Pos, int n)
 Scalar field of a hard wall at the box edges.
 
double FieldTiltWall (double *Pos, int n)
 Scalar field of a tilted cylinder.
 
int PairCorrelation (double *Point, int NSample, int How, int Type)
 1-d pair correlation
 
int PairCorrelationRound (double **Point, int NSample, int Type)
 Circular 2-d pair correlation.
 
int PairCorrelationSquare (double **Point, int NSample, int Type)
 2-d pair correlation on a square
 
int PairCorrelationPep (double **Point, int NSample, int Type)
 2-d pair correlation on a square fererring to the pep position
 
int Scattering2d (double **Point, int NSample, int Type)
 2-d Scattering
 
int Scattering2D (double **Point, int NSample, int Type)
 2-d scattering
 
void Spettro2d (double *Points, int NSample, int Type)
 1-d spectrum of a surface
 
void Spettro2d (double *Plot, int NSample)
 2-d spectrum of a sirface
 
int DensityProfile (int coord, int NSample, int NType, double *dDensity)
 Calculate the density profile for the x, y, z, r coordinate. More...
 
int Core (double ***Plot, int NSample, double Border[3][2])
 Sampled three dimentional weighted shape of the system.
 
int RadDistr (int NSample, double *Plot, double Border[2], int How)
 rzd representation of the system referring to More...
 
int Worm (int Partition, int NSample, double *Border, double *dPoint)
 Density profile along a worm like micelle.
 
void VolumeCircSlab (double *VolContr, int NSample)
 Fill an array of. More...
 
void Stalk (int NSample, int NLevel, double **Plot, double Threshold)
 Following the contour of a stalk.
 
int Arrange (int **Triangle, int Vertex)
 The naerest. More...
 
int Folding ()
 Boh...
 
int OrderPos ()
 A cell list to be fixed.
 
int CalcnPos (double *Pos)
 return a univocal index of the chain position
 
int Neighbour (double *Pos)
 Boh.
 
int NChainPSquare (double *Plot)
 Distribution of number of chain per patch.
 
int LateralFluctuation (double *Plot, int LatValue)
 Boh.
 
int Voronoi ()
 Voronoi tassellation.
 
int PosVectInt (double *Pos)
 Return the integer index with respect to the partition NSquare.
 
int InterParab (PART *PmIn, PART *PmOut, int NIn, int nOut)
 Discontinous parabolas.
 
int InterParab2 (PART *PmIn, PART *PmOut, int NIn, int NOut)
 Discontinous parabolas.
 
int InterCubica (PART *PmIn, PART *PmOut, int NIn, int NOut)
 Discontinous cubic.
 
int InterForth (PART *PmIn, PART *PmOut, int NIn, int NOut)
 Discontinous forth degree.
 
int InterSpline3 (PART *PmIn, PART *PmOut, int NIn, int NOut)
 third order spline
 
int InterSpline4 (PART *PmIn, PART *PmOut, int NIn, int NOut)
 forth order spline
 
int InterBSpline (PART *PmIn, PART *PmOut, int NIn, int NOut)
 BSpline.
 
int InterBSpline2D (double **PlIn, double **PmOut, int NIn, int NOut)
 2-d BSpline
 
int InterBSpline2D (double *PlIn, double *PmOut, int NIn, int NOut)
 2-d BSpline More...
 
int InterBSpline1D (double *PlIn, double *PmOut, int NIn, int NOut)
 1-d BSpline
 
int InterPoly (PART *PmIn, PART *PmOut, int NIn, int nOut)
 NIn-polynomian.
 
int InterDerMatrix (PART *Pm, int NMass, SPLINE Weight, double Offset)
 Boh.
 
void SmoothGrid (int NSample, char *FWrite)
 Smooth a grid with BSplines.
 
void SmoothGrid (int NSample)
 Smooth a grid with BSplines and update the particle positions. More...
 
void ConvoluteMatrix (double *Plot, int NGrid, Matrice *Mask, int NDim)
 Convolute a matrix.
 
void ConvoluteMatrix1 (double *Plot, int NGrid, Matrice *Mask)
 Convolute a matrix 1d.
 
void ConvoluteMatrix2 (double *Plot, int NGrid, Matrice *Mask)
 Convolute a matrix 2d.
 
void ConvoluteMatrix3 (double *Plot, int NGrid, Matrice *Mask)
 Convolute a matrix 3d.
 
int SetNPart (int NewNPart)
 Set and reallocate the number of particles.
 
int SetNChain (int NewNCh)
 Set and reallocate the number of chains.
 
int SetNLink (int NewNCh)
 Set and reallocate the number of links.
 
void SetNPCh (int NewNCh)
 Set and reallocate the number of particles per chains.
 
void SetNType (int NewNType)
 Set the number of species.
 
int AllocLinks (int NewNCh)
 (re)allocate the links
 
int SetNBlock (int Val)
 Set NBlock.
 
int SetNNano (int Val)
 Set NNano.
 
void Copy (PART *P1, PART *P2, int NPartOld)
 Copy the part P2 on part P1.
 
void Copy (CHAIN *C1, CHAIN *C2, int NChainOld)
 Copy the chain C2 on chain C1.
 
VAR_TRIANGLEMarchingCubes (double *Plot, int NSample, double IsoLevel, int *NTri)
 Defines the triangles close to the IsoLevel of the 3d density Plot.
 
VAR_LINEMarchingSquares (double *Plot, int NSample, double IsoLevel, int *NTri)
 Defines the triangles close to the IsoLevel of the 3d density Plot.
 
void AreaDistr (double *Distr, double *RadDistr, int NSample)
 Calculate the (temporal/radial) area distribution.
 
double pTime ()
 Total time.
 
double pDeltat ()
 Delta t.
 
double pTemp ()
 Temperature.
 
double pBeta ()
 Beta factor 1/kTB.
 
double pEnergy (int d)
 Pot, kinetik, free.
 
double pEdge (int d)
 xyzr edges of the simulation box
 
double pInvEdge (int d)
 Inverted xyzr edges of the simulation box.
 
double pVol ()
 xyzr edges of the simulation box
 
double pCm (int d)
 Center of mass of the system.
 
double pVelMax (int d)
 Maximum velocity.
 
double pchiN ()
 Incompatibility.
 
double pkappaN ()
 Incompressibility.
 
double pkBen ()
 Bending coupling.
 
double pkSpr ()
 Spring coupling.
 
void SetkBen (double Val)
 Bending coupling.
 
void SetkSpr (double Val)
 Spring coupling.
 
void SetSprRest (double Val)
 Rest distance of the harmonic potential.
 
double pSprRest ()
 Rest distance of the harmonic potential.
 
double prho ()
 Density coexistence.
 
double pReOverCutOff ()
 Re/CutOff.
 
double pWei2Par ()
 Parameter of the second order weighting function.
 
double pWei3Par ()
 Parameter of the third order weighting function.
 
int pStep ()
 Number of steps.
 
int pNPart ()
 Number of particle.
 
int pNChain ()
 Number of chain.
 
int pNChain (int b)
 Number of chain.
 
int pNPCh ()
 Number of particle per chain.
 
int pNPCh (int c)
 Number of particle per chain.
 
int pNType ()
 

of types of the particle


 
int pNLink ()
 Maximum number of bonds.
 
int pNNano ()
 Number of nanoparticles.
 
int pNBlock ()
 Number of blocks.
 
int pNAllocP ()
 Allocated number of particles.
 
int pNAllocC ()
 Allocated number of chains.
 
void SetEdge (double Val, int d)
 Set Edge.
 
void SetCNorm (int d)
 Set Edge.
 
void SetScaleF (double *Scale)
 Set scale factor.
 
void SetShiftPos (double *RefPos)
 Set reference pos.
 
void SetIfNormalize (int If)
 
void SetDeltat (double Val)
 Set DeltaT.
 
void SetStep (int Val)
 Set Step.
 
void SetTemp (double Val)
 Set Temperature.
 
void SetTime (double Val)
 Set Time.
 
void IncrStep ()
 Increment Step.
 
double pPos (int p, int d)
 Return back folded position.
 
double pChPos (int p, int d)
 Return back folded position.
 
void pPos (int p, double *Pos)
 Return back folded position.
 
double * pPos (int p)
 Print the particle position.
 
double pPosNoBkf (int p, int d)
 Return the velocity.
 
double pVel (int p, int d)
 Return the velocity.
 
void SetPos (int p, double *Pos)
 Set the particle position.
 
void SetPos (int p, int d, double Pos)
 Set the particle position.
 
void SetVel (int p, double *Vel)
 Set the particle velocity.
 
void SetType (int p, int t)
 Set the particle type.
 
int pType (int p)
 Return the type.
 
int pChain (int p)
 Return the chain.
 
double pNanoPos (int n, int d)
 Return back folded nano position.
 
void SetBkf (int p)
 Set the back folded array for the particle p.
 
void SetNanoBkf (int n)
 Set the back folded array for the nano n.
 
void pPos (double *Pos)
 Print a position.
 

Public Attributes

DRAW_PART Draw_Part
 Pointer to a distance/field function.
 
DRAW_PART Draw_Nano
 Pointer to a distance.
 
DRAW_BOND Draw_Bond
 Pointer to a distance/field function.
 
GLuint Quad
 
GLuint Point
 
GLuint * Cylinder
 
GLuint MetalCylinder
 
GLuint Hexagon
 
GLuint Cube
 
GLuint Arrow
 
GLuint GlWall
 
double Saturation
 Saturation of the color (increase intensity)
 
char Block2Draw [20]
 Name of the block to draw.
 
int NFile [2]
 First and last file of the list.
 
int NFileTot
 Total number of file.
 
int NPro
 Boh.
 
int quando
 Current number of the file list.
 
int LineSize
 Line size of the gl.
 
int IfIntorno
 If it visualizes only the particles/chains within a certain distance.
 
int IfLine
 Boh. More...
 
int IfChType
 Type of the chains to be visualized.
 
int NBackFold
 Type of backfold.
 
int What2Draw
 Draw the content in the appropriate visulization.
 
int NVisSkip
 How many lipids are skipped in the visualization.
 
int DrawOutput
 Boh. More...
 
double Vicinanze
 Boh. More...
 
double InvScaleUn
 Define the shrink factor between the box edges.
 
double ExtParam
 External parameter (e.g. for MarchingCubes)
 
double ScaleFact
 Normal scaling factor (z zooming)
 
FILE * DrawOutFile
 Output file for drawing.
 
SingProcProc
 
- Public Attributes inherited from VarData
MatematicaMat
 Implementation of all usefull algorythms.
 
MatIntMInt
 Matrix of the prefactor of the interactions.
 
NANO_DIST Nano_Dist
 Pointer to a distance/field function.
 
char cWhat2Draw [STRSIZE]
 What to draw.
 
NANONano
 Extra particle.
 
PARTPm
 Particle information of all particle.
 
LINKSLn
 Array of linking between the particles.
 
CHAINCh
 Information on all chains.
 
SOFTSoft
 Soft bodies.
 
BLOCKBlock
 Information for every block.
 
double * PlotMem
 Particle position/density on the square lattice.
 
double ShiftPos [3]
 Reference position.
 
double ScaleF [3]
 Scale factor.
 
int NSoft
 Number of soft bodies.
 
int NPartNearSphere
 Number of particle to be considered in the radial density profile.
 
int NAddChain
 Additional homopolymer chains into the membrane.
 
int NAddChol
 Additional cholesterol chains into the membrane.
 
int NSolvent
 Solvent molecules.
 
int NStuffing
 Stuffing for the cylinder.
 
int CNorm
 Normal coordinate.
 
int CLat1
 lateral coordinate
 
int CLat2
 lateral coordinate
 
int NChType
 Type of chain selected.
 
int NPType
 Type of particle selected.
 
int NEdge
 Number of particles per edge.
 
int SysType
 Contains the definition of the system.
 
int SysFormat
 Contains the definition of the file format.
 
int SysCreate
 Contains the information for the creation.
 
int IfNormalize
 If normalize the lateral dimensions to one.
 
int IfPlotMem
 If PlotMem is allocated and filled.
 

Detailed Description

Operates and visualizes the information in the VarData class.

Definition at line 61 of file ElPoly.h.

Member Function Documentation

int DensProf ( int  NBin,
int  NSample,
int  Coord 
)
void DensProfNormalSlab ( int  NBin,
int  NSample,
int  Coord 
)
void SlabProf ( int  NBin,
int  nNano,
int  Coord1 
)
void PrintDens ( FILE *  FileToWrite,
double **  Plot,
double *  LatDim,
int  NBin 
)

Print the density profile in the surfaces representation.

a

Definition at line 414 of file ElPolyProfDens.cpp.

References ChooseDraw().

Referenced by BondDistr(), CartDens(), Diff2Files(), RadDistrF(), SlabProf(), and SplayDistr().

void RadDens2Thick ( int  NBin)

Calculate the thickness from the radial density profile.

a

Definition at line 1031 of file ElPolyProfDens.cpp.

References VarData::LoadDensFile(), NFile, and VarData::pEdge().

void RadDens2Thick2d ( int  NBin)

Calculate the thickness from the radial density profile.

a

Definition at line 1090 of file ElPolyProfDens.cpp.

References NFile, VarData::pEdge(), VarData::pInvEdge(), VarData::pNPart(), VarData::pPos(), and VarData::pType().

void CartDens ( int  NBin,
int  nNano 
)
void RadDistrF ( int  NBin,
int  How,
int  nNano 
)
void BondDistr ( int  NSample)
void SplayDistr ( int  NSample)
void ThickFromDens ( int  NBin)

Calculate the thickness profile from the density plot.

a

Definition at line 1128 of file ElPolyProfDens.cpp.

References VarData::CLat1, VarData::CLat2, VarData::pCm(), VarData::pEdge(), VarData::pInvEdge(), VarData::pNPart(), VarData::pPos(), and VarData::pVel().

void StalkLineProfF ( int  NBin)

Write the line describing a linear stalk.

Call the function StalkLineProf to reconstruct the linear shape of the stalk and calculate the power spectrum.

Definition at line 388 of file ElPolyProfile.cpp.

References VarData::CLat1, VarData::CLat2, NFile, VarData::Open(), VarData::pEdge(), VarData::pInvEdge(), Processing(), and VarData::StalkLineProf().

void AreaCompr ( int  NSample)

Calculates the number of chain per area area.

Subdivide the simulation box in SubDiv[CLat1]xSubDiv[CLat2] squares and calculate the average number of chains and its stadard deviation.

The compressibility is in the limit lim_l = l^2<N_c^2>/<N_c>^2 where l is the dimension of the patch and NTimes different patches size are taken in account. It works in NVT.

Definition at line 1146 of file ElPolyMeasure.cpp.

References VarData::CLat1, VarData::CLat2, VarData::NEdge, NFile, VarData::OpenRisk(), VarData::pchiN(), VarData::pChPos(), VarData::pEdge(), VarData::pInvEdge(), VarData::pkappaN(), VarData::pNChain(), VarData::prho(), Processing(), and VarData::SysDef().

void ElasticCoupling ( int  NSample)

Measure the elastic coupling between the two sheets.

Divides the box size in small patches and calculate the thinning for every patch.

For every patch size are stored the mean values and variance of the thickness. As output it is printed the area per patch, the correspondent thickness, the standard deviation and the elastic coupling modulus.

Definition at line 1248 of file ElPolyMeasure.cpp.

References VarData::Ch, VarData::CLat1, VarData::CLat2, VarData::CNorm, NFile, VarData::OpenRisk(), VarData::pChain(), VarData::pchiN(), VarData::pEdge(), VarData::pInvEdge(), VarData::pkappaN(), VarData::pNPart(), VarData::pPos(), VarData::prho(), Processing(), VarData::pType(), VarData::SysDef(), and CHAIN::Type.

void ElasticCouplingNVT ( )

Measure the elastic coupling between the two sheets.

Elastic coupling modulus calculation for a fixed box size simulation.

Definition at line 1377 of file ElPolyMeasure.cpp.

References VarData::Ch, VarData::CLat1, VarData::CLat2, VarData::CNorm, NFile, VarData::OpenRisk(), VarData::pChain(), VarData::pchiN(), VarData::pEdge(), VarData::pkappaN(), VarData::pNPart(), VarData::pPos(), VarData::prho(), Processing(), VarData::pType(), and VarData::SysDef().

int CoreF ( int  NBin,
int  How 
)
void FetchStalk ( )

Write the position of the stalk for every snapshot.

Simple Monte Carlo to find the best position and radius of the osculating torus.

Definition at line 596 of file ElPolyRepr.cpp.

References NANO::Area, NANO::Height, VarData::Nano, NFile, VarData::OpenRisk(), VarData::pNanoPos(), Processing(), VarData::pTime(), NANO::Rad, VarData::SetNNano(), StalkArea(), VarData::StalkPos(), and VarData::StringNano().

void StalkArea ( )

Area of hydrophobic in the torus.

Simple Monte Carlo to find the best position and radius of the osculating torus.

The area and position of the torus are hence redifined counting how many hydrophilic beads are inside the torus.

Definition at line 624 of file ElPolyRepr.cpp.

References NANO::Area, VarData::CLat1, VarData::CLat2, VarData::CNorm, VarData::HeaderNano(), NANO::Height, VarData::Nano, NFile, VarData::OpenRisk(), VarData::pCm(), VarData::pEdge(), VarData::pInvEdge(), VarData::pNanoPos(), VarData::pNPart(), NANO::Pos, VarData::pPos(), Processing(), VarData::pTime(), VarData::pType(), NANO::Rad, VarData::SetNanoBkf(), VarData::SetNNano(), VarData::StalkPos(), and VarData::StringNano().

Referenced by FetchPore(), and FetchStalk().

void SlabAngleProfs ( int  NBin,
int  NAngle,
int  Coord 
)

Radial profiles of the slab density between 0⁰ and 90⁰ subdivided in NAngle angles.

a

Definition at line 1170 of file ElPolyProfDens.cpp.

References VarData::CLat1, VarData::CLat2, VarData::CNorm, VarData::pEdge(), VarData::pNPart(), and VarData::pPos().

void ChooseDraw ( char *  String)

Assing the correct value of What2Draw from.

Parameters
String

Definition at line 315 of file ElPolyEl.cpp.

References What2Draw.

void DrIsolevel ( int  NSample,
double  IsoLevel 
)

Defines the triangles at the boundaries of the density close to the IsoLevel value.

NormalWeight(Tri,WeightL,NSample,NTri);

Definition at line 1104 of file ElPolyDrawSurf.cpp.

References VAR_TRIANGLE::c, Matematica::Casuale(), DrawNano(), IfLine, InvScaleUn, VarData::MarchingCubes(), VarData::Mat, VAR_TRIANGLE::n, Draw::Particles, VarData::pEdge(), VarData::pInvEdge(), VarData::pNNano(), VarData::pNPart(), VarData::pPos(), VarData::pVol(), ScaleFact, VAR_TRIANGLE::v, and XYZ::x.

Referenced by DrBondNo(), and ElMenuVisual().

Member Data Documentation

int IfLine

Boh.

Boh If it draws the bonds

Definition at line 435 of file ElPoly.h.

Referenced by DrawFuncHeader(), DrCrossLinks(), DrIsolevel(), DrPolygon(), DrVectors(), ElMenuChoise(), ElPoly(), and keyboard().

int DrawOutput

Boh.

Draw output flag

Definition at line 447 of file ElPoly.h.

Referenced by DrawFuncFooter(), DrawFuncHeader(), ElMenuChoise(), and Graphics().

double Vicinanze

Boh.

Boh Boh Distance from the nanoparticle

Definition at line 455 of file ElPoly.h.

Referenced by DrIntorno(), and Graphics().


The documentation for this class was generated from the following files: