desc.equilibrium.Equilibrium.solve
- Equilibrium.solve(objective='force', constraints=None, optimizer='lsq-exact', ftol=None, xtol=None, gtol=None, maxiter=None, x_scale='auto', options=None, verbose=1, copy=False)Source
Solve to find the equilibrium configuration.
- Parameters:
objective ({"force", "forces", "energy"}) – Objective function to solve. Default = force balance on unified grid.
constraints (Tuple) – set of constraints to enforce. Default = fixed boundary/profiles
optimizer (str or Optimizer (optional)) – optimizer to use
ftol (float) – stopping tolerances. None will use defaults for given optimizer.
xtol (float) – stopping tolerances. None will use defaults for given optimizer.
gtol (float) – stopping tolerances. None will use defaults for given optimizer.
maxiter (int) – Maximum number of solver steps.
x_scale (array_like or
'auto'
, optional) – Characteristic scale of each variable. Settingx_scale
is equivalent to reformulating the problem in scaled variablesxs = x / x_scale
. An alternative view is that the size of a trust region along jth dimension is proportional tox_scale[j]
. Improved convergence may be achieved by settingx_scale
such that a step of a given size along any of the scaled variables has a similar effect on the cost function. If set to'auto'
, the scale is iteratively updated using the inverse norms of the columns of the Jacobian or Hessian matrix.options (dict) – Dictionary of additional options to pass to optimizer.
verbose (int) – Level of output.
copy (bool) – Whether to return the current equilibrium or a copy (leaving the original unchanged).
- Returns:
eq (Equilibrium) – Either this equilibrium or a copy, depending on “copy” argument.
result (OptimizeResult) – The optimization result represented as a
OptimizeResult
object. Important attributes are:x
the solution array,success
a Boolean flag indicating if the optimizer exited successfully andmessage
which describes the cause of the termination. See OptimizeResult for a description of other attributes.