<commit_before>VASPmanager
=====
Tool for managing VASP calculations on a PBS based cluster

### Workflow
To be somewhat efficent, even in research, I developed a workflow for scientific computation, which works quite well for me.
![scientific computation - workflow](../../raw/master/examples/workflow-01.png "scientific computation - workflow")
Rvasp can be found [here](https://github.com/paulpflug/Rvasp)

### Important
This tool was created for simple and fast PBS Job managing and is currently only used for my specific applications. There is the probability, that you find situations where it is not obeying your command. Feel free to read the [source](../../tree/master/VASPmanager/VASPmanager), improve it and submit changes.
The tool is implemented in pure python and most of it is easy to understand.

### PBS exclusive
This script currently is PBS exclusive. If you have to work with another cluster managment system you can easily adapt it. Look at this [file](../../tree/master/VASPmanager/pbs.py) and change the first 4 functions, so they work for your case, then please submit it.


## Index

- [Install](#install)
- [What it does](#what-it-does)
- [Usage](#usage)
- [Job Preparation](#job-preparation)
- [POTCAR fetching](#potcar-fetching)
- [Parameter usage](#parameter-usage)
- [Common scenarios](#common-scenarios)
- [Currently available parameters](#currently-available-parameters)
- [Job class parameters](#job-class-parameters)

## Install
##### Tarball as a package
* download [VASPmanager package](https://www.dropbox.com/s/uwo9w7jklokc1pc/VASPmanager-0.1.0.tar.gz)
* install in shell

```Shell
easy_install VASPmanager-0.1.0.tar.gz
```
##### Sourcecode as a package
* download zip from the right
* extract and go to setup.py in VASPmanager-master/
* install in shell

```Shell
python setup.py install
```

##### Raw sourcecode
* clone or download & extract zip from the right
* (optional) add VASPmanager/ directory to PYTHONPATH in your .profile

```Shell
export PYTHONPATH=$PYTHONPATH:/your/path/to/VASPmanager
```

## What it does
VASPmanager manages a calculation at a PBS based cluster for you. A calculation here is not a single VASP run, but a series of connected VASP runs.
VASPmanager helping you to create, monitor and cleanup your calculations.

##### Calculation creation
The heart of VASPmanager is the setting of calculation parameters, which will be explained later. The process of calculation creation consists of the following steps:
* creating a temporary folder structure
* filling these folders with the right files, this includes a logic for finding the POTCAR and (optional) files of preceding calculations
* setting the parameters
* submitting the job

##### Calculation monitoring
This is a very simple step. VASPmanager constantly checks if a calculation is finished to start the postprocessing. (This done on the mainframe, also to avoid problems with job interuptions)

##### Calculation cleanup
The cleanup consists of saving the needed files in a clean, simple pattern and deleting the temporary folders
<commit_msg>added requirement of setuptools + userparameter<commit_after>VASPmanager
=====
Tool for managing VASP calculations on a PBS based cluster

### Workflow
To be somewhat efficent, even in research, I developed a workflow for scientific computation, which works quite well for me.
![scientific computation - workflow](../../raw/master/examples/workflow-01.png "scientific computation - workflow")
Rvasp can be found [here](https://github.com/paulpflug/Rvasp)

### Important
This tool was created for simple and fast PBS Job managing and is currently only used for my specific applications. There is the probability, that you find situations where it is not obeying your command. Feel free to read the [source](../../tree/master/VASPmanager/VASPmanager), improve it and submit changes.
The tool is implemented in pure python and most of it is easy to understand.

### PBS exclusive
This script currently is PBS exclusive. If you have to work with another cluster managment system you can easily adapt it. Look at this [file](../../tree/master/VASPmanager/pbs.py) and change the first 4 functions, so they work for your case, then please submit it.


## Index

- [Install](#install)
- [What it does](#what-it-does)
- [Usage](#usage)
- [Job Preparation](#job-preparation)
- [POTCAR fetching](#potcar-fetching)
- [Parameter usage](#parameter-usage)
- [Common scenarios](#common-scenarios)
- [Currently available parameters](#currently-available-parameters)
- [Job class parameters](#job-class-parameters)

## Install
##### Tarball as a package
* download [VASPmanager package](https://www.dropbox.com/s/uwo9w7jklokc1pc/VASPmanager-0.1.0.tar.gz)
* install in shell (python-setuptools required)

```Shell
easy_install --user VASPmanager-0.1.0.tar.gz
```
##### Sourcecode as a package
* download zip from the right
* extract and go to setup.py in VASPmanager-master/
* install in shell

```Shell
python setup.py --user install
```

##### Raw sourcecode
* clone or download & extract zip from the right
* (optional) add VASPmanager/ directory to PYTHONPATH in your .profile

```Shell
export PYTHONPATH=$PYTHONPATH:/your/path/to/VASPmanager
```

## What it does
VASPmanager manages a calculation at a PBS based cluster for you. A calculation here is not a single VASP run, but a series of connected VASP runs.
VASPmanager helping you to create, monitor and cleanup your calculations.

##### Calculation creation
The heart of VASPmanager is the setting of calculation parameters, which will be explained later. The process of calculation creation consists of the following steps:
* creating a temporary folder structure
* filling these folders with the right files, this includes a logic for finding the POTCAR and (optional) files of preceding calculations
* setting the parameters
* submitting the job

##### Calculation monitoring
This is a very simple step. VASPmanager constantly checks if a calculation is finished to start the postprocessing. (This done on the mainframe, also to avoid problems with job interuptions)

##### Calculation cleanup
The cleanup consists of saving the needed files in a clean, simple pattern and deleting the temporary folders

{'fraction_non_alphanumeric': 0.08908184595594147, 'fraction_numerical': 0.003859141341051616, 'mean_word_length': 4.796831314072693, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3241715', 'n_tokens_mistral': 1735, 'n_tokens_neox': 1582, 'n_words': 764}