sfepy.solvers.solvers module

Base (abstract) solver classes.

class sfepy.solvers.solvers.EigenvalueSolver(conf, mtx_a=None, mtx_b=None, n_eigs=None, eigenvectors=None, status=None)[source]

Abstract eigenvalue solver class.

class sfepy.solvers.solvers.LinearSolver(conf, mtx=None, status=None, **kwargs)[source]

Abstract linear solver class.

get_tolerance()[source]

Return tuple (eps_a, eps_r) of absolute and relative tolerance settings. Either value can be None, meaning that the solver does not use that setting.

class sfepy.solvers.solvers.NonlinearSolver(conf, fun=None, fun_grad=None, lin_solver=None, iter_hook=None, status=None, **kwargs)[source]

Abstract nonlinear solver class.

class sfepy.solvers.solvers.OptimizationSolver(conf, obj_fun=None, obj_fun_grad=None, status=None, obj_args=None, **kwargs)[source]

Abstract optimization solver class.

class sfepy.solvers.solvers.Solver(conf=None, **kwargs)[source]

Base class for all solver kinds. Takes care of processing of common configuration options.

The factory method any_from_conf() can be used to create an instance of any subclass.

The subclasses have to reimplement __init__() and __call__(). The subclasses that implement process_conf() have to call Solver.process_conf().

All solvers use the following configuration parameters:

Parameters:

name : str

The name referred to in problem description options.

kind : str

The solver kind, as given by the name class attribute of the Solver subclasses.

verbose : bool

If True, the solver can print more information about the solution.

static any_from_conf(conf, **kwargs)

Create an instance of a solver class according to the configuration.

static process_conf(conf, kwargs=None)[source]

Ensures conf contains ‘name’ and ‘kind’.

class sfepy.solvers.solvers.TimeSteppingSolver(conf, **kwargs)[source]

Abstract time stepping solver class.

sfepy.solvers.solvers.make_get_conf(conf, kwargs)[source]