Hello everyone!
I’m new here and maybe my question can seem to be stupid, sorry for that in advance.
I have successfully installed the atomate framework and now am trying to insert all my vasprun.xml files into atomate database for later analysis. So, the task is following:
Input: directory with many subdirs with different vasprun.xml files and corresponding POSCAR/CONTCAR/etc.
Task: insert all data from each vasprun.xml in the directory into atomate database(mongodb as i understood).
What is the best practice for that?
I found VaspToDb task, but it seems to work false or I have used that incorrectly.
So, my code(where paths contains all directorises with vasprun.xml files):
When you create the VaspToDb task, do you specify the db_file parameter? This is needed so that the VaspToDb task can actually insert the task into the database. Otherwise it simply writes a JSON file to the directory containing the data, without actually inserting anything in the DB
Hi Anubhav_Jain,
thank you for your reply. I devided my thoughts/questions/answers into 3 separate parts:
I think, the answer is yes. As you can see the line launchpad = LaunchPad.auto_load() is used. Before the db.json and other corresponding files, such as FW_config.yaml were configured. If I print(launchpad), it outputs the server that I set up before. Moreover, through Mongo DB GUI I can observe the changing database. Do I use it correctly?
I tried another approach, namely to create for each poscar a separate workflow. The code:
for path in paths:
struct = Structure.from_file(path+‘POSCAR’)
wf = wf_bandstructure(struct)
launchpad.add_wf(wf)
where paths are all directories with POSCARs, but now I receive the following error:
FileNotFoundError: [Errno 2] No such file or directory: ‘srun’: ‘srun’.
And the tasks are either FIZZLED or WAITED
Is there any other approaches? Maybe without using VaspToDB task? I just need to insert all information of my vasprun.xml files into database for later analysis.