#include <driver.h>
|
| | Driver () |
| |
| | ~Driver () |
| |
| void | init () |
| | An interface function. This function calls "this->reading()", "this->atomic_world()" in order.
|
| |
|
| void | print_start_info () |
| | Print the start information.
|
| |
| void | reading () |
| | Reading the parameters and split the MPI world. This function read the parameter in "INPUT", "STRU" etc, and split the MPI world into different groups.
|
| |
| void | atomic_world () |
| | An interface function. This function calls "this->driver_run()" to do calculation, and log the time and memory consumed during calculation.
|
| |
| void | driver_run () |
| | This is the driver function which defines the workflow of ABACUS calculations. It relies on the class Esolver, which is a class that organizes workflows of single point calculations.
|
| |
| void | init_hardware () |
| |
| void | finalize_hardware () |
| |
◆ Driver()
◆ ~Driver()
◆ atomic_world()
| void Driver::atomic_world |
( |
| ) |
|
|
private |
An interface function. This function calls "this->driver_run()" to do calculation, and log the time and memory consumed during calculation.
◆ driver_run()
| void Driver::driver_run |
( |
| ) |
|
|
private |
This is the driver function which defines the workflow of ABACUS calculations. It relies on the class Esolver, which is a class that organizes workflows of single point calculations.
For calculations involving change of configuration (lattice parameter & ionic motion), this driver calls Esolver::Run and the configuration-changing subroutine in a alternating manner.
Information is passed between the two subroutines by class UnitCell
Esolver::Run takes in a configuration and provides force and stress, the configuration-changing subroutine takes force and stress and updates the configuration
1: setup cell and atom information
2: initialize the ESolver (depends on a set-up ucell after setup_cell)
3: initialize Esolver and fill json-structure
4: different types of calculations
5: clean up esolver
6: output the json file
◆ finalize_hardware()
| void Driver::finalize_hardware |
( |
| ) |
|
|
private |
◆ init()
An interface function. This function calls "this->reading()", "this->atomic_world()" in order.
◆ init_hardware()
| void Driver::init_hardware |
( |
| ) |
|
|
private |
◆ print_start_info()
| void Driver::print_start_info |
( |
| ) |
|
|
private |
Print the start information.
◆ reading()
Reading the parameters and split the MPI world. This function read the parameter in "INPUT", "STRU" etc, and split the MPI world into different groups.
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_main/driver.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_main/driver.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_main/driver_run.cpp