pybamm.
BaseSolver
(method=None, rtol=1e-06, atol=1e-06, root_method='casadi', root_tol=1e-06, max_steps=1000)[source]¶Solve a discretised model.
Parameters: |
|
---|
calculate_consistent_state
(model, time=0, y0_guess=None, inputs=None)[source]¶Calculate consistent state for the algebraic equations through root-finding
Parameters: |
|
---|---|
Returns: | y0_consistent – Initial conditions that are consistent with the algebraic equations (roots of the algebraic equations) |
Return type: | array-like, same shape as y0_guess |
get_termination_reason
(solution, events)[source]¶Identify the cause for termination. In particular, if the solver terminated due to an event, (try to) pinpoint which event was responsible. Note that the current approach (evaluating all the events and then finding which one is smallest at the final timestep) is pretty crude, but is the easiest one that works for all the different solvers.
Parameters: |
|
---|
set_inputs
(model, ext_and_inputs)[source]¶Set values that are controlled externally, such as external variables and input parameters
Parameters: | ext_and_inputs (dict) – Any external variables or input parameters to pass to the model when solving |
---|
set_up
(model, inputs=None)[source]¶Unpack model, perform checks, simplify and calculate jacobian.
Parameters: |
|
---|
solve
(model, t_eval, external_variables=None, inputs=None)[source]¶Execute the solver setup and calculate the solution of the model at specified times.
Parameters: |
|
---|---|
Raises: |
|
step
(old_solution, model, dt, npts=2, external_variables=None, inputs=None, save=True)[source]¶Step the solution of the model forward by a given time increment. The first time this method is called it executes the necessary setup by calling self.set_up(model).
Parameters: |
|
---|---|
Raises: |
|