SDC Solver Factory (sdc_solver_factory)

pypint.utilities.sdc_solver_factory.sdc_solver_factory(problem, num_solvers, num_total_time_steps, solver_core, **solver_options)[source]

Factory function for Parallel SDC with Forward Sending Messaging

This function creates, initializes and executes one or more SDC solvers in parallel for a given problem. The number of solver instances and total number of time steps can be specified as well as the type of SDC core.

Parameters:
  • problem (IInitialValueProblem) – the initial value problem to create the solvers for
  • num_solvers (int) – number of parallel solvers to be created
  • num_total_time_steps (int) – total number of time steps for the whole interval defined by the problem
  • solver_core (SdcSolverCore) – type of the SDC solver core
  • solver_options (dict) – options to be passed as it to the solver instantiation (see ParallelSDC.__init__() for details)
Returns:

solvers

Return type:

list of ParallelSDC

Raises:

ValueError

  • if problem is not an IInitialValueProblem
  • if num_solvers is not an int or not larger zero
  • if num_total_time_steps is smaller than num_solvers
  • if solver_options is not a dict
  • if the interval width per solver core is invalid (i.e. not non-zero possitive or larger the problem width)