DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
|
abstract base class for dft More...
#include <dftBase.h>
Public Member Functions | |
virtual | ~dftBase () |
This is required to correctly delete the derived class object through the base class ptr. | |
virtual void | set ()=0 |
virtual void | init ()=0 |
virtual void | run ()=0 |
virtual void | writeMesh ()=0 |
virtual void | updateAtomPositionsAndMoveMesh (const std::vector< dealii::Tensor< 1, 3, double > > &globalAtomsDisplacements, const double maxJacobianRatioFactor=1.25, const bool useSingleAtomSolutionsOverride=false)=0 |
virtual void | deformDomain (const dealii::Tensor< 2, 3, double > &deformationGradient, const bool vselfPerturbationUpdateForStress=false, const bool useSingleAtomSolutionsInitialGuess=false, const bool print=true)=0 |
Deforms the domain by the given deformation gradient and reinitializes the dftClass datastructures. | |
virtual std::tuple< bool, double > | solve (const bool computeForces=true, const bool computeStress=true, const bool isRestartGroundStateCalcFromChk=false)=0 |
virtual void | computeStress ()=0 |
virtual void | trivialSolveForStress ()=0 |
virtual double | getInternalEnergy () const =0 |
virtual double | getEntropicEnergy () const =0 |
virtual double | getFreeEnergy () const =0 |
virtual const distributedCPUVec< double > & | getRhoNodalOut () const =0 |
virtual const distributedCPUVec< double > & | getRhoNodalSplitOut () const =0 |
virtual double | getTotalChargeforRhoSplit ()=0 |
virtual void | resetRhoNodalIn (distributedCPUVec< double > &OutDensity)=0 |
virtual void | resetRhoNodalSplitIn (distributedCPUVec< double > &OutDensity)=0 |
virtual const std::vector< std::vector< double > > & | getAtomLocationsCart () const =0 |
Gets the current atom Locations in cartesian form (origin at center of domain) from dftClass. | |
virtual const std::vector< std::vector< double > > & | getImageAtomLocationsCart () const =0 |
Gets the current image atom Locations in cartesian form (origin at center of domain) from dftClass. | |
virtual const std::vector< int > & | getImageAtomIDs () const =0 |
Gets the current image atom ids from dftClass. | |
virtual const std::vector< std::vector< double > > & | getAtomLocationsFrac () const =0 |
Gets the current atom Locations in fractional form from dftClass (only applicable for periodic and semi-periodic BCs) | |
virtual const std::vector< std::vector< double > > & | getCell () const =0 |
Gets the current cell lattice vectors. | |
virtual double | getCellVolume () const =0 |
Gets the current cell volume. | |
virtual const std::set< unsigned int > & | getAtomTypes () const =0 |
Gets the current atom types from dftClass. | |
virtual const std::vector< double > & | getForceonAtoms () const =0 |
Gets the current atomic forces (configurational forces) from dftClass. | |
virtual const dealii::Tensor< 2, 3, double > & | getCellStress () const =0 |
Gets the current cell stress from dftClass. | |
virtual dftParameters & | getParametersObject () const =0 |
Get reference to dftParameters object. | |
virtual void | writeDomainAndAtomCoordinates ()=0 |
writes the current domain bounding vectors and atom coordinates to files, which are required for geometry relaxation restart | |
virtual void | writeDomainAndAtomCoordinates (const std::string Path) const =0 |
writes the current domain bounding vectors and atom coordinates to files for structural optimization and dynamics restarts. The coordinates are stored as: 1. fractional for semi-periodic/periodic 2. Cartesian for non-periodic. | |
virtual void | writeStructureEnergyForcesDataPostProcess (const std::string Path) const =0 |
writes atomistics data for subsequent post-processing. Related to WRITE STRUCTURE ENERGY FORCES DATA POST PROCESS input parameter. | |
virtual void | writeGSElectronDensity (const std::string Path) const =0 |
writes quadrature grid information and associated spin-up and spin-down electron-density for post-processing | |
virtual const MPI_Comm & | getMPIDomain () const =0 |
virtual const MPI_Comm & | getMPIParent () const =0 |
virtual const MPI_Comm & | getMPIInterPool () const =0 |
virtual const MPI_Comm & | getMPIInterBand () const =0 |
abstract base class for dft
|
inlinevirtual |
This is required to correctly delete the derived class object through the base class ptr.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Deforms the domain by the given deformation gradient and reinitializes the dftClass datastructures.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current atom Locations in cartesian form (origin at center of domain) from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current atom Locations in fractional form from dftClass (only applicable for periodic and semi-periodic BCs)
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current atom types from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current cell lattice vectors.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current cell stress from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current cell volume.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current atomic forces (configurational forces) from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current image atom ids from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Gets the current image atom Locations in cartesian form (origin at center of domain) from dftClass.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Get reference to dftParameters object.
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
writes the current domain bounding vectors and atom coordinates to files, which are required for geometry relaxation restart
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
writes the current domain bounding vectors and atom coordinates to files for structural optimization and dynamics restarts. The coordinates are stored as: 1. fractional for semi-periodic/periodic 2. Cartesian for non-periodic.
[in] | Path | The folder path to store the atom coordinates required during restart. |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
writes quadrature grid information and associated spin-up and spin-down electron-density for post-processing
[in] | Path | The folder path to store the atomistics data. |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.
|
pure virtual |
writes atomistics data for subsequent post-processing. Related to WRITE STRUCTURE ENERGY FORCES DATA POST PROCESS input parameter.
[in] | Path | The folder path to store the atomistics data. |
Implemented in dftfe::dftClass< FEOrder, FEOrderElectro, memorySpace >.