Unlike non-periodical DFT codes, Quantum ESPRESSO uses planewave basis sets and pseudopotentials. There are many ways of writing your input file, and it all depends on what information you have or what you want to learn.
Here is the skeleton of your input file:
===============================================================================
&CONTROL
...
/
&SYSTEM
...
/
&ELECTRONS
...
/
[ &IONS
...
/ ]
[ &CELL
...
/ ]
ATOMIC_SPECIES
X Mass_X PseudoPot_X
Y Mass_Y PseudoPot_Y
Z Mass_Z PseudoPot_Z
ATOMIC_POSITIONS { alat | bohr | crystal | angstrom | crystal_sg }
X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}
Y 0.5 0.0 0.0
Z O.0 0.2 0.2
K_POINTS { tpiba | automatic | crystal | gamma | tpiba_b | crystal_b | tpiba_c | crystal_c }
if (gamma)
nothing to read
if (automatic)
nk1, nk2, nk3, k1, k2, k3
if (not automatic)
nks
xk_x, xk_y, xk_z, wk
if (tpipa_b or crystal_b in a 'bands' calculation) see Doc/brillouin_zones.pdf
[ CELL_PARAMETERS { alat | bohr | angstrom }
v1(1) v1(2) v1(3)
v2(1) v2(2) v2(3)
v3(1) v3(2) v3(3) ]
[ OCCUPATIONS
f_inp1(1) f_inp1(2) f_inp1(3) ... f_inp1(10)
f_inp1(11) f_inp1(12) ... f_inp1(nbnd)
[ f_inp2(1) f_inp2(2) f_inp2(3) ... f_inp2(10)
f_inp2(11) f_inp2(12) ... f_inp2(nbnd) ] ]
[ CONSTRAINTS
nconstr { constr_tol }
constr_type(.) constr(1,.) constr(2,.) [ constr(3,.) constr(4,.) ] { constr_target(.) } ]
[ ATOMIC_FORCES
label_1 Fx(1) Fy(1) Fz(1)
.....
label_n Fx(n) Fy(n) Fz(n) ]
To start off, you will be "filling in the blanks" with the information found here.
For example, select "relax" to relax atomic positions within the unit cell. You will be able to define your structure by space group no., lattice constants $a,b,c$, or by the primitive vectors in &CELL_PARAMETERS
.
The &SYSTEM
card is the most important. This is where you will define your cell dimensions, your energy cutoff, any corrections such as vdw_corr
(e.g. Grimme-D2,D3) and you can call hybrid functionals via input_dft
.
Next, you will need to get your pseudopotentials. The Quantum ESPRESSO website has a library of pseudopotentials developed by Andrea Dal Corso. These are the default, plug-and-play pseudopotentials you can use instead of generating your own.
Here are three places where you can get good pseudopotentials:
The PSLIBRARY by A. Dal Corso is here. There you will find Ultrasoft and PAW pseudopotentials.
The Standard Solid State Pseudopotential library in MaterialsCloud is here.
The Pseudo Dojo is also gaining popularity. There, you might be limited for now, to Norm-conserving or PAW pseudopotentials depending on the species.
Everything else is relatively straight forward and easy to work with. Once you define your system.
In the example you provide, they used
K_POINTS automatic
2 3 2 0 0 0
to generate that first mesh. This is very loose. You will need a much denser grid to study properties, but this should be good enough to get you started! Hope this helps. To visualize your system directly from your input, many use XCrysDen.