41 const MPI_Comm &mpi_comm_parent,
42 const bool restart =
false);
49 init(
const std::string &restartPath);
96 const bool computeStress =
true,
97 const bool useSingleAtomSolutionsInitialGuess =
false);
118 value(std::vector<double> &functionValue);
129 std::vector<dftfe::uInt>
abstract base class for dft
Definition dftBase.h:34
bool d_solverRestart
Definition geoOptCell.h:142
void solution(std::vector< double > &solution)
Not implemented.
double d_domainVolumeInitial
Definition geoOptCell.h:147
bool d_isScfRestart
Definition geoOptCell.h:143
void value(std::vector< double > &functionValue)
Not implemented.
dftfe::Int run()
calls the cell stress relaxation solver.
dftBase * d_dftPtr
pointer to dft class
Definition geoOptCell.h:152
dftfe::uInt getNumberUnknowns() const
Obtain number of unknowns (depends on the stress relaxation constraint type).
const dftfe::uInt n_mpi_processes
Definition geoOptCell.h:157
dftfe::Int d_solver
Definition geoOptCell.h:144
std::string d_solverRestartPath
Definition geoOptCell.h:140
bool d_isRestart
Definition geoOptCell.h:141
bool isConverged() const
check for convergence.
void save()
create checkpoint file for current domain bounding vectors and atomic coordinates.
dealii::Tensor< 2, 3, double > d_strainEpsilon
current strain tensor applied on the domain
Definition geoOptCell.h:149
geoOptCell(dftBase *dftPtr, const MPI_Comm &mpi_comm_parent, const bool restart=false)
Constructor.
dealii::ConditionalOStream pcout
conditional stream object
Definition geoOptCell.h:161
const MPI_Comm & getMPICommunicator()
get MPI communicator.
std::string d_restartPath
Definition geoOptCell.h:139
dftfe::Int d_totalUpdateCalls
total number of calls to update()
Definition geoOptCell.h:146
std::vector< dftfe::uInt > d_relaxationFlags
Definition geoOptCell.h:137
void precondition(std::vector< double > &s, const std::vector< double > &gradient)
Not implemented.
std::vector< dftfe::uInt > getUnknownCountFlag() const
Not implemented.
void writeMesh(std::string meshFileName)
writes the current fem mesh.
std::unique_ptr< nonLinearSolver > d_nonLinearSolverPtr
Definition geoOptCell.h:153
const MPI_Comm mpi_communicator
parallel communication objects
Definition geoOptCell.h:156
void gradient(std::vector< double > &gradient)
Compute function gradient (stress).
void init(const std::string &restartPath)
initializes the data member d_relaxationFlags.
const dftfe::uInt this_mpi_process
Definition geoOptCell.h:158
void update(const std::vector< double > &solution, const bool computeStress=true, const bool useSingleAtomSolutionsInitialGuess=false)
Update the strain tensor epsilon.
nonlinearSolverProblem()
Constructor.
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
std::int32_t Int
Definition TypeConfig.h:11