|
| LatticeMinimizer (Everything &) |
|
void | step (const matrix3<> &dir, double alpha) |
| Move the state in parameter space along direction dir with scale alpha.
|
|
double | compute (matrix3<> *grad) |
| Returns the objective function at the current state and store the gradient in grad, if non-null.
|
|
matrix3 | precondition (const matrix3<> &grad) |
|
bool | report (int iter) |
|
void | constrain (matrix3<> &) |
|
double | sync (double x) const |
| All processes minimize together; make sure scalars are in sync to round-off error.
|
|
std::vector< double > | calculateStress () |
| Calculates the stresses along the strain directions.
|
|
void | restore () |
| Restores the lattice to the original state (i.e. strain=0)
|
|
double | minimize (const MinimizeParams ¶ms) |
| Minimize this objective function with algorithm controlled by params and return the minimized value.
|
|
void | fdTest (const MinimizeParams ¶ms) |
|
void LatticeMinimizer::constrain |
( |
matrix3<> & |
| ) |
|
|
virtual |
Constrain an arbitrary vector to the space of free directions for minimize. Used only to generate a random direction for fdTest within the valid minimization subspace.
Reimplemented from Minimizable< matrix3<> >.
Override to enable preconditioning: return the preconditioned gradient, given the gradient The last call to compute() is guaranteed to be at the same position, so a cached result may be returned
Reimplemented from Minimizable< matrix3<> >.
bool LatticeMinimizer::report |
( |
int |
iter | ) |
|
|
virtual |
Override for optional processing/reporting after each/every few iterations It should return whether the state was modified
Reimplemented from Minimizable< matrix3<> >.
std::vector<matrix3<> > LatticeMinimizer::strainBasis |
Set of independent directions in the space of all allowed strains. Their span is consistent with symmetries and truncation (if any).
The documentation for this class was generated from the following file: