diff --git a/docs/user/codes/openmm.md b/docs/user/codes/openmm.md index 30a4ca651..0b354b1e5 100644 --- a/docs/user/codes/openmm.md +++ b/docs/user/codes/openmm.md @@ -6,24 +6,17 @@ >>> conda activate atomate2 # installing atomate2 ->>> pip install git+https://github.com/orionarcher/atomate2 - -# installing classical_md dependencies ->>> conda install -c conda-forge --file .github/classical_md_requirements.txt +>>> pip install "atomate2[openmm]" ``` Alternatively, if you anticipate regularly updating -atomate2 from source (which at this point, you should), -you can clone the repository and install from source. +atomate2 from source, you can clone the repository and install from source. ``` bash # installing atomate2 ->>> git clone https://github.com/orionarcher/atomate2 +>>> git clone https://github.com/materialsproject/atomate2 >>> cd atomate2 ->>> git branch openff ->>> git checkout openff ->>> git pull origin openff ->>> pip install -e . +>>> pip install -e '.[openmm]' ``` To test the openmm installation, you can run the following command. If @@ -458,6 +451,7 @@ run_locally(flows[rank], ensure_success=True) For now, you'll need to make sure you have a particular emmet branch installed. Later the builders will be integrated into `main`. + ```bash pip install git+https://github.com/orionarcher/emmet@md_builders ``` diff --git a/docs/user/codes/vasp-workflows.csv b/docs/user/codes/vasp-workflows.csv index 748bb66b0..c7295df42 100644 --- a/docs/user/codes/vasp-workflows.csv +++ b/docs/user/codes/vasp-workflows.csv @@ -1,22 +1,22 @@ Name,Type,Maker -`Static`_,job,:obj:`.StaticMaker` -`Relax`_,job,:obj:`.RelaxMaker` -`Tight Relax`_,job,:obj:`.TightRelaxMaker` -`Dielectric`_,job,:obj:`.DielectricMaker` -`Transmuter`_,job,:obj:`.TransmuterMaker` -`HSE06 Static`_,job,:obj:`.HSEStaticMaker` -`HSE06 Relax`_,job,:obj:`.HSERelaxMaker` -`HSE06 Tight Relax`_,job,:obj:`.HSETightRelaxMaker` -`Double Relax`_,flow,:obj:`.DoubleRelaxMaker` -`Band Structure`_,flow,:obj:`.BandStructureMaker` -`Uniform Band Structure`_,flow,:obj:`.UniformBandStructureMaker` -`Line-Mode Band Structure`_,flow,:obj:`.LineModeBandStructureMaker` -`HSE06 Band Structure`_,flow,:obj:`.HSEBandStructureMaker` -`HSE06 Uniform Band Structure`_,flow,:obj:`.HSEUniformBandStructureMaker` -`HSE06 Line-Mode Band Structure`_,flow,:obj:`.HSELineModeBandStructureMaker` -`Relax and Band Structure`_,flow,:obj:`.RelaxBandStructureMaker` -`Elastic Constant`_,flow,:obj:`.ElasticMaker` -`Optics`_,flow,:obj:`.OpticsMaker` -`HSE06 Optics`_,flow,:obj:`.HSEOpticsMaker` -`Phonons`_,flow,:obj:`.PhononMaker` -`Lobster`_,flow,:obj:`.VaspLobsterMaker` +`Static`_,job,:obj:`~atomate2.vasp.jobs.core.StaticMaker` +`Relax`_,job,:obj:`~atomate2.vasp.jobs.core.RelaxMaker` +`Tight Relax`_,job,:obj:`~atomate2.vasp.jobs.core.TightRelaxMaker` +`Dielectric`_,job,:obj:`~atomate2.vasp.jobs.core.DielectricMaker` +`Transmuter`_,job,:obj:`~atomate2.vasp.jobs.core.TransmuterMaker` +`HSE06 Static`_,job,:obj:`~atomate2.vasp.jobs.core.HSEStaticMaker` +`HSE06 Relax`_,job,:obj:`~atomate2.vasp.jobs.core.HSERelaxMaker` +`HSE06 Tight Relax`_,job,:obj:`~atomate2.vasp.jobs.core.HSETightRelaxMaker` +`Double Relax`_,flow,:obj:`~atomate2.vasp.flows.core.DoubleRelaxMaker` +`Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.BandStructureMaker` +`Uniform Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.UniformBandStructureMaker` +`Line-Mode Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.LineModeBandStructureMaker` +`HSE06 Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.HSEBandStructureMaker` +`HSE06 Uniform Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.HSEUniformBandStructureMaker` +`HSE06 Line-Mode Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.HSELineModeBandStructureMaker` +`Relax and Band Structure`_,flow,:obj:`~atomate2.vasp.flows.core.RelaxBandStructureMaker` +`Elastic Constant`_,flow,:obj:`~atomate2.vasp.flows.elastic.ElasticMaker` +`Optics`_,flow,:obj:`~atomate2.vasp.flows.core.OpticsMaker` +`HSE06 Optics`_,flow,:obj:`~atomate2.vasp.flows.core.HSEOpticsMaker` +`Phonons`_,flow,:obj:`~atomate2.vasp.flows.phonons.PhononMaker` +`Lobster`_,flow,:obj:`~atomate2.vasp.flows.lobster.VaspLobsterMaker` diff --git a/docs/user/codes/vasp.md b/docs/user/codes/vasp.md index 4b96c9d40..e0b63ab51 100644 --- a/docs/user/codes/vasp.md +++ b/docs/user/codes/vasp.md @@ -324,7 +324,7 @@ run_locally(lobster, create_folders=True, store=SETTINGS.JOB_STORE) ``` It is, however, computationally very beneficial to define two different types of job scripts for the VASP and Lobster runs, as VASP and Lobster runs are parallelized differently (MPI vs. OpenMP). -[FireWorks](https://github.com/materialsproject/fireworks) allows to run the VASP and Lobster jobs with different job scripts. Please check out the [jobflow documentation on FireWorks](https://materialsproject.github.io/jobflow/tutorials/8-fireworks.html#setting-the-manager-configs) for more information. +[FireWorks](https://github.com/materialsproject/fireworks) allows one to run the VASP and Lobster jobs with different job scripts. Please check out the [jobflow documentation on FireWorks](https://materialsproject.github.io/jobflow/tutorials/8-fireworks.html#setting-the-manager-configs) for more information. Specifically, you might want to change the `_fworker` for the LOBSTER runs and define a separate `lobster` worker within FireWorks: @@ -468,7 +468,8 @@ Finally, sometimes you have a workflow containing many VASP jobs. In this case i tedious to update the input sets for each job individually. Atomate2 provides helper functions called "powerups" that can apply settings updates to all VASP jobs in a flow. These powerups also contain filters for the name of the job and the maker used to -generate them. +generate them. These functions will apply updates *only* to VASP jobs, including those +created dynamically - all other jobs in a flow will not be modified. ```py from atomate2.vasp.powerups import update_user_incar_settings