desc.continuation.solve_continuation
- desc.continuation.solve_continuation(eqfam, objective='force', optimizer='lsq-exact', pert_order=2, ftol=None, xtol=None, gtol=None, nfev=100, verbose=1, checkpoint_path=None)[source]
Solve for an equilibrium by continuation method.
Steps through an EquilibriaFamily, solving each equilibrium, and uses pertubations to step between different profiles/boundaries.
Uses the previous step as an initial guess for each solution.
- Parameters:
eqfam (EquilibriaFamily or list of Equilibria) – Equilibria to solve for at each step.
objective ({"force", "energy", "vacuum"}) – function to solve for equilibrium solution
optimizer (str or Optimzer (optional)) – optimizer to use
pert_order (int or array of int) – order of perturbations to use. If array-like, should be same length as eqfam to specify different values for each step.
ftol (float or array-like of float) – stopping tolerances for subproblem at each step. None will use defaults for given optimizer.
xtol (float or array-like of float) – stopping tolerances for subproblem at each step. None will use defaults for given optimizer.
gtol (float or array-like of float) – stopping tolerances for subproblem at each step. None will use defaults for given optimizer.
nfev (int or array-like of int) – maximum number of function evaluations in each equilibrium subproblem.
verbose (integer) –
0: no output
1: summary of each iteration
2: as above plus timing information
3: as above plus detailed solver output
checkpoint_path (str or path-like) – file to save checkpoint data (Default value = None)
- Returns:
eqfam (EquilibriaFamily) – family of equilibria for the intermediate steps, where the last member is the final desired configuration,