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)