Setting simulation parameters
Ondřej Krejčí edited this page Mar 16, 2024
·
3 revisions
Simulation parameters to ppafm can be set in multiple ways:
- Using command line arguments of the scripts
- using
params.ini
file put in the simulation folder (if no such file is provided defaults are read from folder defaults/params.ini. - All valid parameters are listed in
ppafm.params
dictionary which is defined in common.py
Take a look below to find out the meaning of these parameters.
The parameter types below stand for
-
bool
: Boolean (True
orFalse
) -
int
: Integer number -
real
: Real number -
string
: String of text -
list(type)
: A list of values of the given type.
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
PBC | True |
bool |
- | To use or not the periodic boundary conditions for calculating the grid force field. (note: electrostatic potential from DFT is always considered as PBC) |
nPBC | [1, 1, 1] |
list(int) |
- | The number of cell replicas along each lattice vector if PBC is True . |
gridN | [-1, -1, -1] |
list(int) |
- | The number of sampling points along each lattice vector for grid force field, if not taken from XSF or cube input file. When <0 approximate spacing of 0.1 Ångström is using for calculating gridN automatically |
gridA | [12.798, -7.3889, 0.00000 ] |
list(real) |
Ångström | The lattice vector a of the grid force field. Should be in format [ax,ay,0.0] . |
gridB | [12.798, 7.3889, 0.00000 ] |
list(real) |
Ångström | The lattice vector b of the grid force field. Should be in format [bx,by,0.0] . |
gridC | [0, 0, 5.0 ] |
list(real) |
Ångström | The lattice vector c of the grid force field. Should be in format [0.0,0.0,cz] . |
FFgrid0 | [ -1.0, -1.0, -1.0 ] |
list(real) |
Ångström | Force-field grid origin used in the GUI/OpenCL. Usually does not need to specified manually. |
FFgridA | [ -1.0, -1.0, -1.0 ] |
list(real) |
Ångström | Force-field grid lattice vector a used in the GUI/OpenCL. Usually does not need to specified manually. |
FFgridB | [ -1.0, -1.0, -1.0 ] |
list(real) |
Ångström | Force-field grid lattice vector b used in the GUI/OpenCL. Usually does not need to specified manually. |
FFgridC | [ -1.0, -1.0, -1.0 ] |
list(real) |
Ångström | Force-field grid lattice vector c used in the GUI/OpenCL. Usually does not need to specified manually. |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
ffModel | LJ |
string |
- | London+Pauli potential model Morse or LJ , or vdW for the Full-density based model. |
vdWDampKind | 2 |
int |
- | Kind of damping function used when ffModel is vdW (together with density-overlap) |
Apauli | 18.0 |
real |
Ångström | Amplitude for density-overlap E_pauli = Apauli*(rho_tip * rho_sample ) ^ Bpauli
|
Bpauli | 1.0 |
real |
? | Exponent for density-overlap E_pauli = Apauli (rho_tip*rho_sample) ^ Bpauli density-overlap use just 'vdW' |
Rcore | 0.7 |
real |
Ångström | Radius of core-density subtracted from input density of grid to ensure the neutrality of atoms (simulate charge of nuclei or neutral atom) |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
probeType | O |
string |
- | Type of atom that is set to the probe particle (oxygen by default). |
charge | 0.00 |
real |
e | Charge of the probe particle (if tip density not provided). For CO tip we normally use <-0.1,-0.05>
|
r0Probe | [0.00, 0.00, 4.00] |
list(real) |
Ångström | The equilibrium position of the probe particle under the tip relative to the anchor point. In Cu-CO tip the oxygen is normally 3 Ångström bellow the last Cu atom. |
tip | s |
string |
- | tip electrostatics model if no tip-charge density is provided, typical choice s,pz,dz2, for other see here. dz2 is the most common choice for the CO tip, with the quadrupole moment being then Q*sigma**2 . |
sigma | 0.7 |
real |
Ångström | The radius of Gaussian tip charge density when no tip-charge density is provided. |
stiffness | [-1.0, -1.0, -1.0] |
list(real) |
N/m | The stiffness of the probe particle x,y, and radial, if negative klat,krad is used. |
klat | 0.5 |
real |
N/m | The lateral stiffness (tilt; used if stiffness vector is <0). Normally <0.2,0.25> for the CO tip. |
krad | 20.00 |
real |
N/m | The radial stiffness (bond length; used if stiffness vector is <0) ? |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
scanStep | [0.10, 0.10, 0.10] |
list(real) |
Ångström | Sampling step of 3D volume of resulting AFM Force data grid. |
scanMin | [0.0, 0.0, 5.0] |
list(real) |
Ångström | The start of scanning volume grid relative to sample coordinates. Normally you start max(sample_atom)_z+rProbe_z + 2.8 or even higher. |
scanMax | [20.0, 20.0, 8.0 ] |
list(real) |
Ångström | The end of scanning volume grid relative to sample coordinates. |
scanTilt | [0.0, 0.0, -0.1] |
list(real) |
Ångström | Tip oscillation direction when tiltedScan==True . |
tiltedScan | False |
bool |
- | Optionally, the tip can oscillate in a tilted direction (e.g. in Lateral-mode AFM). |
The Giessibl's Formula is used to perform the conversion.
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
kCantilever | 1800.0 |
real |
N/m | Cantilever stiffness |
f0Cantilever | 30300.0 |
real |
Hz | Cantilever base frequency |
Amplitude | 1.0 |
real |
Ångström | Peak-to-peak amplitude |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
plotSliceFrom | 16 |
int |
- | The first z-slice for plotting from computed df-grid. |
plotSliceTo | 22 |
int |
- | The last z-slice for plottig from computed df-grid. |
plotSliceBy | 1 |
int |
- | Plotting density, e.g. if 1 plot every slice, if 2 plot every 2nd slice etc. |
imageInterpolation | bicubic |
string |
- | Interpolation used in matplotlib.imshow() for plotting df-images. |
colorscale | gray |
string |
- | The color scale used in matplotlib.imshow() for ploting df-images. |
colorscale_kpfm | seismic |
string |
- | The colorscale used in matplotlib.imshow() for plotting kpfm-images. |
ddisp | 0.05 |
real |
Ångström | The displacement used for computing the probe particle vibration modes for IETS. |
aMorse | -1.6 |
real |
1/A | Exponent for morse potential E_Morse=E0*(1-exp(aMorse*norm(r-r_0)))^2 . |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
Rtip | 30.0 |
real |
Ångström | Radius of the metallic apex of the tip used to calculate the mesoscopic cuadratic term of the CPD in the KPFM mode. This term is calculated acording to: https://doi.org/10.1007/s100510050219 |
permit | 0.00552634959 |
real |
(e^2)/(eV·Ångström) | Vacuum permittivity. |
Vrange | 0.0 |
real |
Volts | Range of voltages within which the LCPD parabolas are calculated in KPFM. The default 0.0 means implies that no KPFM will be performed. |
Parameter | Default value | Type | Units | Description |
---|---|---|---|---|
tip_base | ['None', 0.00 ] |
list(string) |
e | At the moment not used - was used for double electrostatics. Will be probably changed in the near future. |
moleculeShift | [0.0, 0.0,0.0 ] |
list(real) |
Ångström | ?????? does not seem to be used anywhere - originally grid parameter, probably left from past development of the online version |