-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 4d97881
Showing
380 changed files
with
90,545 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
// _____________________________________ _____ | | ||
// ___/ __ \__/ __ \_/ __ \__/ __ \__/ /________/ / | | ||
// __/ /_/ /_/ /_/ // / / /_/ /_/ /_/ __ \/ _ \/ __/ | | ||
// _/ ____/_/ _, _// /_/ /_/ ____/_/ / / / __/ /_ | | ||
// /_/ /_/ |_| \____/ /_/ /_/ /_/\___/\__/ | | ||
//--------------------------------------------------------- | ||
|
||
This file is part of the PROPhet code, which was written | ||
by Brian Kolb and Levi Lentz in the group of Alexie | ||
Kolpak at MIT. | ||
|
||
See the documentation in doc/PROPhet_documentation.pdf for | ||
a full description of PROPhet. | ||
|
||
Please see the LICENSE file for license information | ||
|
||
*********************************************************** | ||
|
||
|
||
|
||
Compilation instructions | ||
-------------------------------------------------------- | ||
|
||
Compilation follows the standard linux paradigm: | ||
|
||
./configure [options] | ||
make | ||
make install | ||
|
||
If you want to use PROPhet potentials in the LAMMPS MD code, | ||
you should execute: | ||
|
||
./configure [options] --enable-lammps=LAMMPS_DIR | ||
make | ||
make install | ||
|
||
|
||
where LAMMPS_DIR is the directory with the LAMMPS source. | ||
This will make the lammps library of PROPhet, and attempt | ||
to insert it into the LAMMPS package system. The LAMMPS | ||
code must be relinked after completion to link in the | ||
PROPhet library. If automatic instalation fails, the | ||
library can be inserted into LAMMPS by following the | ||
instructions given in the documentation. | ||
|
||
|
||
|
||
Usage instructions can be found in the documentation, | ||
and by looking in the examples directory. A fully | ||
annotated input_file is also included in the | ||
examples directory. | ||
|
||
|
||
|
||
|
||
Description of classes in this package. The descriptions | ||
apply to the *.h and associated *.cpp files | ||
-------------------------------------------------------- | ||
Analysis : A class to provide statistical analysis of a | ||
fit during a "-validate" run | ||
Art : Some logos, etc. | ||
Atom : A class for holding name and atomic number of | ||
atoms. | ||
Common : A single wrapper class to include headers for | ||
common classes. Also defined here are random | ||
number generators. | ||
DFT_IO : An interface class for interacting with DFT | ||
codes. | ||
Error : A class defining an Error and Warning routine | ||
which provide useful information at runtime. | ||
FHIAIMS : An interface to the FHI-Aims DFT code | ||
Functional : A high-level class to perform machine learning | ||
fits to properties of interest other than | ||
structure, which is handled by the Potential | ||
class | ||
Functional_params : General parameters for a run | ||
Grid_data : Data in grid format. This is mainly used for | ||
charge density. | ||
Network : Abstract interface class for a machine learning | ||
method. | ||
Network_node : Abstract interface class for a node in a neural | ||
network. | ||
NN : A class to implement a nueral network | ||
NN_node : A class to implement a node in a neural | ||
network | ||
Optimizer : This class performs the optimization of a | ||
network. | ||
pair_nn : A class which can be linked into the LAMMPS code | ||
to use a PROPhet potential in LAMMPS. | ||
Parallel : A wrapper to MPI functions | ||
Potential : A high-level class to perform fits based on | ||
structure. | ||
QE : An interface to the Quantum Espresso DFT code. | ||
Setup : This class handles user input and run setup. | ||
Structure : This class holds structural information and | ||
performs operations allowing structure fits. | ||
System_data : A container class to hold training properties. | ||
System : A wrapper for | ||
Tables : This class implements expensive functions via | ||
look-up-tables with spline interpolation. | ||
VASP : An interface to the VASP DFT-code | ||
xml_reader : A wrapper for the pugixml xml parser. | ||
|
||
|
||
In addition, two files are provided for the | ||
pugixml xml parser (see http://pugixml.org/) | ||
----------------------------------------------------- | ||
pugiconfig.hpp | ||
pugixml.hpp | ||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
``` | ||
// _____________________________________ _____ | | ||
// ___/ __ \__/ __ \_/ __ \__/ __ \__/ /________/ / | | ||
// __/ /_/ /_/ /_/ // / / /_/ /_/ /_/ __ \/ _ \/ __/ | | ||
// _/ ____/_/ _, _// /_/ /_/ ____/_/ / / / __/ /_ | | ||
// /_/ /_/ |_| \____/ /_/ /_/ /_/\___/\__/ | | ||
//--------------------------------------------------------- | ||
``` | ||
|
||
PROPhet was ceated by | ||
Brian Kolb and Levi Lentz | ||
in the [group of Alexie Kolpak](http://kolpak.mit.edu/) at [![MIT](https://github.com/biklooost/PROPhet/blob/gh-pages/images/MIT-logo-red-gray-54x28.png)](http://web.mit.edu/) | ||
|
||
See the [documentation](http://biklooost.github.io/PROPhet/doc/PROPhet_documentation.pdf) for | ||
a full description of PROPhet. | ||
|
||
Please see the [LICENSE](https://github.com/biklooost/PROPhet/blob/master/LICENSE) file for license information | ||
|
||
--- | ||
|
||
|
||
### [Description of PROPhet](https://biklooost.github.io/PROPhet/) | ||
--- | ||
PROPhet (short for PROPerty Prophet) couples neural networks with first-principles physics and chemistry codes to | ||
allow sophisticated prediction of material properties. In general, PROPhet is used to | ||
find mappings between a set of material or system properties and other properties. Some | ||
specific uses of PROPhet are to: | ||
* Find a mapping between atomic configuration and other properties, including the total energy, creating an analytical potential, which can be used for molecular dynamics with the [LAMMPS](http://lammps.sandia.gov/) code | ||
* Construct density functionals for exchange-correlation energy, kinetic energy, or just about | ||
anything else | ||
* Find a mapping between a set of descriptors (an arbitrary combination of material properties) and other properties | ||
|
||
See the [PROPhet project page](https://biklooost.github.io/PROPhet/) for more details. | ||
|
||
|
||
### Interfaces with other codes | ||
--- | ||
At the moment, PROPhet can couple automatically to the first-principles codes | ||
- [VASP](https://www.vasp.at/) | ||
- [Quantum Espresso](http://www.quantum-espresso.org/) | ||
- [FHI-Aims](https://aimsclub.fhi-berlin.mpg.de/) | ||
|
||
meaning it can extract many common properties directly from the output files of these codes, without user interaction. Interfaces to other codes can be easily added. | ||
|
||
In addition, potentials created in PROPhet can be used for molecular dynamics runs with the freely-available [LAMMPS](http://lammps.sandia.gov/) MD code. See the [documentation](http://biklooost.github.io/PROPhet/doc/PROPhet_documentation.pdf#page=16) for more details. | ||
|
||
|
||
|
||
### Compiling Information | ||
--- | ||
Compilation follows the standard linux paradigm: | ||
``` | ||
./configure [options] | ||
make | ||
make install | ||
``` | ||
|
||
If you want to use PROPhet potentials in the [LAMMPS](http://lammps.sandia.gov/) MD code, | ||
you should execute: | ||
|
||
``` | ||
./configure [options] --enable-lammps=LAMMPS_DIR | ||
make | ||
make install | ||
``` | ||
|
||
where LAMMPS_DIR is the directory with the LAMMPS source. | ||
This will make the lammps library of PROPhet, and attempt | ||
to insert it into the LAMMPS package system. The LAMMPS | ||
code must be relinked after completion to link in the | ||
PROPhet library. If automatic instalation fails, the | ||
library can be inserted into LAMMPS by following the | ||
instructions given in the [documentation](http:/biklooost.github.io/PROPhet/doc/PROPhet_documentation.pdf#page=6). | ||
|
||
### Usage Instructions | ||
--- | ||
Usage instructions including a tutorial can be found in the [documentation](http://biklooost.github.io/PROPhet/doc/PROPhet_documentation.pdf#page=8), | ||
and by looking in the [doc/tutorial](https://github.com/biklooost/PROPhet/tree/master/doc/tutorial) directory. A fully | ||
annotated input_file is also included in the | ||
[doc](https://github.com/biklooost/PROPhet/tree/master/doc) directory. | ||
|
Empty file.
Binary file not shown.
Oops, something went wrong.