Coverage for pySDC/projects/parallelSDC/linearized_implicit_fixed_parallel_prec.py: 90%
10 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-04 15:08 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-04 15:08 +0000
1import numpy as np
3from pySDC.projects.parallelSDC.linearized_implicit_fixed_parallel import linearized_implicit_fixed_parallel
6class linearized_implicit_fixed_parallel_prec(linearized_implicit_fixed_parallel):
7 """
8 Custom sweeper class, implements Sweeper.py
10 Attributes:
11 D: eigenvalues of the QI
12 """
14 def __init__(self, params, level):
15 """
16 Initialization routine for the custom sweeper
18 Args:
19 params: parameters for the sweeper
20 level (pySDC.Level.level): the level that uses this sweeper
21 """
23 if 'fixed_time_in_jacobian' not in params:
24 params['fixed_time_in_jacobian'] = 0
26 super().__init__(params, level)
28 assert self.params.fixed_time_in_jacobian in range(self.coll.num_nodes + 1), (
29 "ERROR: fixed_time_in_jacobian is too small or too large, got %s" % self.params.fixed_time_in_jacobian
30 )
32 self.D, self.V = np.linalg.eig(self.QI[1:, 1:])
33 self.Vi = np.linalg.inv(self.V)