Ejemplo n.º 1
0
import abipy.data as abidata
from abipy.htc.input import AbiInput

tsmear_list = [0.005, 0.01]
ngkpt_list = [[4,4,4], [8,8,8]]
occopt_list = [3, 4]

inp = AbiInput(pseudos=abidata.pseudos("14si.pspnc"), ndtset=len(tsmear_list))

inp.linspace("tsmear", start=tsmear_list[0], stop=tsmear_list[-1])
print(inp)

inp = AbiInput(pseudos=abidata.pseudos("14si.pspnc"), ndtset=len(tsmear_list) * len(ngkpt_list))

inp.product("tsmear", "ngkpt", tsmear_list, ngkpt_list)
print(inp)

# If you don't want to use multiple datasets in your calculation,
# you can split the initial input into ndtset different inputs.
separated_inps = inp.split_datasets()

for inp in separated_inps:
    print(inp)

# product accepts an arbitrary number of variables.
inp = AbiInput(pseudos=abidata.pseudos("14si.pspnc"), ndtset=len(tsmear_list) * len(ngkpt_list) * len(occopt_list))

inp.product("tsmear", "ngkpt", "occopt", tsmear_list, ngkpt_list, occopt_list)
print(inp)