exercises:2018_ethz_mmm:index
This is an old revision of the document!
Exercises
The following exercises are part of the the course Molecular and Materials Modelling held at ETH Zürich during the spring semester 2018.
Lecture 1
m_ bash functions
We have programmed in the virtual machine some useful bash functions. They all start with m_ and can be called from the command line. To see the usage of one of them, use the -h flag. Here the list and usage of all of them:
================================================================== m_addcolumn Description: add a column at the left of a file, the same string in every line. Usage: m_addcolumn string < file > file.out ================================================================== ================================================================== m_cutlines Description: Cuts lines l1..l2, l3..l4, l5..l6 away from a file Usage: m_cutlines l1 l2 l3 l4 l5 l6 ... < file > modified_file ================================================================== ================================================================== m_domyslab Description: starting from a unit cell file with Element x y z columns, generate a nx ny nz cell. The parameter d is the nearest neighbor distance, and the cell lengths Lx, Ly, Lz are in the same units as in the unit cell file. Since d is used to multiply all coordinates, the unit cell coordinates are meant to be in nearest neighbor units. Usage: m_domyslab Lx Ly Lz d nx ny nz < unitcell > slab.xyz ================================================================== ================================================================== m_interpolate Description: Returns a list of real numbers that interpolates two given extremes A and B with n+1 points (from A=0 to B=n) Usage: m_interpolate xa xb n ================================================================== ================================================================== m_multiply Description: Returns the product of two numbers Usage: m_multiply num1 num2 ================================================================== ================================================================== m_overlayer Description: Replaces the 4th column (z coordinate) of a file with a user-given new z coordinate. Usage: m_overlayer newz < overlayer.xyz > newoverlayer.xyz ================================================================== ================================================================== m_replace Description: Replaces all occurrencies of an "oldstring" in a file with a "newstring" string Usage: m_replace "oldstring" "newstring" < oldfile > newfile ================================================================== ================================================================== m_trimlines Description: trims around lines l1..l2, l3..l4, l5..l6 of Usage: m_trimlines l1 l2 l3 l4 l5 l6 ... < file > modified_file ================================================================== ================================================================== m_xyzcenter Description: Centers a sample in the directions specified by a 1, and not in those specified by a 0 Usage: m_xyzcenter flagx flagy flagz < cell.xyz > cell_center.xyz ================================================================== ================================================================== m_xyzminmax Description: This function returns the maximum and minimum X (or Y, or Z) value from a XYZ file Usage: m_xyzminmax x|y|z < file.xyz ================================================================== ================================================================== m_xyzrefold Description: Refolds a sample according to periodic boundary conditions in all directions marked by 1 The cell is defined by a,b,c in the second line of the xyz file Usage: m_xyzrefold markx marky markz < filein.xyz > fileout.xyz ================================================================== ================================================================== m_xyztranslate Description: Translates all coordinates of a xyz file by a given vector. Usage: m_xyztranslate tx ty tz < filein.xyz > fileout.xyz ================================================================== ================================================================== m_atan2 Description: Returns the angle in degrees between the positive X-axis of a plane and the point given by the coordinates (x,y) on it: \ \ * (x,y) \ \ \_______ \ | \angle| --\----------------------> \ X Usage: m_atan2 x y ================================================================== ================================================================== m_distance Description: Computes the distance between two points Usage: m_distance x1 y1 z1 x2 y2 z2 ================================================================== ================================================================== m_lattice Description: Replicates a cell in 3 directions and generates a sample with the cell lengths a b c in the second line IT ONLY READS THE LINES WITH EXACTLY 4 COLUMNS (atomic index, x, y, z) Usage: m_lattice [Atom] cellx celly cellz nx ny nz < cell > sample.xyz ================================================================== ================================================================== m_norm Please specify three arguments Description: Returns the norm of a vector Usage: m_norm x y z ================================================================== ================================================================== m_pdbtorsion Description: Returns torsion defined by 4 atoms in a pdb file Atom4 / <-. / angle\ / Atom2-------|-----Atom3 / \__/ / / Atom1 Usage: m_pdbtorsion n1 n2 n3 n4 file ================================================================== ================================================================== m_scalar Description: Returns scalar product of two vectos Usage: m_scalar x1 y1 z1 x2 y2 z2 ================================================================== ================================================================== m_unitvec Description: Returns a normalized input vector Usage: m_unitvec x y z ================================================================== ================================================================== m_xyzcountframes Description: This function counts the number of frames in a trajectory Usage: m_xyzcountframes file.xyz ================================================================== ================================================================== m_xyznatoms Description: This function returns the number of atoms in a given XYZ file Usage: m_xyznatoms < file.xyz ================================================================== ================================================================== m_xyzrescale Description: Rescales all coordinates of a xyz file by a given factor. If the cell is given in the second line it is multiplied by the same factor Usage: m_xyzrescale factor < filein.xyz > fileout.xyz ================================================================== ================================================================== m_xyzzhistogram Description: This function makes a z histogram of a trajectory Usage: m_xyzzhistogram n_intervals n_atoms z_min z_max ================================================================== ================================================================== m_change Please specify three arguments Description: Adds a delta times an integer to a central value Usage: m_change x0 n delta ================================================================== ================================================================== m_divide Description: Returns the ratio of two numbers Usage: m_ratio num1 num2 ================================================================== ================================================================== m_getcolumn Description: Greps a string from a file and gets the last instance; then takes the nth column Usage: m_getcolumn "STRING" column < file ================================================================== ================================================================== m_list Please specify two arguments Description: Creates an ordered list of numbers between two integers Usage: m_list nmin nmax ================================================================== ================================================================== m_onecolumn Description: parse a file and write all words as a single column Usage: m_onecolumn < file ================================================================== ================================================================== m_pdbvecjoin Description: Returns a vector joining two atoms in a pdb file Usage: m_pdbvecjoin at1 at2 pdbfile ================================================================== ================================================================== m_sum Description: Returns the sum of two numbers Usage: m_sum num1 num2 ================================================================== ================================================================== m_vecprod Description: Returns vector product of two vectors Usage: m_vecprod x1 y1 z1 x2 y2 z2 ================================================================== ================================================================== m_xyzframes Description: This function takes frames from a xyz file Usage: m_takeslides first_frame last_frame file.xyz (with last_frame=all, until the end) ================================================================== ================================================================== m_xyzrand Description: Randomizes a file xyz from -delta/2 to delta/2 Usage: m_xyzrand delta < file.xyz ================================================================== ================================================================== m_xyzsort Description: Sorts a xyz file according to z, y, x coordinates (z is inverted) Usage: m_xyzsort < file.xyz > filesorted.xyz ==================================================================
exercises/2018_ethz_mmm/index.1519309615.txt.gz · Last modified: 2020/08/21 10:15 (external edit)